一種存儲(chǔ)資源均衡方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種存儲(chǔ)資源均衡方法及裝置。
【背景技術(shù)】
[0002]隨著數(shù)據(jù)中心的規(guī)模和功能日趨復(fù)雜,如何能夠充分挖掘現(xiàn)有的資源以適應(yīng)更高的業(yè)務(wù)需求,成為企業(yè)數(shù)據(jù)中心的重要任務(wù)。目前的虛擬化平臺(tái)可實(shí)現(xiàn)存儲(chǔ)虛擬化,即將物理存儲(chǔ)資源虛擬成一個(gè)個(gè)“存儲(chǔ)池”,其中每個(gè)存儲(chǔ)池可服務(wù)于多個(gè)虛擬機(jī),從而來(lái)提高存儲(chǔ)資源的整體利用率,同時(shí)降低了管理成本。
[0003]現(xiàn)有技術(shù)中,虛擬化平臺(tái)中的控制器通常按照管理員制定的管理策略來(lái)為虛擬機(jī)分配指定的存儲(chǔ)池。當(dāng)由于某個(gè)存儲(chǔ)池同時(shí)為多個(gè)虛擬機(jī)提供服務(wù),或者該存儲(chǔ)池中的某個(gè)虛擬機(jī)存儲(chǔ)的數(shù)據(jù)量過(guò)大,導(dǎo)致該存儲(chǔ)池的可用存儲(chǔ)空間不能保證虛擬機(jī)正常運(yùn)行時(shí),該存儲(chǔ)池中的部分虛擬機(jī)會(huì)被暫停存儲(chǔ),從而會(huì)造成部分虛擬機(jī)的業(yè)務(wù)中斷。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種存儲(chǔ)資源均衡方法及裝置來(lái)解決虛擬化平臺(tái)中因存儲(chǔ)池可用存儲(chǔ)空間不足造成的虛擬機(jī)業(yè)務(wù)中斷的問(wèn)題。
[0005]具體地,本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
[0006]一種存儲(chǔ)資源均衡方法,所述方法應(yīng)用于虛擬化平臺(tái)中的控制器,所述虛擬化平臺(tái)連接多個(gè)存儲(chǔ)池,每個(gè)存儲(chǔ)池中部署一個(gè)或多個(gè)虛擬機(jī),所述方法包括:
[0007]檢測(cè)所述虛擬化平臺(tái)連接的存儲(chǔ)池的存儲(chǔ)狀態(tài);
[0008]根據(jù)存儲(chǔ)池的存儲(chǔ)狀態(tài)確定存儲(chǔ)池屬于待迀移隊(duì)列或目標(biāo)隊(duì)列;
[0009]將所述待迀移隊(duì)列中的存儲(chǔ)池中部署的虛擬機(jī)向所述目標(biāo)隊(duì)列中的存儲(chǔ)池迀移。
[0010]進(jìn)一步的,所述根據(jù)存儲(chǔ)池的存儲(chǔ)狀態(tài)確定存儲(chǔ)池屬于待迀移隊(duì)列或目標(biāo)隊(duì)列,包括:
[0011]當(dāng)存儲(chǔ)池的可用空間小于第一預(yù)設(shè)閾值時(shí),確定所述存儲(chǔ)池屬于待迀移隊(duì)列;
[0012]當(dāng)存儲(chǔ)池的可用空間大于等于第二預(yù)設(shè)閾值時(shí),確定所述存儲(chǔ)池屬于目標(biāo)隊(duì)列。
[0013]進(jìn)一步的,所述將所述待迀移隊(duì)列中的存儲(chǔ)池上部署的虛擬機(jī)向所述目標(biāo)隊(duì)列中的存儲(chǔ)池迀移,包括:
[0014]按照預(yù)設(shè)策略排列所述待迀移隊(duì)列中所有虛擬機(jī)的迀移順序;
[0015]根據(jù)所述迀移順序?qū)⑺龃|移隊(duì)列中的虛擬機(jī)迀移到所述目標(biāo)隊(duì)列中的存儲(chǔ)池。
[0016]進(jìn)一步的,所述按照預(yù)設(shè)策略排列所述待迀移隊(duì)列中所有虛擬機(jī)的迀移順序,包括:
[0017]優(yōu)先迀移在所述待迀移隊(duì)列中處于離線狀態(tài)的虛擬機(jī)和/或優(yōu)先迀移在所述待迀移隊(duì)列中存儲(chǔ)空間最大的虛擬機(jī);
[0018]所述根據(jù)所述迀移順序?qū)⑺龃|移隊(duì)列中的虛擬機(jī)迀移到所述目標(biāo)隊(duì)列中的存儲(chǔ)池,包括:
[0019]根據(jù)存儲(chǔ)池的優(yōu)先級(jí)和/或可用空間排列所述目標(biāo)隊(duì)列中存儲(chǔ)池的接收順序,根據(jù)所述迀移順序和所述接收順序?qū)⑺龃|移隊(duì)列中的虛擬機(jī)迀移到所述目標(biāo)隊(duì)列中的存儲(chǔ)池。
[0020]進(jìn)一步的,所述方法還包括:
[0021]在可用空間大于等于第三預(yù)設(shè)閾值的存儲(chǔ)池中,查找處于暫停狀態(tài)的虛擬機(jī);
[0022]當(dāng)確定所述處于暫停狀態(tài)的虛擬機(jī)的暫停原因是無(wú)可用空間時(shí),將所述暫停狀態(tài)的虛擬機(jī)恢復(fù)運(yùn)行。
[0023]基于相同的構(gòu)思,本發(fā)明還提供一種存儲(chǔ)資源均衡裝置,所述裝置應(yīng)用于虛擬化平臺(tái)中的控制器,所述虛擬化平臺(tái)連接多個(gè)存儲(chǔ)池,每個(gè)存儲(chǔ)池中部署一個(gè)或多個(gè)虛擬機(jī),所述裝置包括:
[0024]狀態(tài)檢測(cè)單元,用于檢測(cè)所述虛擬化平臺(tái)連接的存儲(chǔ)池的存儲(chǔ)狀態(tài);
[0025]隊(duì)列劃分單元,用于根據(jù)存儲(chǔ)池的存儲(chǔ)狀態(tài)確定存儲(chǔ)池屬于待迀移隊(duì)列或目標(biāo)隊(duì)列;
[0026]虛擬機(jī)迀移單元,用于將所述待迀移隊(duì)列中的存儲(chǔ)池中部署的虛擬機(jī)向所述目標(biāo)隊(duì)列中的存儲(chǔ)池迀移。
[0027]進(jìn)一步的,所述隊(duì)列劃分單元,具體用于:
[0028]在存儲(chǔ)池的可用空間小于第一預(yù)設(shè)閾值時(shí),確定所述存儲(chǔ)池屬于待迀移隊(duì)列;
[0029]在存儲(chǔ)池的可用空間大于等于第二預(yù)設(shè)閾值時(shí),確定所述存儲(chǔ)池屬于目標(biāo)隊(duì)列。
[0030]進(jìn)一步的,所述虛擬機(jī)迀移單元,包括:
[0031]排序子單元,用于按照預(yù)設(shè)策略排列所述待迀移隊(duì)列中所有虛擬機(jī)的迀移順序;
[0032]迀移子單元,用于根據(jù)所述迀移順序?qū)⑺龃|移隊(duì)列中的虛擬機(jī)迀移到所述目標(biāo)隊(duì)列中的存儲(chǔ)池。
[0033]進(jìn)一步的,所述排序子單元,具體用于優(yōu)先迀移在所述待迀移隊(duì)列中處于離線狀態(tài)的虛擬機(jī)和/或優(yōu)先迀移在所述待迀移隊(duì)列中存儲(chǔ)空間最大的虛擬機(jī);
[0034]所述迀移子單元,具體用于根據(jù)存儲(chǔ)池的優(yōu)先級(jí)和/或可用空間排列所述目標(biāo)隊(duì)列中存儲(chǔ)池的接收順序,根據(jù)所述迀移順序和所述接收順序?qū)⑺龃|移隊(duì)列中的虛擬機(jī)迀移到所述目標(biāo)隊(duì)列中的存儲(chǔ)池。
[0035]進(jìn)一步的,所述裝置還包括:
[0036]狀態(tài)恢復(fù)單元,用于在可用空間大于等于第三預(yù)設(shè)閾值的存儲(chǔ)池中,查找處于暫停狀態(tài)的虛擬機(jī),當(dāng)確定所述處于暫停狀態(tài)的虛擬機(jī)的暫停原因是無(wú)可用空間時(shí),將所述暫停狀態(tài)的虛擬機(jī)恢復(fù)運(yùn)行。
[0037]由此可見(jiàn),本發(fā)明的虛擬化平臺(tái)可通過(guò)控制器檢測(cè)所述虛擬化平臺(tái)連接的存儲(chǔ)池的存儲(chǔ)狀態(tài),并根據(jù)存儲(chǔ)狀態(tài)確定存儲(chǔ)池屬于待迀移隊(duì)列或目標(biāo)隊(duì)列,然后將待迀移隊(duì)列中的存儲(chǔ)池中部署的虛擬機(jī)向目標(biāo)隊(duì)列中的存儲(chǔ)池迀移,從而實(shí)現(xiàn)虛擬化平臺(tái)中存儲(chǔ)資源的自動(dòng)均衡,進(jìn)而保證存儲(chǔ)池具有可用存儲(chǔ)空間,因此可避免虛擬機(jī)業(yè)務(wù)中斷的情況。
【附圖說(shuō)明】
[0038]圖1是本發(fā)明一種示例性實(shí)施方式中的存儲(chǔ)系統(tǒng)架構(gòu)圖;
[0039]圖2是本發(fā)明一種示例性實(shí)施方式中的一種存儲(chǔ)資源均衡方法的處理流程圖;
[0040]圖3是本發(fā)明一種示例性實(shí)施方式中的另一種存儲(chǔ)資源均衡方法的處理流程圖;
[0041]圖4a是本發(fā)明一種示例性實(shí)施方式中迀移前的存儲(chǔ)池狀態(tài)示意圖;
[0042]圖4b是本發(fā)明一種示例性實(shí)施方式中迀移后的存儲(chǔ)池狀態(tài)示意圖;
[0043]圖5是本發(fā)明一種示例性實(shí)施方式中存儲(chǔ)資源均衡裝置所在的控制器的硬件結(jié)構(gòu)圖;
[0044]圖6是本發(fā)明一種示例性實(shí)施方式中的一種存儲(chǔ)資源均衡裝置的邏輯結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0045]請(qǐng)參見(jiàn)圖1,是本發(fā)明一種示例性實(shí)施方式中的存儲(chǔ)系統(tǒng)架構(gòu)圖,該存儲(chǔ)系統(tǒng)可搭建在物理服務(wù)器集群上,該系統(tǒng)包括虛擬化平臺(tái)及虛擬的存儲(chǔ)池群。所述虛擬化平臺(tái)安裝于所述物理服務(wù)器上,負(fù)責(zé)實(shí)現(xiàn)對(duì)物理服務(wù)器的硬件資源的邏輯封裝。虛擬化平臺(tái)可以將一臺(tái)物理服務(wù)器虛擬化為多個(gè)邏輯的虛擬機(jī);并通過(guò)虛擬化平臺(tái)上的控制器對(duì)虛擬機(jī)進(jìn)行創(chuàng)建、克隆、開(kāi)啟、刪除、暫停、停止等操作,虛擬機(jī)可用于為不同用戶提供服務(wù);所述存儲(chǔ)池群是所有物理存儲(chǔ)資源的集合,通過(guò)虛擬化技術(shù)可將該存儲(chǔ)池群分成一個(gè)個(gè)虛擬的存儲(chǔ)池,用于為所述虛擬機(jī)提供存儲(chǔ)空間,其中每個(gè)存儲(chǔ)池可以為多個(gè)虛擬機(jī)提供服務(wù)。
[0046]所述控制器可以是物理服務(wù)器集群中的一臺(tái)具有管理功能的服務(wù)器。虛擬化平臺(tái)通常是通過(guò)管理員在控制器上寫(xiě)入控制策略來(lái)實(shí)現(xiàn)將虛擬機(jī)分配到存儲(chǔ)池。當(dāng)某存儲(chǔ)池上分配的虛擬機(jī)數(shù)量過(guò)多,或是某臺(tái)虛擬機(jī)占用的存儲(chǔ)空間過(guò)大時(shí),會(huì)使該存儲(chǔ)池的可用空間不足,因而無(wú)法支持部分虛擬機(jī)的正常運(yùn)行,從而導(dǎo)致虛擬機(jī)業(yè)務(wù)中斷。
[0047]為了解決上述問(wèn)題,本發(fā)明的虛擬化平臺(tái)可通過(guò)控制器檢測(cè)虛擬化平臺(tái)連接的存儲(chǔ)池的存儲(chǔ)狀態(tài),并根據(jù)存儲(chǔ)狀態(tài)確定存儲(chǔ)池屬于待迀移隊(duì)列或目標(biāo)隊(duì)列,然后將待迀移隊(duì)列中的存儲(chǔ)池中部署的虛擬機(jī)向目標(biāo)隊(duì)列中的存儲(chǔ)池迀移,從而實(shí)現(xiàn)虛擬化平臺(tái)中存儲(chǔ)資源的自動(dòng)均衡,進(jìn)而保證存儲(chǔ)池具有可用存儲(chǔ)空間,因此可避免虛擬機(jī)業(yè)務(wù)中斷的情況。
[0048]請(qǐng)參考圖2,是本發(fā)明一種示例性實(shí)施方式中的一種存儲(chǔ)資源均衡方法的處理流程圖,該方法應(yīng)用于虛擬化平臺(tái)中的控制器,所述虛擬化平臺(tái)連接多個(gè)存儲(chǔ)池,每個(gè)存儲(chǔ)池中部署一個(gè)或多個(gè)虛擬機(jī),在該虛擬化平臺(tái)中自動(dòng)均衡存儲(chǔ)資源的方法包括:
[0049]步驟201、控制器檢測(cè)所述虛擬化平臺(tái)連接的存儲(chǔ)池的