本發(fā)明涉及計算機技術領域,特別涉及一種OVA文件的導入方法及裝置。
背景技術:
隨著虛擬化技術的不斷成熟,虛擬化產(chǎn)品的提供商越來越多。多個不同虛擬化產(chǎn)品提供商之間的虛擬機有互相遷移的必要。開放標準OVF(Open Virtualization Format,開放虛擬化格式)項目組定義了一套標準,稱之為OVF,它的打包文件名稱之為OVA(Open Virtualization Appliance,開放虛擬化設備)文件。
現(xiàn)有技術中,所有虛擬化產(chǎn)品提供商都提供一套OVA的導入導出方法,以方便其他提供商導入虛擬機。但是由于不同提供商虛擬機實現(xiàn)的方式不一致,磁盤驅(qū)動的方式不一致,使得OVA文件的導入并不完美。因此,如何能在導入友商的虛擬化產(chǎn)品時,深入到OVA磁盤文件內(nèi)部,解析操作系統(tǒng)類型,并根據(jù)不同的操作系統(tǒng),調(diào)用不同的策略導入OVA文件,是現(xiàn)今急需解決的問題。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種OVA文件的導入方法及裝置,以根據(jù)OVA文件中虛擬磁盤文件的操作系統(tǒng)類型,選擇對應的導入方法導入OVA文件,可以導入不同平臺的OVA文件到用戶的虛擬化產(chǎn)品上,提升用戶體驗。
為解決上述技術問題,本發(fā)明提供一種OVA文件的導入方法,包括:
解壓OVA文件,獲取虛擬磁盤文件;
根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型;
根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型,包括:
通過創(chuàng)建的用戶磁盤文件的支持文件和臨時配置文件,創(chuàng)建臨時的虛擬機;
啟動所述虛擬機,查看所述虛擬磁盤文件對應的所述操作系統(tǒng)類型。
可選的,所述根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入,包括:
根據(jù)所述操作系統(tǒng)類型結(jié)合所述OVA文件的導出方法選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述OVA文件的導出方法的獲取,包括:
解壓所述OVA文件,獲取虛擬機配置文件;
根據(jù)所述虛擬機配置文件獲取所述OVA文件的導出方法。
可選的,根據(jù)所述操作系統(tǒng)類型結(jié)合所述OVA文件的導出方法選擇對應的導入方法進行所述OVA文件的導入,具體為:
判斷所述OVA文件的導出方法是否為XEN或VMWare;
若否,則使用qemu-img方法進行所述OVA文件的導入;
若是,則判斷所述操作系統(tǒng)類型是否為Redhat7或Centos7;
若所述操作系統(tǒng)類型為Redhat7或Centos7,則使用virt-v2v方法進行所述OVA文件的導入;
若所述操作系統(tǒng)類型不為Redhat7或Centos7,則使用qemu-img方法進行所述OVA文件的導入。
此外,本發(fā)明還提供了一種OVA文件的導入裝置,包括:
解壓模塊,用于解壓OVA文件,獲取虛擬磁盤文件;
操作系統(tǒng)獲取模塊,用于根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型;
選擇導入模塊,用于根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述操作系統(tǒng)獲取模塊,包括:
虛擬機創(chuàng)建子模塊,用于通過創(chuàng)建的用戶磁盤文件的支持文件和臨時配置文件,創(chuàng)建臨時的虛擬機;
操作系統(tǒng)獲取子模塊,用于啟動所述虛擬機,查看所述虛擬磁盤文件對應的所述操作系統(tǒng)類型。
可選的,所述選擇導入模塊,包括:
選擇導入子模塊,用于根據(jù)所述操作系統(tǒng)類型結(jié)合所述OVA文件的導出方法選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述解壓模塊,包括:
解壓子模塊,用于解壓所述OVA文件,獲取所述虛擬磁盤文件和虛擬機配置文件;
導出方法獲取模塊,根據(jù)所述虛擬機配置文件獲取所述OVA文件的導出方法。
可選的,所述選擇導入子模塊,包括:
第一判斷單元,用于判斷所述OVA文件的導出方法是否為XEN或VMWare;若否,則向第一導入單元發(fā)送第一導入信號;若是,則向第二判斷單元發(fā)送判斷信號;
第一導入單元,用于接收所述第一導入信號,使用qemu-img方法進行所述OVA文件的導入;
第二判斷單元,用于判斷所述操作系統(tǒng)類型是否為Redhat7或Centos7;若是,則向第二導入單元發(fā)送第二導入信號;若否,則向第一導入單元發(fā)送所述第一導入信號;
第二導入單元,用于接收所述第二導入信號,使用virt-v2v方法進行所述OVA文件的導入。
本發(fā)明所提供的一種OVA文件的導入方法,包括:解壓OVA文件,獲取虛擬磁盤文件;根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型;根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入;
可見,本發(fā)明通過解壓OVA文件,可以獲取OVA文件中的虛擬磁盤文件,然后根據(jù)虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型,通過選擇操作系統(tǒng)類型對應的導入方法對OVA文件進行所述OVA文件的導入,可以將不同虛擬化產(chǎn)品提供商也就是不同平臺提供的OVA文件完美導入到用戶的虛擬化產(chǎn)品上,提升了讓用戶體驗。此外,本發(fā)明還提供了一種OVA文件的導入裝置,同樣具有上述有益效果。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的一種OVA文件的導入方法的流程圖;
圖2為本發(fā)明實施例所提供的另一種OVA文件的導入方法的流程圖;
圖3為本發(fā)明實施例所提供的一種OVA文件的導入裝置的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1為本發(fā)明實施例所提供的一種OVA文件的導入方法的流程圖。該方法可以包括:
步驟101:解壓OVA文件,獲取虛擬磁盤文件。
可以理解的是,解壓OVA文件可以獲取虛擬磁盤文件和虛擬機配置文件等文件。
步驟102:根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型。
其中,根據(jù)虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型可以為通過創(chuàng)建一個臨時的虛擬機,指向該虛擬磁盤文件,然后啟動虛擬機,獲取虛擬機的操作系統(tǒng)類型,也就是磁盤中的操作系統(tǒng)類型。
可以理解的是,根據(jù)虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型的方式,可以通過上述創(chuàng)建臨時的虛擬機的方式,也可以通過其他方式,只要可以獲取磁盤中的操作系統(tǒng)類型,對于具體的獲取方式,本實施例不做任何限制。
步驟103:根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入。
其中,根據(jù)操作系統(tǒng)類型選擇對應的導入方法進行OVA文件的導入可以為通過獲取的操作系統(tǒng)類型與預設的導入方法對應的操作系統(tǒng)類型進行比較,選擇相同的操作類型對應的導入方法進行OVA文件的導入,如獲取的操作系統(tǒng)類型為Redhat7,預設的導入方法virt-v2v方法對應的操作系統(tǒng)類型為Redhat7,預設的導入方法qemu-img方法對應的操作系統(tǒng)類型為其他類型,則選擇virt-v2v方法進行OVA文件的導入;也可以為判斷獲取的操作系統(tǒng)類型是否屬于預設的操作系統(tǒng)類型,然后選擇對應的導入方法,如獲取的操作系統(tǒng)類型為Redhat7,預設的操作系統(tǒng)類型為Redhat7或Centos7,選擇的預設操作系統(tǒng)類型對應的virt-v2v方法進行OVA文件的導入,若獲取的操作系統(tǒng)類型為Redhat7和Centos7之外的其他類型,則通過傳統(tǒng)的qemu-img方法進行OVA文件的導入。本實施例對此不受任何限制。
可以理解的是,根據(jù)操作系統(tǒng)類型選擇對應的導入方法進行OVA文件的導入還可以結(jié)合該OVA文件的導出方法,也就是該OVA文件的產(chǎn)品提供商的導出方法,如根據(jù)解壓該OVA文件獲取的虛擬機配置文件,檢測該OVA文件的導出方法,然后判斷該OVA文件是否由用戶或設計人員預設的操作系統(tǒng)類型對應的產(chǎn)品提供商導出的,若是,則再判斷操作系統(tǒng)類型是否屬于預設的操作系統(tǒng)類型;若否,則直接使用傳統(tǒng)的導入方法進行該OVA文件的導入。只要可以根據(jù)操作系統(tǒng)類型選擇對應的導入方法進行OVA文件的導入,對于具體的判斷方式,本實施例不做任何限制。
本實施例中,本發(fā)明實施例通過解壓OVA文件,可以獲取OVA文件中的虛擬磁盤文件,然后根據(jù)虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型,通過選擇操作系統(tǒng)類型對應的導入方法對OVA文件進行所述OVA文件的導入,可以將不同虛擬化產(chǎn)品提供商也就是不同平臺提供的OVA文件完美導入到用戶的虛擬化產(chǎn)品上,提升了讓用戶體驗。
請參考圖2,圖2為本發(fā)明實施例所提供的另一種OVA文件的導入方法的流程圖,該方法可以包括:
步驟201:解壓OVA文件,獲取虛擬磁盤文件和虛擬機配置文件。
步驟202:根據(jù)虛擬機配置文件獲取OVA文件的導出方法。
需要說明的是,本步驟也可以放在步驟204和步驟205之間,只要可以保證在步驟205之前獲取OVA文件的導出方法,對于本步驟的位置本實施例不做任何限制。
步驟203:通過創(chuàng)建的用戶磁盤文件的支持文件和臨時配置文件,創(chuàng)建臨時的虛擬機。
步驟204:啟動虛擬機,查看虛擬磁盤文件對應的操作系統(tǒng)類型。
可以理解的是,步驟203和步驟204的目的是通過創(chuàng)建指向該虛擬磁盤文件的臨時的虛擬機,查看該虛擬磁盤文件對應的操作系統(tǒng)類型,對于該虛擬機具體的創(chuàng)建方式,本實施例不做任何限制。
步驟205:判斷OVA文件的導出方法是否為XEN或VMWare;若否,則進入步驟206;若是,則進入步驟207。
其中,本步驟的目的是通過判斷該OVA文件的導出方式是否屬于預設的操作系統(tǒng)的導出方式,也就是判斷導出OVA文件的虛擬產(chǎn)品提供商是否為預設的虛擬產(chǎn)品提供商;若是,則進入步驟206查看操作系統(tǒng)類型,是否屬于預設的操作系統(tǒng)類型;若否,則可以使用傳統(tǒng)的導入方法(qemu-img方法)導入OVA文件。
可以理解的是,本步驟也可以放在步驟203和步驟204之間,也就是判斷該OVA文件的導出方式屬于預設的操作系統(tǒng)的導出方式后,再對操作系統(tǒng)類型進行檢測,否則直接使用傳統(tǒng)的導入方法對OVA文件進行導入。本實施例對此不受任何限制。
步驟206:使用qemu-img方法進行OVA文件的導入。
其中,qemu-img方法為傳統(tǒng)的導入方法。
步驟207:判斷操作系統(tǒng)類型是否為Redhat7或Centos7;若是,則進入步驟208;若否,則進入步驟206。
可以理解的是,本實施例是以XEN和VMWare這兩個導出方法對應的Redhat7和Centos7操作系統(tǒng)類型作為預設的導出方法和操作系統(tǒng)類型為例進行的展示,還可以加入更多的預設導出方法及操作系統(tǒng)類型,進行更為復雜的選擇過程,本實施例對此不受任何限制。
步驟208:使用virt-v2v方法進行OVA文件的導入。
需要說明的是,virt-v2v方法可以為XEN和VMWare這兩個導出方法的Redhat7和Centos7操作系統(tǒng)類型對應的導入方法。
本實施例中,本發(fā)明實施例通過創(chuàng)建臨時的虛擬機,可以檢測虛擬磁盤文件對應的操作系統(tǒng)類型,通過虛擬機配置文件額可以獲取OVA文件的導出方法,通過操作系統(tǒng)類型結(jié)合OVA文件的導出方法選擇對應的導入方法進行OVA文件的導入,可以更加完美的導入不同虛擬化產(chǎn)品提供商也就是不同平臺提供的OVA文件到用戶的虛擬化產(chǎn)品上,進一步提升了讓用戶體驗。
請參考圖3,圖3為本發(fā)明實施例所提供的一種OVA文件的導入裝置的結(jié)構(gòu)圖。該裝置可以包括:
解壓模塊100,用于解壓OVA文件,獲取虛擬磁盤文件;
操作系統(tǒng)獲取模塊200,用于根據(jù)所述虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型;
選擇導入模塊300,用于根據(jù)所述操作系統(tǒng)類型選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述操作系統(tǒng)獲取模塊200,包括:
虛擬機創(chuàng)建子模塊,用于通過創(chuàng)建的用戶磁盤文件的支持文件和臨時配置文件,創(chuàng)建臨時的虛擬機;
操作系統(tǒng)獲取子模塊,用于啟動所述虛擬機,查看所述虛擬磁盤文件對應的所述操作系統(tǒng)類型。
可選的,所述選擇導入模塊300,包括:
選擇導入子模塊,用于根據(jù)所述操作系統(tǒng)類型結(jié)合所述OVA文件的導出方法選擇對應的導入方法進行所述OVA文件的導入。
可選的,所述解壓模塊100,包括:
解壓子模塊,用于解壓所述OVA文件,獲取所述虛擬磁盤文件和虛擬機配置文件;
導出方法獲取模塊,根據(jù)所述虛擬機配置文件獲取所述OVA文件的導出方法。
可選的,所述選擇導入子模塊,包括:
第一判斷單元,用于判斷所述OVA文件的導出方法是否為XEN或VMWare;若否,則向第一導入單元發(fā)送第一導入信號;若是,則向第二判斷單元發(fā)送判斷信號;
第一導入單元,用于接收所述第一導入信號,使用qemu-img方法進行所述OVA文件的導入;
第二判斷單元,用于判斷所述操作系統(tǒng)類型是否為Redhat7或Centos7;若是,則向第二導入單元發(fā)送第二導入信號;若否,則向第一導入單元發(fā)送所述第一導入信號;
第二導入單元,用于接收所述第二導入信號,使用virt-v2v方法進行所述OVA文件的導入。
本實施例中,本發(fā)明實施例通過解壓模塊100解壓OVA文件,可以獲取OVA文件中的虛擬磁盤文件,然后通過操作系統(tǒng)獲取模塊200根據(jù)虛擬磁盤文件獲取磁盤中的操作系統(tǒng)類型,通過選擇導入模塊300選擇操作系統(tǒng)類型對應的導入方法對OVA文件進行所述OVA文件的導入,可以將不同虛擬化產(chǎn)品提供商也就是不同平臺提供的OVA文件完美導入到用戶的虛擬化產(chǎn)品上,提升了讓用戶體驗。
說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的OVA文件的導入方法及裝置進行了詳細介紹。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權利要求的保護范圍內(nèi)。