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

一種云環(huán)境下虛擬機(jī)數(shù)據(jù)持久化存儲系統(tǒng)和方法

文檔序號:6397554閱讀:240來源:國知局
專利名稱:一種云環(huán)境下虛擬機(jī)數(shù)據(jù)持久化存儲系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)存儲和管理領(lǐng)域,更具體地,涉及一種云環(huán)境下虛擬機(jī)數(shù)據(jù)持久化存儲系統(tǒng)和方法。
背景技術(shù)
隨著虛擬化技術(shù)的提出和使用,云計(jì)算技術(shù)得到了蓬勃的發(fā)展和廣泛的應(yīng)用。虛擬機(jī)中數(shù)據(jù)存儲和管理也受到了越來越多人的重視和關(guān)注。虛擬化將物理服務(wù)器的CPU、內(nèi)存、存儲和網(wǎng)絡(luò)安全隔離以提高資源的使用率并實(shí)現(xiàn)資源的靈活分配。IaaS平臺正是通過虛擬化技術(shù)將物理資源轉(zhuǎn)化為彈性的虛擬基礎(chǔ)設(shè)施,向上層應(yīng)用提供支撐,并面向用戶提供基礎(chǔ)設(shè)施服務(wù)。虛擬化技術(shù)在云計(jì)算中的應(yīng)用也給虛擬機(jī)中的數(shù)據(jù)存儲帶來了新的問題和挑戰(zhàn)。首先在云環(huán)境下,用戶存儲在虛擬機(jī)中的數(shù)據(jù)并不是持久化的,當(dāng)虛擬機(jī)關(guān)閉或意外宕機(jī)后,用戶保存在虛擬機(jī)中的數(shù)據(jù)將全部丟失;用戶儲存在虛擬機(jī)中的數(shù)據(jù)受限于虛擬機(jī)鏡像的大小,不能滿足用戶對存儲動態(tài)增長的需求;一種改進(jìn)方案是使用增量鏡像,但這不利于數(shù)據(jù)的管理,增量鏡像中的數(shù)據(jù)可能并不全是用戶所需要的;原有的解決方案中數(shù)據(jù)都是與虛擬機(jī)緊密耦合的,數(shù)據(jù)與虛擬機(jī)一一對應(yīng),用戶要獲取數(shù)據(jù)必須先啟動指定的虛擬機(jī),這種耦合不利于數(shù)據(jù)在虛擬機(jī)之間的傳輸,并且大規(guī)模的數(shù)據(jù)傳輸將消耗大量的時(shí)間,降低系統(tǒng)的可用性。

發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法和系統(tǒng),旨在解決現(xiàn)有云計(jì)算系統(tǒng)中用戶數(shù)據(jù)在虛擬機(jī)關(guān)閉后不能持久化存儲的問題,并且該方法數(shù)據(jù)與虛擬機(jī)不是緊密耦合的,簡化了用戶數(shù)據(jù)的管理。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法,包括以下步驟:(I)主節(jié)點(diǎn)接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是創(chuàng)建塊設(shè)備則跳轉(zhuǎn)到步驟(2),如果是對塊設(shè)備進(jìn)行擴(kuò)容則跳轉(zhuǎn)到步驟(5);(2)獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備;(3)存儲節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷;(4)存儲節(jié)點(diǎn)將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用;(5)主節(jié)點(diǎn)根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容;(6)主節(jié)點(diǎn)通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過iSCSI向用戶提供塊設(shè)備。步驟(2)包括以下子步驟:(2-1)主節(jié)點(diǎn)通過Thrift遠(yuǎn)程調(diào)用框架獲取所有存儲節(jié)點(diǎn)的磁盤信息,包括存儲節(jié)點(diǎn)的磁盤剩余空間信息和磁盤IO信息;(2-2)主節(jié)點(diǎn)分析獲取的信息,選擇磁盤剩余空間大于用戶所申請空間的存儲節(jié)點(diǎn),將這些存儲節(jié)點(diǎn)按照磁盤IO從小到大進(jìn)行排序,并選擇磁盤IO最小的節(jié)點(diǎn)創(chuàng)建塊設(shè)備;(2-3)主節(jié)點(diǎn)獲取存儲節(jié)點(diǎn)的返回信息,并判斷返回信息指示創(chuàng)建塊設(shè)備成功還是失敗,若返回信息指示創(chuàng)建塊設(shè)備成功,則過程結(jié)束,若失敗,則進(jìn)入步驟(2-4);(2-4)主節(jié)點(diǎn)將創(chuàng)建失敗寫入日志并重新選擇新的存儲節(jié)點(diǎn),然后跳轉(zhuǎn)到步驟(2-2)。步驟(4)包括以下子步驟:(4-1)存儲節(jié)點(diǎn)將步驟(3)中創(chuàng)建的邏輯卷添加到iSCSI目標(biāo)服務(wù)中;(4-2)根據(jù)調(diào)用者的信息生成MD5,作為用戶使用邏輯卷的密碼;(4-3)設(shè)置虛擬機(jī)訪問塊設(shè)備服務(wù)的用戶名和密碼;(4-4)通過iSCSI將邏輯卷作為塊設(shè)備服務(wù)等待虛擬機(jī)調(diào)用。步驟(6)包括以下子步驟:(6-1)主節(jié)點(diǎn)獲取用戶指定虛擬機(jī)的信息;具體而言包括虛擬機(jī)的ip地址以及虛擬機(jī)所在服務(wù)器的ip地址;(6-2)主節(jié)點(diǎn)調(diào)用虛擬機(jī)中的iSCSI發(fā)起者程序發(fā)現(xiàn)在步驟(4-4)中的存儲節(jié)點(diǎn)所創(chuàng)建的設(shè)備服務(wù);(6-3)虛擬機(jī)根據(jù)步驟(4-2)中的用戶名和信息摘要登錄到塊設(shè)備中。步驟(3)中存儲節(jié)點(diǎn)通過邏輯卷管理器創(chuàng)建由主節(jié)點(diǎn)指定大小的邏輯卷。步驟(4)中的注冊信息包括邏輯卷的路徑,虛擬機(jī)登錄該服務(wù)時(shí)所需的用戶名和密碼。步驟(5)中存儲節(jié)點(diǎn)通過邏輯卷管理器向已創(chuàng)建的塊設(shè)備中追加用戶指定的磁盤空間。一種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲系統(tǒng),包括用戶請求處理模塊、存儲節(jié)點(diǎn)磁盤信息分析模塊、存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊、iSCSI服務(wù)注冊模塊、塊設(shè)備擴(kuò)容模塊以及虛擬機(jī)塊設(shè)備掛載模塊,用戶請求處理模塊接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是則調(diào)用存儲節(jié)點(diǎn)磁盤信息分析模塊,如果是對塊設(shè)備進(jìn)行擴(kuò)容則調(diào)用塊設(shè)備擴(kuò)容模塊,存儲節(jié)點(diǎn)磁盤信息分析模塊獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備,存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷,iSCSI服務(wù)注冊模塊將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用,塊設(shè)備擴(kuò)容模塊根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容,虛擬機(jī)塊設(shè)備掛載模塊通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過iSCSI向用戶提供塊設(shè)備。通過本發(fā)明所構(gòu)思的以上技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明的方法具有以下的有益效果:
1、可實(shí)現(xiàn)塊設(shè)備存儲:由于采用了步驟(3)、步驟(4)和步驟(6),本系統(tǒng)通過在IP層運(yùn)行的SCSI指令集,將物理機(jī)的塊設(shè)備掛載到虛擬機(jī)中,在用戶看來新添加的存儲空間就像虛擬機(jī)本地設(shè)備。用戶可以在設(shè)備上構(gòu)建一個(gè)文件系統(tǒng),也可以當(dāng)做一個(gè)原始的未格式化的塊設(shè)備使用。相比于通過用戶空間文件系統(tǒng)(FUSE)的掛載只是在系統(tǒng)中只是提供了用于存儲的文件夾,并不是實(shí)際意義上的塊設(shè)備。2、可擴(kuò)展性強(qiáng):由于采用了步驟(5)用戶可以在需要的時(shí)候擴(kuò)充塊設(shè)備的空間。在這個(gè)過程中采用邏輯卷進(jìn)行磁盤管理,塊設(shè)備空間的擴(kuò)展不會影響到設(shè)備中已有的數(shù)據(jù)。相比采用增量鏡像的方式的優(yōu)勢在于,增量鏡像只是在使用上達(dá)到寫時(shí)拷貝的效果,保存用戶在虛擬機(jī)磁盤中寫入的數(shù)據(jù),但是最終還是受限于虛擬機(jī)模板鏡像的大小,增量只是在使用行為上不斷增大所使用的磁盤空間,但是最終能夠使用的磁盤空間是固定的,并不能滿足用戶對磁盤空間增長擴(kuò)容的需求。3、松耦合:由于采用了步驟(3)本發(fā)明系統(tǒng)的使用解耦了虛擬機(jī)的存儲資源,使得存儲獨(dú)立于虛擬機(jī)。用戶可以將申請的塊設(shè)備在不同的虛擬機(jī)之間掛載,存儲資源不再與特定的虛擬機(jī)一一對應(yīng),而是作為一個(gè)獨(dú)立的系統(tǒng)進(jìn)行管理。


圖1是本發(fā)明的應(yīng)用環(huán)境圖。圖2是本發(fā)明云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法的流程圖。圖3是本發(fā)明方法中步驟(2)的細(xì)化流程圖。圖4是本發(fā)明方法中步驟(4)的細(xì)化流程圖。圖5是本發(fā)明方法中步驟(6)的細(xì)化流程圖。圖6是本發(fā)明云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲系統(tǒng)的模塊框圖。圖7是本發(fā)明系統(tǒng)中存儲節(jié)點(diǎn)磁盤信息分析模塊的細(xì)化框圖。圖8是本發(fā)明系統(tǒng)中iSCSI服務(wù)注冊模塊的細(xì)化框圖。圖9是本發(fā)明系統(tǒng)中虛擬機(jī)塊設(shè)備掛載模塊的細(xì)化框圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示,本發(fā)明是為在虛擬機(jī)環(huán)境下的用戶提供存儲設(shè)備。圖中物理機(jī)共有n臺物理機(jī)1,2,…,n,其中物理機(jī)I為主節(jié)點(diǎn),物理機(jī)2至n為存儲節(jié)點(diǎn)。主節(jié)點(diǎn)負(fù)責(zé)處理用戶請求,根據(jù)存儲節(jié)點(diǎn)的磁盤信息選擇合適的存儲節(jié)點(diǎn)分配塊設(shè)備并管理整個(gè)請求的流程,具體的塊設(shè)備操作通過Thrift遠(yuǎn)程調(diào)用完成。各個(gè)存儲節(jié)點(diǎn)提供存儲節(jié)點(diǎn)磁盤信息,執(zhí)行設(shè)備創(chuàng)建、擴(kuò)容操作,并通過Thrift遠(yuǎn)程調(diào)用作為服務(wù)提供給主節(jié)點(diǎn)。當(dāng)用戶向系統(tǒng)申請創(chuàng)建設(shè)備的時(shí)候,主節(jié)點(diǎn)利用獲取的存儲節(jié)點(diǎn)信息,選擇相應(yīng)的節(jié)點(diǎn)創(chuàng)建或擴(kuò)容塊設(shè)備并掛載到虛擬機(jī)中使用。如圖2所示,本發(fā)明云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法包括以下步驟:
(I)主節(jié)點(diǎn)接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是創(chuàng)建塊設(shè)備則跳轉(zhuǎn)到步驟(2),如果是對塊設(shè)備進(jìn)行擴(kuò)容則跳轉(zhuǎn)到步驟(5);(2)獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備;具體而言,獲取存儲節(jié)點(diǎn)的信息包括磁盤剩余空間信息和磁盤IO信息;(3)存儲節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷;具體而言,存儲節(jié)點(diǎn)通過邏輯卷管理器創(chuàng)建由主節(jié)點(diǎn)指定大小的邏輯卷;(4)存儲節(jié)點(diǎn)將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用;具體而言,注冊信息包括邏輯卷的路徑,虛擬機(jī)登錄該服務(wù)時(shí)所需的用戶名和密碼;(5)主節(jié)點(diǎn)根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容;(6)主節(jié)點(diǎn)通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過小型計(jì)算機(jī)系統(tǒng)指令接口(Internet Small Computer System Interface,簡稱 iSCSI)向用戶提供塊設(shè)備。不同系統(tǒng)間的通信米用Facebook的Thrift遠(yuǎn)程調(diào)用框架。如圖3所示,本發(fā)明方法中步驟(2)包括以下子步驟:(2-1)主節(jié)點(diǎn)通過Thrift遠(yuǎn)程調(diào)用框架獲取所有存儲節(jié)點(diǎn)的磁盤信息,包括存儲節(jié)點(diǎn)的磁盤剩余空間信息和磁盤IO信息;(2-2)主節(jié)點(diǎn)分析獲取的信息,選擇磁盤剩余空間大于用戶所申請空間的存儲節(jié)點(diǎn),將這些存儲節(jié)點(diǎn)按照磁盤IO從小到大進(jìn)行排序,并選擇磁盤IO最小的節(jié)點(diǎn)創(chuàng)建塊設(shè)備;(2-3)主節(jié)點(diǎn)獲取存儲節(jié)點(diǎn)的返回信息,并判斷返回信息指示創(chuàng)建塊設(shè)備成功還是失敗,若返回信息指示創(chuàng)建塊設(shè)備成功,則過程結(jié)束,若失敗,則進(jìn)入步驟(2-4);(2-4)主節(jié)點(diǎn)將創(chuàng)建失敗寫入日志并重新選擇新的存儲節(jié)點(diǎn),然后跳轉(zhuǎn)到步驟(2-2)。如圖4所示,本發(fā)明方法中步驟(4)包括以下子步驟:(4-1)存儲節(jié)點(diǎn)將步驟(3)中創(chuàng)建的邏輯卷添加到iSCSI目標(biāo)服務(wù)中;具體而言,存儲節(jié)點(diǎn)提供給iSCSI的注冊信息包括邏輯卷的路徑,文件類型以及服務(wù)名稱;(4-2)根據(jù)調(diào)用者的信息生成調(diào)用者信息摘要(Message digest-5,簡稱MD5),作為用戶使用邏輯卷的密碼;(4-3)設(shè)置虛擬機(jī)訪問塊設(shè)備服務(wù)的用戶名和密碼;(4-4)通過iSCSI將邏輯卷作為塊設(shè)備服務(wù)等待虛擬機(jī)調(diào)用。如圖5所示,本發(fā)明方法中步驟(6)包括以下子步驟:(6-1)主節(jié)點(diǎn)獲取用戶指定虛擬機(jī)的信息;具體而言包括虛擬機(jī)的ip地址以及虛擬機(jī)所在服務(wù)器的ip地址;(6-2)主節(jié)點(diǎn)調(diào)用虛擬機(jī)中的iSCSI發(fā)起者程序發(fā)現(xiàn)在步驟(4-4)中的存儲節(jié)點(diǎn)所創(chuàng)建的設(shè)備服務(wù);(6-3)虛擬機(jī)根據(jù)步驟(4-2)中的用戶名和信息摘要登錄到塊設(shè)備中。如圖6所示,本發(fā)明云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲系統(tǒng)包括用戶請求處理模塊1、存儲節(jié)點(diǎn)磁盤信息分析模塊2、存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊3、iSCSI服務(wù)注冊模塊4、塊設(shè)備擴(kuò)容模塊5、虛擬機(jī)塊設(shè)備掛載模塊6。用戶請求處理模塊I接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是則調(diào)用存儲節(jié)點(diǎn)磁盤信息分析模塊2,如果是對塊設(shè)備進(jìn)行擴(kuò)容則調(diào)用塊設(shè)備擴(kuò)容模塊5。存儲節(jié)點(diǎn)磁盤信息分析模塊2獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備。存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊3根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷。iSCSI服務(wù)注冊模塊4將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用。塊設(shè)備擴(kuò)容模塊5根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容。虛擬機(jī)塊設(shè)備掛載模塊6通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過iSCSI向用戶提供塊設(shè)備。如圖7所示,本發(fā)明系統(tǒng)中存儲節(jié)點(diǎn)磁盤信息分析模塊2包括存儲節(jié)點(diǎn)信息獲取子模塊21、信息分析子模塊22、設(shè)備創(chuàng)建遠(yuǎn)程調(diào)用子模塊23、創(chuàng)建失敗處理子模塊24。存儲節(jié)點(diǎn)信息獲取子模塊21通過Thrift遠(yuǎn)程調(diào)用框架獲取所有存儲節(jié)點(diǎn)的磁盤信息,包括存儲節(jié)點(diǎn)的磁盤剩余空間信息和磁盤IO信息。信息分析子模塊22分析獲取的信息,首先選擇磁盤剩余空間大于用戶所申請空間的存儲節(jié)點(diǎn),主節(jié)點(diǎn)將這些存儲節(jié)點(diǎn)按照磁盤IO從小到大進(jìn)行排序,并選擇磁盤IO最小的節(jié)點(diǎn)創(chuàng)建塊設(shè)備。設(shè)備創(chuàng)建遠(yuǎn)程調(diào)用子模塊23獲取存儲節(jié)點(diǎn)的返回信息,并判斷返回信息指示創(chuàng)建塊設(shè)備成功還是失敗,若返回信息指示創(chuàng)建塊設(shè)備成功,則過程結(jié)束,若失敗,則調(diào)用創(chuàng)建失敗處理子模塊24。創(chuàng)建失敗處理子模塊24記錄系統(tǒng)日志,并重新選擇存儲子節(jié)點(diǎn)。如圖8所示,本發(fā)明系統(tǒng)中iSCSI服務(wù)注冊模塊4包括邏輯卷注冊子模塊41、用戶摘要生成子模塊42、服務(wù)密碼設(shè)置子模塊43、塊設(shè)備服務(wù)生成子模塊44。邏輯卷注冊子模塊41將邏輯卷添加到iSCSI (小型計(jì)算機(jī)系統(tǒng)指令接口)目標(biāo)服務(wù)中;具體而言,存儲節(jié)點(diǎn)提供給iSCSI的注冊信息包括邏輯卷的路徑,文件類型以及服務(wù)名稱。用戶摘要生成子模塊42根據(jù)調(diào)用者的信息生成調(diào)用者信息摘要(Messagedigest-5,簡稱MD5),作為用戶使用邏輯卷的密碼。服務(wù)密碼設(shè)置子模塊43設(shè)置虛擬機(jī)訪問塊設(shè)備服務(wù)的用戶名和密碼。塊設(shè)備服務(wù)生成子模塊44通過iSCSI將邏輯卷作為塊設(shè)備服務(wù)等待虛擬機(jī)調(diào)用。如圖9所示,本發(fā)明系統(tǒng)中虛擬機(jī)塊設(shè)備掛載模塊6包括虛擬機(jī)信息獲取子模塊61、服務(wù)發(fā)現(xiàn)子模塊62、塊設(shè)備掛載子模塊63 ;虛擬機(jī)信息獲取子模塊61獲取用戶指定虛擬機(jī)的信息;具體而言包括虛擬機(jī)的ip地址以及虛擬機(jī)所在服務(wù)器的ip地址。服務(wù)發(fā)現(xiàn)子模塊62調(diào)用虛擬機(jī)中的iSCSI發(fā)起者程序發(fā)現(xiàn)存儲節(jié)點(diǎn)所創(chuàng)建的設(shè)備服務(wù)。塊設(shè)備掛載子模塊63使用用戶摘要生成子模塊42中生成的用戶名和信息摘要登錄到設(shè)備中。實(shí)例:為了驗(yàn)證本發(fā)明方法的可行性和有效性,在真實(shí)環(huán)境下配置系統(tǒng),對云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲進(jìn)行實(shí)驗(yàn)。本發(fā)明的服務(wù)器基本硬件和軟件配置如表I所示:
CPU內(nèi)存 Cache 硬盤操作系統(tǒng)Xen版
權(quán)利要求
1.一種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法,其特征在于,包括以下步驟: (1)主節(jié)點(diǎn)接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是創(chuàng)建塊設(shè)備則跳轉(zhuǎn)到步驟(2),如果是對塊設(shè)備進(jìn)行擴(kuò)容則跳轉(zhuǎn)到步驟(5); (2)獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備; (3)存儲節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷; (4)存儲節(jié)點(diǎn)將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用; (5)主節(jié)點(diǎn)根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容; (6)主節(jié)點(diǎn)通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過iSCSI向用戶提供塊設(shè)備。
2.根據(jù)權(quán)利要求1所述的持久化存儲方法,其特征在于,步驟(2)包括以下子步驟: (2-1)主節(jié)點(diǎn)通過Thrift遠(yuǎn)程調(diào)用框架獲取所有存儲節(jié)點(diǎn)的磁盤信息,包括存儲節(jié)點(diǎn)的磁盤剩余空間信息和磁盤IO信息; (2-2)主節(jié)點(diǎn)分析獲取的信息,選擇磁盤剩余空間大于用戶所申請空間的存儲節(jié)點(diǎn),將這些存儲節(jié)點(diǎn)按照磁盤IO從小到大進(jìn)行排序,并選擇磁盤IO最小的節(jié)點(diǎn)創(chuàng)建塊設(shè)備;(2-3)主節(jié)點(diǎn)獲取存儲節(jié)點(diǎn)的返回信息,并判斷返回信息指示創(chuàng)建塊設(shè)備成功還是失敗,若返回信息指示創(chuàng)建塊設(shè)備成功,則過程結(jié)束,若失敗,則進(jìn)入步驟(2-4); (2-4)主節(jié)點(diǎn)將創(chuàng)建失敗寫入日志并重新選擇新的存儲節(jié)點(diǎn),然后跳轉(zhuǎn)到步驟(2-2)。
3.根據(jù)權(quán)利要求1所述的持久化存儲方法,其特征在于,步驟(4)包括以下子步驟: (4-1)存儲節(jié)點(diǎn)將步驟(3)中創(chuàng)建的邏輯卷添加到iSCSI目標(biāo)服務(wù)中; (4-2)根據(jù)調(diào)用者的信息生成MD5,作為用戶使用邏輯卷的密碼; (4-3)設(shè)置虛擬機(jī)訪問塊設(shè)備服務(wù)的用戶名和密碼; (4-4)通過iSCSI將邏輯卷作為塊設(shè)備服務(wù)等待虛擬機(jī)調(diào)用。
4.根據(jù)權(quán)利要求1所述的持久化存儲方法,其特征在于,步驟(6)包括以下子步驟: (6-1)主節(jié)點(diǎn)獲取用戶指定虛擬機(jī)的信息;具體而言包括虛擬機(jī)的ip地址以及虛擬機(jī)所在服務(wù)器的ip地址; (6-2)主節(jié)點(diǎn)調(diào)用虛擬機(jī)中的iSCSI發(fā)起者程序發(fā)現(xiàn)在步驟(4-4)中的存儲節(jié)點(diǎn)所創(chuàng)建的設(shè)備服務(wù); (6-3)虛擬機(jī)根據(jù)步驟(4-2)中的用戶名和信息摘要登錄到塊設(shè)備中。
5.根據(jù)權(quán)利要求1所述的持久化存儲方法,其特征在于,步驟(3)中存儲節(jié)點(diǎn)通過邏輯卷管理器創(chuàng)建由主節(jié)點(diǎn)指定大小的邏輯卷。
6.根據(jù)權(quán)利要求1所述的持久化存儲方法,其特征在于,步驟(4)中的注冊信息包括邏輯卷的路徑,虛擬機(jī)登錄該服務(wù)時(shí)所需的用戶名和密碼。
7.根據(jù)權(quán)利要求1所述 的持久化存儲方法,其特征在于,步驟(5)中存儲節(jié)點(diǎn)通過邏輯卷管理器向已創(chuàng)建的塊設(shè)備中追加用戶指定的磁盤空間。
8.—種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲系統(tǒng),包括用戶請求處理模塊、存儲節(jié)點(diǎn)磁盤信息分析模塊、存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊、iSCSI服務(wù)注冊模塊、塊設(shè)備擴(kuò)容模塊以及虛擬機(jī)塊設(shè)備掛載模塊,其特征在于, 用戶請求處理模塊接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是則調(diào)用存儲節(jié)點(diǎn)磁盤信息分析模塊,如果是對塊設(shè)備進(jìn)行擴(kuò)容則調(diào)用塊設(shè)備擴(kuò)容模塊; 存儲節(jié)點(diǎn)磁盤信息分析模塊獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備; 存儲節(jié)點(diǎn)邏輯卷創(chuàng)建模塊根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷;iSCSI服務(wù)注冊模塊將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用; 塊設(shè)備擴(kuò)容模塊根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容; 虛擬機(jī)塊設(shè)備掛載模塊通知虛擬機(jī)塊設(shè)備服務(wù)已創(chuàng)建完畢,虛擬機(jī)通過iSCSI向用戶提供塊設(shè) 備。
全文摘要
本發(fā)明公開了一種云環(huán)境下虛擬機(jī)數(shù)據(jù)的持久化存儲方法,包括(1)主節(jié)點(diǎn)接收服務(wù)器的用戶請求,并判斷該用戶請求是創(chuàng)建塊設(shè)備,還是對塊設(shè)備進(jìn)行擴(kuò)容,如果是創(chuàng)建塊設(shè)備則跳轉(zhuǎn)到步驟(2),如果是對塊設(shè)備進(jìn)行擴(kuò)容則跳轉(zhuǎn)到步驟(5);(2)獲取所有存儲節(jié)點(diǎn)的磁盤信息,根據(jù)用戶請求選擇一個(gè)存儲節(jié)點(diǎn),并通知該存儲節(jié)點(diǎn)創(chuàng)建塊設(shè)備;(3)存儲節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)的信息創(chuàng)建并管理邏輯卷;(4)存儲節(jié)點(diǎn)將邏輯卷注冊到iSCSI中,使得該邏輯卷作為塊設(shè)備服務(wù)提供給虛擬機(jī)調(diào)用;(5)主節(jié)點(diǎn)根據(jù)用戶請求獲取塊設(shè)備所在的存儲節(jié)點(diǎn),并調(diào)用該存儲節(jié)點(diǎn)對塊設(shè)備進(jìn)行擴(kuò)容。本發(fā)明解決了現(xiàn)有云計(jì)算系統(tǒng)中用戶數(shù)據(jù)在虛擬機(jī)關(guān)閉后不能持久化存儲的問題。
文檔編號G06F9/455GK103118073SQ201310005800
公開日2013年5月22日 申請日期2013年1月8日 優(yōu)先權(quán)日2013年1月8日
發(fā)明者吳松, 金海 , 石宣化, 陳輝 申請人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1