一種虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬機技術(shù)領(lǐng)域,具體涉及一種虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng)。
【背景技術(shù)】
[0002]云計算系統(tǒng)提供用戶一種節(jié)省運算成本的解決方案,用戶無需花費大量成本購買硬件,只要通過虛擬機的應(yīng)用即可達到多臺實體機的運算目的。
[0003]云計算系統(tǒng)包括:云終端、主機和云管理服務(wù)器,其中,云終端可以為網(wǎng)絡(luò)計算機,如臺式機、筆記本電腦、平板電腦等;主機可以為網(wǎng)絡(luò)側(cè)為云終端提供存儲空間、軟件和其他計算機功能的服務(wù)器,在主機上可以部署多個虛擬機;云管理服務(wù)器可以為網(wǎng)絡(luò)側(cè)的服務(wù)器,提供用戶管理、密鑰管理等服務(wù)。主機和云管理服務(wù)器也被稱為云平臺。用戶通過云終端遠程登錄云平臺,用戶的身份通過認證后,則可以使用主機上的虛擬機的功能。
[0004]云計算環(huán)境中,由于主機上通常部署多個虛擬機,而虛擬機的運行是相對獨立的,所以云管理服務(wù)器想要了解各虛擬機內(nèi)部有哪些持久化數(shù)據(jù),即虛擬機中存儲的斷電不丟失的數(shù)據(jù),通常采用在虛擬機中安裝代理的方式獲取,該方式可以做到實時監(jiān)控,但是該方式存在以下缺點:
[0005]1、做不到用戶無感知,代理既然安裝在虛擬機中,用戶肯定可以從虛擬機中看到代理程序,切實體會到代理程序的存在。
[0006]2、虛擬機必須處于開機狀態(tài),簡稱開機態(tài),對于關(guān)機態(tài)虛擬機,即處于關(guān)機狀態(tài)的虛擬機,代理無法運行,云管理服務(wù)器自然也就無法對代理程序下發(fā)命令。
[0007]3、虛擬機與云管理服務(wù)器之間的網(wǎng)絡(luò)必須是通的,如果網(wǎng)絡(luò)不通,云管理服務(wù)器與代理無法通信,代理程序形同虛設(shè)。
[0008]4、代理程序不能被刪除且必須運行正常,對代理程序的要求比較高,必須保證正常運行,才能借助代理程序完成一系列操作。
[0009]5、影響虛擬機性能,代理程序的運行勢必占用一部分CPU、內(nèi)存資源。
【發(fā)明內(nèi)容】
[0010]針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng),以解決現(xiàn)有虛擬機磁盤數(shù)據(jù)的獲取技術(shù)由于在虛擬機中安裝代理,要求必須在虛擬機上運行代理程序,且要求虛擬機必須開機態(tài),既影響用戶體驗又存在使用場景的局限性的問題。
[0011 ]為此目的,第一方面,本發(fā)明提出一種虛擬機磁盤數(shù)據(jù)的獲取方法,包括:
[0012]在接收到獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求后,根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口 API,得到所述目標(biāo)虛擬機的虛擬磁盤;
[0013]將所述虛擬磁盤掛載到預(yù)設(shè)的安全虛擬機中;
[0014]將所述獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求發(fā)送到所述安全虛擬機,以使所述安全虛擬機對所述虛擬磁盤進行掃描,得到所述目標(biāo)虛擬機的磁盤數(shù)據(jù)。
[0015]可選的,所述根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口API,得到所述目標(biāo)虛擬機的虛擬磁盤,包括:
[0016]所述目標(biāo)虛擬機的狀態(tài)為開機態(tài)時,對目標(biāo)虛擬機創(chuàng)建快照或創(chuàng)建鏈接克隆,得到所述目標(biāo)虛擬機的虛擬磁盤。
[0017]可選的,所述根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口API,得到所述目標(biāo)虛擬機的虛擬磁盤,包括:
[0018]所述目標(biāo)虛擬機的狀態(tài)為關(guān)機態(tài)時,基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口API,獲取所述目標(biāo)虛擬機的磁盤,得到所述目標(biāo)虛擬機的虛擬磁盤。
[0019]可選的,所述獲取方法還包括:卸載所述安全虛擬機中掛載的所述目標(biāo)虛擬機的虛擬磁盤。
[0020]可選的,所述獲取方法還包括:刪除所述目標(biāo)虛擬機的虛擬磁盤。
[0021]第二方面,本發(fā)明還提出一種虛擬機磁盤數(shù)據(jù)的獲取系統(tǒng),包括:
[0022]獲取單元,用于在接收到獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求后,根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口 API,得到所述目標(biāo)虛擬機的虛擬磁盤;
[0023]掛載單元,用于將所述虛擬磁盤掛載到預(yù)設(shè)的安全虛擬機中;
[0024]發(fā)送單元,用于將所述獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求發(fā)送到所述安全虛擬機,以使所述安全虛擬機對所述虛擬磁盤進行掃描,得到所述目標(biāo)虛擬機的磁盤數(shù)據(jù)。
[0025]可選的,所述獲取單元,用于所述目標(biāo)虛擬機的狀態(tài)為開機態(tài)時,對目標(biāo)虛擬機創(chuàng)建快照或創(chuàng)建鏈接克隆,得到所述目標(biāo)虛擬機的虛擬磁盤。
[0026]可選的,所述獲取單元,用于所述目標(biāo)虛擬機的狀態(tài)為關(guān)機態(tài)時,基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口 API,獲取所述目標(biāo)虛擬機的磁盤,得到所述目標(biāo)虛擬機的虛擬磁盤。
[0027]可選的,所述獲取系統(tǒng)還包括:卸載單元,用于卸載所述安全虛擬機中掛載的所述目標(biāo)虛擬機的虛擬磁盤。
[0028]可選的,所述獲取系統(tǒng)還包括:刪除單元,用于刪除所述目標(biāo)虛擬機的虛擬磁盤。
[0029]相比于現(xiàn)有技術(shù),本發(fā)明的虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng),采用無代理方式,基于云平臺API,得到虛擬機磁盤,并掛載給安全虛擬機,從而獲取虛擬機磁盤數(shù)據(jù)。用戶無感知,不影響用戶體驗,并且對虛擬機所處狀態(tài)無任何要求。
[0030]進一步地,本發(fā)明的虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng),由于采用無代理方式,可獲取離線虛擬機的磁盤數(shù)據(jù)。
【附圖說明】
[0031 ]圖1為本發(fā)明實施例提供的一種虛擬機磁盤數(shù)據(jù)的獲取方法流程圖;
[0032]圖2為本發(fā)明實施例提供的一種虛擬機磁盤數(shù)據(jù)的獲取系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0033]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。
[0034]實施例中的云平臺可以為XenServer或vCenter,但不限于以上兩種。
[0035]實施例中的虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng),可用于獲取虛擬機中的持久化數(shù)據(jù),所述持久化數(shù)據(jù)為虛擬機中存儲的斷電不丟失的數(shù)據(jù),而虛擬機中存儲的斷電后就丟失的數(shù)據(jù)為非持久化數(shù)據(jù)。
[0036]實施例中的虛擬機磁盤數(shù)據(jù)的獲取方法及系統(tǒng)獲取虛擬機中的持久化數(shù)據(jù)后,管理者對虛擬機的管理和對虛擬機的狀態(tài)分析更加方便。
[0037]實施例中的虛擬機磁盤數(shù)據(jù)的獲取系統(tǒng),可設(shè)置于云平臺中。
[0038]實施例中的發(fā)送獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求的設(shè)備可設(shè)置于云平臺中或設(shè)置于云終端中。
[0039]實施例中的安全虛擬機設(shè)置于云平臺的主機中。
[0040]如圖1所示,本實施例公開一種虛擬機磁盤數(shù)據(jù)的獲取方法,可應(yīng)用于云平臺,該獲取方法可包括步驟101至103:
[0041 ] 101、在接收到獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求后,根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口 API,得到所述目標(biāo)虛擬機的虛擬磁盤;
[0042]102、將所述虛擬磁盤掛載到預(yù)設(shè)的安全虛擬機中;
[0043]103、將所述獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求發(fā)送到所述安全虛擬機,以使所述安全虛擬機對所述虛擬磁盤進行掃描,得到所述目標(biāo)虛擬機的磁盤數(shù)據(jù)。
[0044]本實施例中,若獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求為獲取目標(biāo)虛擬機磁盤中的文本文件,則安全虛擬機對所述虛擬磁盤進行掃描,得到目標(biāo)虛擬機磁盤中的文本文件。本實施例僅為舉例,不限定獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求的具體業(yè)務(wù)需求。本領(lǐng)域技術(shù)人員可根據(jù)實際需要設(shè)定獲取目標(biāo)虛擬機磁盤數(shù)據(jù)的請求的具體業(yè)務(wù)需求,比如:磁盤注冊表信息。
[0045]相比于現(xiàn)有技術(shù),上述虛擬機磁盤數(shù)據(jù)的獲取方法,采用無代理方式,基于云平臺API,得到虛擬機磁盤,并掛載給安全虛擬機,從而獲取虛擬機磁盤數(shù)據(jù)。用戶無感知,不影響用戶體驗,并且對虛擬機所處狀態(tài)無任何要求。
[0046]進一步地,上述虛擬機磁盤數(shù)據(jù)的獲取方法,由于采用無代理方式,可獲取離線虛擬機的磁盤數(shù)據(jù)。
[0047]在一個具體的例子中,步驟101中所述根據(jù)所述目標(biāo)虛擬機的狀態(tài),基于云平臺預(yù)設(shè)的應(yīng)用程序編程接口 API,得到所述目標(biāo)虛擬機的虛擬磁盤,包括:
[0048]所述目標(biāo)虛擬機的狀態(tài)為開機態(tài)時,對目標(biāo)虛擬機創(chuàng)建快照或創(chuàng)建鏈接克隆,得到所述目標(biāo)虛擬機的虛擬磁盤。
[0049]本實施例中,在目標(biāo)虛擬機的狀態(tài)為開機態(tài)時,可根據(jù)