亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

云硬盤資源的回收方法及相關(guān)裝置與流程

文檔序號(hào):12719452閱讀:289來(lái)源:國(guó)知局
云硬盤資源的回收方法及相關(guān)裝置與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及云硬盤資源的回收方法及相關(guān)裝置。



背景技術(shù):

云平臺(tái)可為用戶提供云計(jì)算、云存儲(chǔ)等基于互聯(lián)網(wǎng)的相關(guān)服務(wù),通常涉及通過(guò)互聯(lián)網(wǎng)來(lái)提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。

云平臺(tái)使用虛擬機(jī)(云服務(wù)器)面向使用者提供服務(wù)。使用者可向云平臺(tái)提交申請(qǐng)創(chuàng)建云服務(wù)器,云平臺(tái)選擇宿主機(jī)(host),在該宿主機(jī)上創(chuàng)建云服務(wù)器,并依據(jù)使用者的需求向后端存儲(chǔ)集群申請(qǐng)創(chuàng)建一個(gè)或多個(gè)云硬盤。

云硬盤是一種基于分布式存儲(chǔ)架構(gòu),可彈性擴(kuò)展的虛擬塊存儲(chǔ)設(shè)備。宿主機(jī)和后端存儲(chǔ)集群可通過(guò)open-iscsi等協(xié)議通訊,將虛擬塊設(shè)備(即云硬盤)映射到宿主機(jī)上。云硬盤映射到宿主機(jī)上,需要向宿主機(jī)申請(qǐng)一定的資源(云硬盤資源),例如盤符、塊設(shè)備號(hào)以及內(nèi)存資源(用于存儲(chǔ)會(huì)話、描述信息等信息)。

在需要回收云硬盤時(shí)(例如使用者對(duì)云服務(wù)器的租用到期,需要回收云服務(wù)器和云硬盤,或者需要恢復(fù)宿主機(jī)環(huán)境),宿主機(jī)可通過(guò)與后端存儲(chǔ)集群之間的通訊,來(lái)分別回收宿主機(jī)側(cè)的云硬盤資源和后端存儲(chǔ)集群側(cè)的云硬盤資源。

但在一些特殊場(chǎng)合下,宿主機(jī)側(cè)的云硬盤資源可能會(huì)回收失敗,原因例如可能是:因宿主機(jī)自身系統(tǒng)原因或網(wǎng)絡(luò)原因?qū)е滤拗鳈C(jī)與后端存儲(chǔ)集群之間的通訊失敗,進(jìn)而導(dǎo)致宿主機(jī)側(cè)的云硬盤資源回收失敗。

這樣,宿主側(cè)本應(yīng)被回收卻未被回收的云硬盤(可稱為殘留云硬盤)對(duì)應(yīng)的云硬盤資源(臟數(shù)據(jù))無(wú)法釋放,將會(huì)占用宿主機(jī)的內(nèi)存。因此,云硬盤資源的回收方式有待優(yōu)化。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供云硬盤資源的回收方法及相關(guān)裝置,以優(yōu)化云硬盤資源的回收方式。

為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:

一種云硬盤資源的回收方法,應(yīng)用于宿主機(jī),所述宿主機(jī)與多個(gè)云硬盤存在映射關(guān)系,所述云硬盤資源回收方法包括:

接收云硬盤回收命令,所述云硬盤回收命令中包含操作方式和操作對(duì)象,所述操作方式用于表征回收云硬盤,所述操作對(duì)象包括需回收的云硬盤的標(biāo)識(shí);

解析所述云硬盤回收命令,獲取所述需回收的云硬盤的標(biāo)識(shí);

判斷是否滿足強(qiáng)制回收條件;

在判定滿足所述強(qiáng)制回收條件時(shí),對(duì)宿主機(jī)側(cè)與所述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

一種云硬盤資源的回收裝置,包括接收單元和強(qiáng)制回收單元,其中:

所述接收單元用于:接收云硬盤回收命令,所述云硬盤回收命令中包含操作方式和操作對(duì)象,所述操作方式用于表征回收云硬盤,所述操作對(duì)象包括需回收的云硬盤的標(biāo)識(shí);

解析所述云硬盤回收命令,獲取所述需回收的云硬盤的標(biāo)識(shí);

所述強(qiáng)制回收單元用于判斷是否滿足強(qiáng)制回收條件;

在判定滿足所述強(qiáng)制回收條件時(shí),對(duì)宿主機(jī)側(cè)與所述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

一種終端,包括上述的回收裝置。

在本發(fā)明實(shí)施例中,在接收云硬盤回收命令(包括需回收的云硬盤的標(biāo)識(shí))后,在判定滿足強(qiáng)制回收條件時(shí),會(huì)對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。上述強(qiáng)制回收過(guò)程不依賴與后端存儲(chǔ)集群的通訊。通過(guò)本發(fā)明實(shí)施例所提供的方案,可提高宿主機(jī)側(cè)云硬盤資源回收的成功率,優(yōu)化了云硬盤資源的回收方式。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1a和1b為本發(fā)明實(shí)施例提供的應(yīng)用場(chǎng)景示例圖;

圖2為本發(fā)明實(shí)施例提供的終端的計(jì)算機(jī)架構(gòu)示例圖;

圖3-圖8為本發(fā)明實(shí)施例提供的回收方法的示例性流程圖;

圖9為本發(fā)明實(shí)施例提供的回收裝置的示例性結(jié)構(gòu)圖。

具體實(shí)施方式

本發(fā)明提供云硬盤資源的回收方法及相關(guān)裝置(例如回收裝置、終端)。

上述回收裝置可以軟件的形式應(yīng)用于上述終端中,或以硬件(例如具體可為終端的控制器/處理器)的形式作為上述宿主機(jī)的組成部分。

當(dāng)以軟件形式存在時(shí),上述回收裝置具體可為一進(jìn)程,也可作為某應(yīng)用程序或操作系統(tǒng)的組件。

圖1a和圖1b示出了上述回收裝置的一種示例性應(yīng)用場(chǎng)景(云平臺(tái)),其可包括多個(gè)作為宿主機(jī)(host)的終端和后端存儲(chǔ)集群。

其中,上述后端存儲(chǔ)集群進(jìn)一步包括至少一個(gè)存儲(chǔ)控制器,存儲(chǔ)控制器可以連接多個(gè)(例如12個(gè))物理磁盤,每一物理磁盤的存儲(chǔ)空間可為2T或者更多。所有與存儲(chǔ)控制器連接的磁盤的存儲(chǔ)資源構(gòu)成一個(gè)存儲(chǔ)池。

存儲(chǔ)控制器主要負(fù)責(zé)計(jì)算和分配存儲(chǔ)池中的存儲(chǔ)資源。

使用者可向云平臺(tái)的云管理模塊(未示出)提交申請(qǐng)創(chuàng)建云服務(wù)器,云管理模塊根據(jù)一定的策略選擇宿主機(jī),在該宿主機(jī)上創(chuàng)建為上述使用者服務(wù)的云服務(wù)器(虛擬機(jī)),每個(gè)虛擬機(jī)都具有處理器、內(nèi)存、網(wǎng)絡(luò)連接和存儲(chǔ),可以運(yùn)行各自的操作系統(tǒng)和應(yīng)用程序。

此外,云管理模塊可向后端存儲(chǔ)集群申請(qǐng)創(chuàng)建一個(gè)或多個(gè)云硬盤。

后端存儲(chǔ)集群中的存儲(chǔ)控制器可通過(guò)open-iscsi等協(xié)議通訊,將虛擬塊設(shè)備(即云硬盤)映射到上述宿主機(jī)上。

open-iscsi屬于端到端的會(huì)話層協(xié)議。open-iscsi協(xié)議通過(guò)登錄(login)過(guò)程創(chuàng)建宿主機(jī)與存儲(chǔ)控制器之間的新會(huì)話或重新創(chuàng)建會(huì)話,一個(gè)云硬盤對(duì)應(yīng)一個(gè)會(huì)話。

云硬盤映射到宿主機(jī)上,需要向宿主機(jī)申請(qǐng)一定的資源(云硬盤資源),例如盤符、塊設(shè)備號(hào)以及內(nèi)存資源(用于存儲(chǔ)會(huì)話、描述信息等信息)。

之后,由宿主機(jī)負(fù)責(zé)分配云硬盤給云服務(wù)器。云硬盤可作為云服務(wù)器的系統(tǒng)盤或數(shù)據(jù)盤:在作為系統(tǒng)盤時(shí),可用于存放虛擬機(jī)的操作系統(tǒng)(guest),在作為數(shù)據(jù)盤時(shí),可用于存放使用者的業(yè)務(wù)數(shù)據(jù)。

此外,仍請(qǐng)參見圖1a,云平臺(tái)還可包括監(jiān)控系統(tǒng)(包括一個(gè)或多個(gè)監(jiān)控服務(wù)器)、遷移系統(tǒng)(可包括一個(gè)或多個(gè)遷移服務(wù)器)和回收系統(tǒng)(可包括一個(gè)或多個(gè)回收服務(wù)器)。其中:

監(jiān)控系統(tǒng)可用于監(jiān)控一個(gè)或多個(gè)宿主機(jī)是否出現(xiàn)故障。在宿主機(jī)出現(xiàn)故障時(shí),通知遷移系統(tǒng)將出現(xiàn)故障的宿主機(jī)上的虛擬機(jī)(即云服務(wù)器)遷移到新宿主機(jī)上。遷移成功,遷移系統(tǒng)可通知回收系統(tǒng)回收原宿主機(jī)上的云服務(wù)器及相關(guān)聯(lián)的云硬盤。

此外,回收系統(tǒng)也可在云服務(wù)器的租用期到期后,回收宿主機(jī)上的云服務(wù)器及相關(guān)聯(lián)的云硬盤(例如,用戶購(gòu)買了一個(gè)月的云服務(wù)器,到一個(gè)月時(shí),需要回收云服務(wù)器和云硬盤),或者,回收系統(tǒng)可在判斷需要恢復(fù)宿主機(jī)環(huán)境時(shí),發(fā)起對(duì)云硬盤的回收。另外,也可人工觸發(fā)回收系統(tǒng)回收云硬盤。

圖2示出了上述宿主機(jī)的一種通用計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。

上述計(jì)算機(jī)系統(tǒng)可包括總線、處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5。處理器1、存儲(chǔ)器2、通信接口3、輸入設(shè)備4和輸出設(shè)備5通過(guò)總線相互連接。其中:

總線可包括一通路,在計(jì)算機(jī)系統(tǒng)各個(gè)掛件之間傳送信息。

處理器1可以是通用處理器,例如通用中央處理器(CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)、微處理器等,也可以是特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),或一個(gè)或多個(gè)用于控制本發(fā)明方案程序執(zhí)行的集成電路。還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。

處理器1可包括主處理器(CPU),還可包括顯卡中的圖形處理器(GPU)等。

處理器1的個(gè)數(shù)可為一個(gè)或多個(gè)。

存儲(chǔ)器2中保存有執(zhí)行本發(fā)明技術(shù)方案的程序,還可以保存有操作系統(tǒng)和其他關(guān)鍵業(yè)務(wù)。具體地,程序可以包括程序代碼,程序代碼包括計(jì)算機(jī)操作指令。更具體的,存儲(chǔ)器2可以包括只讀存儲(chǔ)器(read-only memory,ROM)、可存儲(chǔ)靜態(tài)信息和指令的其他類型的靜態(tài)存儲(chǔ)設(shè)備、隨機(jī)存取存儲(chǔ)器(random access memory,RAM)、可存儲(chǔ)信息和指令的其他類型的動(dòng)態(tài)存儲(chǔ)設(shè)備、磁盤存儲(chǔ)器、flash等等。

輸入設(shè)備4可包括接收用戶輸入的數(shù)據(jù)和信息的裝置,例如鍵盤、鼠標(biāo)、攝像頭、掃描儀、光筆、語(yǔ)音輸入裝置、觸摸屏、計(jì)步器或重力感應(yīng)器等。

輸出設(shè)備5可包括允許輸出信息給用戶的裝置,例如顯示屏、打印機(jī)、揚(yáng)聲器等。

通信接口3可包括使用任何收發(fā)器一類的裝置,以便與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無(wú)線接入網(wǎng)(RAN),無(wú)線局域網(wǎng)(WLAN)等。

處理器1通過(guò)執(zhí)行存儲(chǔ)器2中所存放的程序以及調(diào)用其他設(shè)備,可實(shí)現(xiàn)圖3-圖8所示實(shí)施例提供的回收方法。

前已述及,在現(xiàn)有回收方式中,宿主機(jī)可通過(guò)與后端存儲(chǔ)集群之間的通訊,來(lái)分別回收宿主機(jī)側(cè)的云硬盤資源和后端存儲(chǔ)集群側(cè)的云硬盤資源。

請(qǐng)參見圖3,在現(xiàn)有方式中,如果宿主機(jī)A想要解除云硬盤Y與自身的映射關(guān)系,其需要做如下處理:

S300:接收云硬盤回收命令;

S301:檢查是否滿足卸載條件,若是,進(jìn)入S302,否則進(jìn)入S307;

如下三個(gè)條件(情況)滿足其中一個(gè),都不滿足卸載條件:

(1),正在針對(duì)云硬盤Y執(zhí)行登錄(login)過(guò)程,包括創(chuàng)建新會(huì)話和重新建立會(huì)話;

(2),正在針對(duì)云硬盤Y執(zhí)行登出(logout)過(guò)程;

(3),open-iscsi服務(wù)重啟后,會(huì)依次同步(sync)當(dāng)前已經(jīng)掛載到宿主機(jī)的云硬盤,若正在針對(duì)云硬盤Y執(zhí)行同步過(guò)程,也是不允許卸載的。

S302:向提供虛擬塊設(shè)備(云硬盤Y)的后端存儲(chǔ)集群中的存儲(chǔ)控制器發(fā)送logout命令,通知后端存儲(chǔ)集群即將結(jié)束會(huì)話,準(zhǔn)備在后端存儲(chǔ)集群側(cè)回收云硬盤Y相關(guān)聯(lián)的云硬盤資源;

之后,若后端存儲(chǔ)集群回收成功,則返回表征回收成功的消息,否則返回表征回收失敗的消息。

S303:判斷l(xiāng)ogout命令是否執(zhí)行成功,若是,進(jìn)入S304,否則進(jìn)入S307;

可通過(guò)后端存儲(chǔ)集群返回的消息予以判斷。

S304:回收云硬盤Y掛載時(shí)向宿主機(jī)申請(qǐng)的資源,包括盤符、塊設(shè)備號(hào)、以及維護(hù)會(huì)話和連接等結(jié)構(gòu)的內(nèi)存資源;

S305:判斷是否回收成功,若是,進(jìn)入S306,否則進(jìn)入S307;

各資源都有對(duì)應(yīng)的存儲(chǔ)地址,可通過(guò)訪問(wèn)相應(yīng)的存儲(chǔ)地址,來(lái)判斷是否存儲(chǔ)地址的數(shù)據(jù)已清除或被無(wú)效掉,若已清除或被無(wú)效掉,則判定回收成功,否則判定回收失敗。

S306:云硬盤成功從宿主機(jī)卸載(宿主機(jī)側(cè)的云硬盤資源回收成功);

S307:云硬盤從宿主機(jī)卸載失敗(宿主機(jī)側(cè)的云硬盤資源回收失敗)。

考慮以下特殊情況:

情況一,宿主機(jī)(為便于說(shuō)明,可稱呼其為宿主機(jī)A)無(wú)法與存儲(chǔ)控制器通訊,但此時(shí),需要回收宿主機(jī)上的云服務(wù)器及相關(guān)聯(lián)的云硬盤(為便于說(shuō)明,可稱呼其為云硬盤Y),或需要回收云硬盤Y;

情況二,存儲(chǔ)控制器強(qiáng)制解除宿主機(jī)A與云硬盤Y間的映射關(guān)系。

強(qiáng)制解除的原因可能是:宿主機(jī)A出現(xiàn)故障,遷移系統(tǒng)將云服務(wù)器遷移到新的宿主機(jī)(宿主機(jī)B)上,在遷移成功后,遷移系統(tǒng)通知存儲(chǔ)控制器強(qiáng)制解除宿主機(jī)A與云硬盤Y間的映射關(guān)系;

或者,在無(wú)法與故障的宿主機(jī)A通訊的情況下,存儲(chǔ)控制器強(qiáng)制解除云硬盤Y與宿主機(jī)A間的映射關(guān)系。

無(wú)論出現(xiàn)哪某種情況,從存儲(chǔ)控制器的角度而言,宿主機(jī)A已不具有讀寫云硬盤Y的權(quán)限。但對(duì)于宿主機(jī)A而言,其上還殘留著云硬盤Y的資源信息。

若存儲(chǔ)控制器強(qiáng)制解除宿主機(jī)A與云硬盤Y間的映射關(guān)系后,宿主機(jī)A向存儲(chǔ)控制器發(fā)送logout命令以期望回收云硬盤資源,則由于在存儲(chǔ)控制器側(cè)宿主機(jī)A已不具備讀寫云硬盤Y的權(quán)限,則存儲(chǔ)控制器會(huì)向宿主機(jī)A返回表征回收失敗的消息,在接收到表征回收失敗的消息后,宿主機(jī)A側(cè)的執(zhí)行步驟將跳轉(zhuǎn)至S307,從而無(wú)法完成回收。

或者,在存儲(chǔ)控制器已強(qiáng)制解除云硬盤Y與宿主機(jī)A間的映射關(guān)系后,宿主機(jī)A故障恢復(fù),并重啟了open-iscsi服務(wù),open-iscsi服務(wù)會(huì)同步(sync)當(dāng)前已經(jīng)掛載到宿主機(jī)的磁盤。而由于宿主機(jī)A還殘留著云硬盤Y的資源信息,則也需對(duì)云硬盤Y進(jìn)行同步。當(dāng)然,同步不會(huì)成功,則按照open-iscsi的機(jī)制,會(huì)一直嘗試對(duì)云硬盤Y進(jìn)行同步,這會(huì)導(dǎo)致無(wú)法滿足卸載條件,無(wú)法發(fā)送logout命令,則宿主機(jī)A側(cè)的執(zhí)行步驟也將跳轉(zhuǎn)至S307,同樣無(wú)法完成回收。

此外,需要說(shuō)明的是,除了占用內(nèi)存資源外,殘留云硬盤還可能對(duì)當(dāng)前正常掛載在宿主機(jī)A上的其他云硬盤造成嚴(yán)重影響。這是因?yàn)椋喝魵埩粼朴脖P同步順序排在其他正常掛載的云硬盤之前,則會(huì)因殘留云硬盤無(wú)法完成同步,而導(dǎo)致其他的云硬盤也無(wú)法完成同步。

目前只有通過(guò)重啟宿主機(jī)的方式,才能徹底清除殘留云硬盤。而對(duì)于正運(yùn)行在當(dāng)前宿主機(jī)上的云服務(wù)器,在重啟宿主機(jī)前,要么關(guān)機(jī)停止服務(wù),或者熱遷移到其它宿主機(jī)上,綜合來(lái)看,通過(guò)重啟宿主機(jī)方式來(lái)清除殘留云硬盤的成本太高。

可見,現(xiàn)有云硬盤資源的回收方式需要優(yōu)化。

圖4示出了上述云硬盤資源的回收方法的一種示例性流程,以實(shí)現(xiàn)云硬盤資源回收的優(yōu)化。

圖4所示的方法應(yīng)用于上述提及的領(lǐng)域或應(yīng)用場(chǎng)景(例如圖1a和圖1b)中,由圖2所示的宿主機(jī)中的處理器1與其他部件交互完成。

上述示例性流程包括:

在400部分:接收并解析云硬盤回收命令。

上述云硬盤回收命令可由回收系統(tǒng)發(fā)送。更具體的,回收系統(tǒng)可在遷移系統(tǒng)的通知下發(fā)送云硬盤回收命令。或者,回收系統(tǒng)也可在云服務(wù)器的租用期到期后或判斷需要恢復(fù)宿主機(jī)環(huán)境時(shí)發(fā)送云硬盤回收命令。

上述云硬盤回收命令中可包含操作方式和操作對(duì)象,其中,操作方式用于表征回收云硬盤,而操作對(duì)象包括需回收的云硬盤的標(biāo)識(shí)(ID)。更具體的,云硬盤的ID可為塊設(shè)備號(hào)。

通常,一條命令(指令)中包含操作符和操作數(shù)。操作數(shù)是指令執(zhí)行的參與者,也就是各種操作對(duì)象,與之有關(guān)的是操作符,操作符用于表征計(jì)算機(jī)要執(zhí)行哪種操作,例如傳送、運(yùn)算、移位、跳轉(zhuǎn)等,是指令中不可缺少的組成部分。

相應(yīng)的,上述操作方式可由一個(gè)或多個(gè)操作符來(lái)表征。而云硬盤的標(biāo)識(shí)則是操作數(shù)。

在401部分:判斷是否滿足強(qiáng)制回收條件;若是,進(jìn)入402部分;

更具體的,上述強(qiáng)制回收條件包括:非強(qiáng)制云硬盤回收失敗,卸載條件不滿足,以及,上述操作方式具體用于表征強(qiáng)制回收云硬盤中的至少一種。

其中,當(dāng)下述三種情況中的任一種情況發(fā)生時(shí),判定卸載條件不滿足:

正在針對(duì)上述需回收的云硬盤執(zhí)行登錄操作;

正在針對(duì)上述需回收的云硬盤執(zhí)行登出操作;

正在針對(duì)上述需回收的云硬盤執(zhí)行同步操作。

相關(guān)介紹請(qǐng)參見前述S301的記載,在此不作贅述。

在402部分:對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

以云硬盤Y為例,在滿足強(qiáng)制回收條件時(shí),會(huì)對(duì)其在宿主機(jī)側(cè)的云硬盤資源(盤符、塊設(shè)備號(hào)、以及維護(hù)會(huì)話和連接等結(jié)構(gòu)的內(nèi)存資源)進(jìn)行強(qiáng)制回收。

在一個(gè)示例中,若不滿足強(qiáng)制回收條件,可進(jìn)行非強(qiáng)制云硬盤回收。非強(qiáng)制云硬盤回收可參見現(xiàn)有的回收方式。

需要說(shuō)明的是,在現(xiàn)有的回收方式中,需要宿主機(jī)和后端存儲(chǔ)集群之間進(jìn)行通訊,并在滿足卸載條件時(shí),才可進(jìn)行回收。

而強(qiáng)制回收則可不跟后端存儲(chǔ)集群通訊,甚至不管卸載條件是否滿足,而進(jìn)行回收。

可見,在本發(fā)明實(shí)施例中,在接收云硬盤回收命令(包括需回收的云硬盤的標(biāo)識(shí))后,在判定滿足強(qiáng)制回收條件時(shí),會(huì)對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。上述強(qiáng)制回收過(guò)程不依賴與后端存儲(chǔ)集群的通訊(不必發(fā)送logout命令)。通過(guò)本發(fā)明實(shí)施例所提供的方案,可提高宿主機(jī)側(cè)云硬盤資源回收的成功率,優(yōu)化了云硬盤資源的回收方式。

下面將針對(duì)強(qiáng)制回收條件的不同組合,進(jìn)行更為詳細(xì)的說(shuō)明。

圖5示出了上述云硬盤資源的回收方法的另一種示例性流程,包括:

在500部分:宿主機(jī)(中的處理器1)接收并解析云硬盤回收命令。

在本實(shí)施例中,上述云硬盤回收命令中的操作方式用于表征強(qiáng)制回收云硬盤。

更具體的,可由兩個(gè)操作符來(lái)表征操作方式為強(qiáng)制回收云硬盤,其中一個(gè)操作符用于表征回收,另一個(gè)操作符用于表征類型為強(qiáng)制。

也可以認(rèn)為,接收的是云硬盤強(qiáng)制回收命令。

其他相關(guān)細(xì)節(jié)請(qǐng)參見前述實(shí)施例的400部分,在此不作贅述。

在501部分:宿主機(jī)(中的處理器1)根據(jù)操作方式確定需要強(qiáng)制回收,進(jìn)入502部分;

也即,在本實(shí)施例中,強(qiáng)制回收條件包括:操作方式具體用于表征強(qiáng)制回收云硬盤。

在502部分:宿主機(jī)(中的處理器1)對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

502部分與前述實(shí)施例的402部分相類似,在此不作贅述。

在本發(fā)明實(shí)施例中,在接收到云硬盤強(qiáng)制回收命令(包括云硬盤的標(biāo)識(shí))后,會(huì)直接強(qiáng)制回收宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源。此種方式實(shí)現(xiàn)起來(lái)較為簡(jiǎn)單,效率相對(duì)較高。

圖6示出了云硬盤資源的回收方法的又一種示例性流程,包括:

在600部分:宿主機(jī)(中的處理器1)接收并解析云硬盤回收命令。

600部分與400部分相類似,在此不作贅述。

需要注意的是,在本實(shí)施例中,上述云硬盤回收命令中的操作方式可用于表征強(qiáng)制回收云硬盤或用于表征回收云硬盤。

在601部分:宿主機(jī)(中的處理器1)進(jìn)行非強(qiáng)制云硬盤回收。

也即,在本實(shí)施例中,先進(jìn)行非強(qiáng)制云硬盤回收,后續(xù)可根據(jù)情況進(jìn)行強(qiáng)制云硬盤回收。

非強(qiáng)制云硬盤回收的方式可參見前述的300-307部分,在此不作贅述。

在602部分:宿主機(jī)(中的處理器1)判斷非強(qiáng)制云硬盤回收是否失敗,若是,進(jìn)入603部分。

如何判斷是否回收成功可參見前述305部分的介紹,在此不作贅述。

也即,在本實(shí)施例中,強(qiáng)制回收條件包括:強(qiáng)制云硬盤回收失敗,或者,強(qiáng)制云硬盤回收失敗并且操作方式具體用于表征強(qiáng)制回收云硬盤。

在603部分:宿主機(jī)(中的處理器1)對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

603部分與前述實(shí)施例的402部分、502相同,在此不作贅述。

可見,在本實(shí)施例中,先進(jìn)行非強(qiáng)制云硬盤回收,如果非強(qiáng)制云硬盤回收?qǐng)?zhí)行成功,在宿主機(jī)側(cè)和后端存儲(chǔ)集群都不會(huì)存在臟數(shù)據(jù)信息。若非強(qiáng)制云硬盤回收?qǐng)?zhí)行不成功,則可進(jìn)行強(qiáng)制云硬盤回收,保證宿主機(jī)側(cè)不會(huì)存在臟數(shù)據(jù)信息。

圖7示出了上述云硬盤資源的回收方法的又一種示例性流程,包括:

在700部分:宿主機(jī)(中的處理器1)接收來(lái)自回收系統(tǒng)的第一云硬盤回收命令,并解析。

需要注意的是,在700部分,第一云硬盤回收命令中的操作方式用于表征非強(qiáng)制性回收云硬盤。

其他細(xì)節(jié)請(qǐng)參見本文前述400部分的介紹,在此不作贅述。

在701部分:宿主機(jī)(中的處理器1)進(jìn)行非強(qiáng)制云硬盤回收。

非強(qiáng)制云硬盤回收的方式可參見前述的300-307部分,在此不作贅述。

在702部分:宿主機(jī)(中的處理器1)判斷非強(qiáng)制云硬盤回收是否失敗,若是,進(jìn)入703部分。

如何判斷是否回收成功可參見前述305部分的介紹,在此不作贅述。

在703部分:向回收系統(tǒng)返回表征回收失敗的消息。

當(dāng)然,若在702部分判斷回收成功,則向回收系統(tǒng)返回表征回收成功的消息。

在704部分:宿主機(jī)(中的處理器1)接收來(lái)自回收系統(tǒng)的第二云硬盤回收命令,并解析。

需要注意的是,在704部分,第二云硬盤回收命令中的操作方式用于表征強(qiáng)制性回收云硬盤。

在705部分:宿主機(jī)(中的處理器1)對(duì)宿主機(jī)側(cè)與云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

705部分與前述實(shí)施例的603部分、502部分、402部分相同,在此不作贅述。

在706部分:宿主機(jī)(中的處理器1)判斷強(qiáng)制云硬盤回收是否成功,若是,向回收系統(tǒng)返回表征回收成功的消息,否則,向回收系統(tǒng)返回表征回收失敗的消息。

在本實(shí)施例中,是由回收系統(tǒng)判斷是進(jìn)行非強(qiáng)制回收還是強(qiáng)制回收的,這樣可減輕宿主機(jī)的系統(tǒng)負(fù)擔(dān)。

宿主機(jī)的操作系統(tǒng)一般為L(zhǎng)inux。Linux操作系統(tǒng)分為用戶層和內(nèi)核層,在用戶層為云硬盤分配了內(nèi)存資源,其中,用戶層的內(nèi)存資源主要用于存儲(chǔ)云硬盤的描述信息、會(huì)話信息等;內(nèi)核層為云硬盤分配盤符、塊設(shè)備號(hào),此外,內(nèi)核層也會(huì)保存會(huì)話信息。

open-iscsi服務(wù)在用戶層有兩個(gè)進(jìn)程,一個(gè)是接收管理命令的進(jìn)程(可稱為接收進(jìn)程),可接收選項(xiàng)(即操作符)和參數(shù)(操作數(shù))。也即,接收進(jìn)程是暴露給宿主機(jī)上其他進(jìn)程的接口;另一個(gè)是守護(hù)進(jìn)程iscsid,守護(hù)進(jìn)程為常駐進(jìn)程。

接收進(jìn)程在接收到云硬盤回收命令后,會(huì)通知守護(hù)進(jìn)程iscsid云硬盤的標(biāo)識(shí)和操作符,守護(hù)進(jìn)程可調(diào)用相應(yīng)的代碼進(jìn)行云硬盤資源的回收。

需要說(shuō)明的是,為了實(shí)現(xiàn)強(qiáng)制回收,可在open-iscsi的代碼中添加一段用于強(qiáng)制回收云硬盤資源的代碼。守護(hù)進(jìn)程iscsid可調(diào)用強(qiáng)制回收云硬盤資源的代碼,根據(jù)云硬盤的標(biāo)識(shí)進(jìn)行強(qiáng)制回收。而非強(qiáng)制云硬盤回收是另一段代碼,通過(guò)調(diào)用該段代碼,可執(zhí)行非強(qiáng)制云硬盤回收。

此外,守護(hù)進(jìn)程也可用于判斷是否滿足強(qiáng)制回收條件。

基于上述接收進(jìn)程和守護(hù)進(jìn)程,圖8示出了云硬盤資源的回收方法的又一示例性交互流程,包括:

在800部分:回收系統(tǒng)向宿主機(jī)發(fā)送清除云服務(wù)器和云硬盤的管理命令。

回收系統(tǒng)可在云服務(wù)器的租用期到期后,主動(dòng)向宿主機(jī)發(fā)送清除云服務(wù)器和云硬盤的管理命令。

當(dāng)然,也可人為觸發(fā)回收系統(tǒng)向宿主機(jī)發(fā)送管理命令。

管理命令中可包含操作方式和操作對(duì)象,相關(guān)介紹請(qǐng)參見400部分的介紹,在此不作贅述。

其中,操作對(duì)象包括云服務(wù)器標(biāo)識(shí)和云硬盤的標(biāo)識(shí),云服務(wù)器和云硬盤可對(duì)于一個(gè)操作方式(例如回收),也可對(duì)應(yīng)兩個(gè)操作方式,例如云服務(wù)器標(biāo)識(shí)對(duì)應(yīng)的操作方式為回收,而云硬盤標(biāo)識(shí)對(duì)應(yīng)的操作方式可為強(qiáng)制回收。

在801部分:宿主機(jī)的命令接收進(jìn)程或模塊接收并解析管理命令。

宿主機(jī)有專門的接收命令的進(jìn)程或模塊接收并解析管理命令。

需要注意的是,宿主機(jī)接收命令的進(jìn)程與open-iscsi服務(wù)在用戶層的接收管理命令的進(jìn)程不是同一個(gè)進(jìn)程。

在802部分:宿主機(jī)的管理模塊(具有清除云服務(wù)器功能)清除管理命令中指定的云服務(wù)器。

更具體的,宿主機(jī)接收命令的進(jìn)程或模塊通知宿主機(jī)的管理模塊對(duì)指定的云服務(wù)器進(jìn)行回收,主要是清除為云服務(wù)器分配的各種資源。

在803部分:宿主機(jī)的管理模塊向open-iscsi的接收進(jìn)程發(fā)送云硬盤強(qiáng)制回收命令。

由于本實(shí)施例中,800部分接收并解析的管理命令中,云硬盤標(biāo)識(shí)對(duì)應(yīng)的操作方式為強(qiáng)制回收,因此在803部分,管理模塊向open-iscsi的接收進(jìn)程發(fā)送了云硬盤強(qiáng)制回收命令。

當(dāng)然,也可由宿主機(jī)管理模塊自主決定是發(fā)送云硬盤強(qiáng)制回收命令還是發(fā)送云硬盤非強(qiáng)制回收命令,本發(fā)明不作具體的限定。

云硬盤強(qiáng)制回收命令中的操作方式用于表征強(qiáng)制性回收云硬盤。其他細(xì)節(jié)請(qǐng)參見本文前述400部分的介紹,在此不作贅述。

在804部分:接收進(jìn)程接收到云硬盤強(qiáng)制回收命令后,會(huì)通知守護(hù)進(jìn)程操作方式(強(qiáng)制回收)及云硬盤的標(biāo)識(shí)。

在805部分:守護(hù)進(jìn)程調(diào)用強(qiáng)制回收云硬盤資源的代碼來(lái)清除與上述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的用戶層內(nèi)存資源。

上述用戶層內(nèi)存資源用于存儲(chǔ)與上述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的描述信息。

在806部分:守護(hù)進(jìn)程將云硬盤的標(biāo)識(shí)傳遞至內(nèi)核層,以用于內(nèi)核層清除與上述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的內(nèi)核層內(nèi)存資源。

內(nèi)核層內(nèi)存資源用于存儲(chǔ)上述云硬盤的盤符、塊設(shè)備號(hào)以及會(huì)話信息。

需要說(shuō)明的是,盤符、塊設(shè)備號(hào)等是內(nèi)核層分配給云硬盤的,所以由內(nèi)核層負(fù)責(zé)回收。

在807部分:守護(hù)進(jìn)程判斷強(qiáng)制云硬盤回收是否成功,若是,向宿主機(jī)的管理模塊返回表征回收成功的消息,否則,返回表征回收失敗的消息。

如何判斷是否回收成功可參見前述305部分的介紹,在此不作贅述。

宿主機(jī)的管理模塊再通過(guò)一層層的信息傳遞,最終將表征回收成功的消息或表征回收失敗的消息傳遞給回收系統(tǒng)。

若強(qiáng)制回收不成功,后續(xù)可進(jìn)行人工干預(yù),對(duì)強(qiáng)制回收云硬盤資源的代碼進(jìn)行調(diào)整和測(cè)試。

本發(fā)明實(shí)施例可作為現(xiàn)有云硬盤回收方案的一個(gè)補(bǔ)充,可保證在任何場(chǎng)景下,不需要重啟宿主機(jī),只需調(diào)用一個(gè)封裝好的接口(open-iscsi的接收進(jìn)程)即可強(qiáng)制回收云硬盤資源,保證宿主機(jī)系統(tǒng)運(yùn)行環(huán)境干凈,間接提高了宿主機(jī)運(yùn)營(yíng)服務(wù)能力。

圖9示出了上述回收裝置的一種可能的結(jié)構(gòu)示意圖,包括:接收單元901和強(qiáng)制回收單元902,其中:

接收單元901用于:接收并解析云硬盤回收命令,獲取需回收的云硬盤的標(biāo)識(shí)。

其中,所述云硬盤回收命令中包含操作方式和操作對(duì)象,所述操作方式用于表征回收云硬盤,所述操作對(duì)象包括需回收的云硬盤的標(biāo)識(shí);

強(qiáng)制回收單元902用于判斷是否滿足強(qiáng)制回收條件,并在判定滿足所述強(qiáng)制回收條件時(shí),對(duì)宿主機(jī)側(cè)與所述云硬盤的標(biāo)識(shí)相關(guān)聯(lián)的云硬盤資源進(jìn)行強(qiáng)制回收。

細(xì)節(jié)請(qǐng)參見前述方法部分的介紹,在此不作贅述。

其中,接收單元901可用于執(zhí)行圖3所示實(shí)施例的300部分,圖4所示實(shí)施例的400部分,圖5所示實(shí)施例的500部分,圖6所示實(shí)施例的600部分,圖7所示實(shí)施例的700部分和704部分,以及,圖8所示實(shí)施例的800、801、803部分。

強(qiáng)制回收單元902可用于執(zhí)行圖3所示實(shí)施例的301-307部分,圖4所示實(shí)施例的401-402部分,圖5所示實(shí)施例的501-502部分,圖6所示實(shí)施例的601-603部分,圖7所示實(shí)施例的701-703部分和705-706部分,以及,圖8所示實(shí)施例的802、805-807部分。

本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,之處參見方法部分說(shuō)明即可。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、WD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1