一種創(chuàng)建虛擬機(jī)的方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的方法、系統(tǒng)和裝置,用于為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群,包括:接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī);確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到;為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。由于每個(gè)虛擬機(jī)組在其歸屬的物理機(jī)架下進(jìn)行創(chuàng)建,使得每個(gè)虛擬機(jī)組等同于一個(gè)物理機(jī)架,這樣的虛擬機(jī)創(chuàng)建方式,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的部署屬性能夠滿足分布式應(yīng)用的機(jī)架感知屬性,從而為分布式應(yīng)用創(chuàng)建了滿足其運(yùn)行需求的虛擬機(jī)集群。
【專利說明】一種創(chuàng)建虛擬機(jī)的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),特別是一種創(chuàng)建虛擬機(jī)的方法、系統(tǒng)和裝置。
【背景技術(shù)】
[0002]云計(jì)算系統(tǒng)的主要包括云應(yīng)用層、云虛擬化層和物理設(shè)備層,云虛擬化層根據(jù)物理設(shè)備層的物理資源構(gòu)建虛擬機(jī)(Virtual Machine, VM),云應(yīng)用層中的各種應(yīng)用程序就由這些虛擬機(jī)分別進(jìn)行運(yùn)行或者提供服務(wù),一個(gè)云應(yīng)用程序可能分布在一個(gè)或多個(gè)虛擬機(jī)上,對(duì)應(yīng)于一個(gè)云應(yīng)用程序的一個(gè)或多個(gè)虛擬機(jī)可以組成一個(gè)虛擬機(jī)集群。
[0003]目前存在一些集群軟件,例如分布式應(yīng)用,其主要考慮應(yīng)用的高可用和高可靠性,比如Hadoop這樣的集群軟件。Hadoop能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理,充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed FileSystem),簡稱HDFS,其可以維護(hù)多個(gè)工作數(shù)據(jù)副本,對(duì)于最常見的3個(gè)數(shù)據(jù)復(fù)制塊,HDFS的規(guī)則是將第一個(gè)復(fù)制塊存儲(chǔ)在同一物理機(jī)架的不同節(jié)點(diǎn)上,最后一個(gè)復(fù)制塊存儲(chǔ)在不同物理機(jī)架的某個(gè)節(jié)點(diǎn)上。由于集群軟件的高可靠性和高可用性的要求,為此類集群軟件分配虛擬機(jī)以進(jìn)行業(yè)務(wù)創(chuàng)建,以及集群軟件根據(jù)分配好的虛擬機(jī)運(yùn)行業(yè)務(wù),是目前將虛擬化技術(shù)與集群軟件結(jié)合實(shí)施的難點(diǎn)。
[0004]由于集群軟件是基于物理機(jī)集群進(jìn)行設(shè)計(jì)的,然而在虛擬化技術(shù)中,虛擬機(jī)的資源由云虛擬化層根據(jù)物理設(shè)備層上的物理資源靈活調(diào)度而成,例如,組成一臺(tái)虛擬機(jī)的物理資源可能來自于不同的物理機(jī)架下的不同物理機(jī),因此,現(xiàn)有技術(shù)中的云虛擬化層無法創(chuàng)建滿足集群軟件,例如分布式應(yīng)用的運(yùn)行要求的虛擬機(jī)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的方法、裝置和系統(tǒng),能夠?yàn)榉植际綉?yīng)用創(chuàng)建滿足其運(yùn)行需求的虛擬機(jī)。
[0006]第一方面,本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的方法,包括:
[0007]接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī);
[0008]確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0009]為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0010]在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0011]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
[0012]結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格。
[0013]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組,獲取物理設(shè)備層上的空閑物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架,從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
[0014]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,獲取虛擬機(jī)組的約束信息,獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系,根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
[0015]結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息表示所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系,根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)所述歸屬物理機(jī)架。
[0016]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式或者第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)組約束信息包括:不同虛擬機(jī)組對(duì)應(yīng)不同的歸屬物理機(jī)架;則,為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
[0017]結(jié)合第一方面或者第一方面的任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,還包括:獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用模塊,以使得所述應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0018]第二方面,本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的方法,包括:
[0019]接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī);
[0020]確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0021]獲取每個(gè)虛擬機(jī)組的配置信息,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格;
[0022]根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定虛擬機(jī)組的部署屬性;
[0023]根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0024]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,其中,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0025]根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架;根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0026]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
[0027]結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
[0028]第三方面,本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的裝置,包括:
[0029]接收單元,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī);
[0030]分組單元,用于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0031]配置單元,用于為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0032]創(chuàng)建單元,用于在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0033]結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述創(chuàng)建單元具體用于:將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
[0034]結(jié)合第三方面或者第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述配置單元具體用于:根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格。
[0035]結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述配置單元包括:
[0036]確定子單元,用于確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組,獲取物理設(shè)備層上的空閑物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架;
[0037]選擇子單元,用于從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
[0038]結(jié)合第三方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述選擇子單元具體用于:獲取虛擬機(jī)組的約束信息,獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系,根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
[0039]結(jié)合第三方面或者第三方面的第一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述配置單元具體用于:獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息表示所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系,根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)所述歸屬物理機(jī)架。
[0040]結(jié)合第三方面的第四種可能的實(shí)現(xiàn)方式或者第三方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)組約束信息包括:不同虛擬機(jī)組對(duì)應(yīng)不同的歸屬物理機(jī)架;則,所述配置單元為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
[0041]結(jié)合第三方面或者第三方面的任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,還包括:發(fā)送單元,用于獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用模塊,以使得所述應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0042]第四方面,本發(fā)明實(shí)施例提供一種創(chuàng)建虛擬機(jī)的裝置,包括:
[0043]接收單元,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī);
[0044]分組單元,用于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0045]獲取單元,用于獲取每個(gè)虛擬機(jī)組的配置信息,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格;
[0046]確定單元,用于根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定虛擬機(jī)組的部署屬性;
[0047]創(chuàng)建單元,用于根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0048]結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述確定單元具體用于:根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,其中,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0049]所述創(chuàng)建單元,具體用于:根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0050]第五方面,本發(fā)明實(shí)施例提供一種創(chuàng)建虛擬機(jī)的系統(tǒng),包括:
[0051]云虛擬化裝置,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī),確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī),為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用裝置;
[0052]所述應(yīng)用裝置,用于接收所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0053]本發(fā)明實(shí)施例中,在為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī)時(shí),首先確定由所述多臺(tái)虛擬機(jī)劃分得到的多個(gè)虛擬機(jī)組,然后為每個(gè)虛擬機(jī)組指定一個(gè)歸屬物理機(jī)架,再在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,由于每個(gè)虛擬機(jī)組在其歸屬的物理機(jī)架下進(jìn)行創(chuàng)建,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的具有相同的歸屬物理機(jī)架,使得每個(gè)虛擬機(jī)組等同于一個(gè)物理機(jī)架,這樣的虛擬機(jī)創(chuàng)建方式,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的部署屬性能夠滿足分布式應(yīng)用的機(jī)架感知屬性,從而為分布式應(yīng)用創(chuàng)建了滿足其運(yùn)行需求的虛擬機(jī)集群。并且,本發(fā)明實(shí)施例使得分布式應(yīng)用不需要改動(dòng)即可與虛擬化技術(shù)結(jié)合實(shí)施,并保證分布式應(yīng)用的性能不受影響
【專利附圖】
【附圖說明】
[0054]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0055]圖1是本發(fā)明實(shí)施例提供的虛擬機(jī)系統(tǒng)架構(gòu)組成圖;
[0056]圖2是根據(jù)本發(fā)明實(shí)施例提供的一種方法流程圖;
[0057]圖3是根據(jù)本發(fā)明實(shí)施例提供的又一種方法流程圖;
[0058]圖4是根據(jù)本發(fā)明實(shí)施例提供的又一種方法流程圖;[0059]圖5是根據(jù)本發(fā)明實(shí)施例所創(chuàng)建的虛擬機(jī)群的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;
[0060]圖6是根據(jù)本發(fā)明實(shí)施例提供的又一種方法流程圖;
[0061]圖7是根據(jù)本發(fā)明實(shí)施例提供的一種虛擬機(jī)創(chuàng)建裝置的組成圖;
[0062]圖8是根據(jù)本發(fā)明實(shí)施例提供的又一種虛擬機(jī)創(chuàng)建裝置的組成圖;
[0063]圖9是根據(jù)本發(fā)明實(shí)施例提供的又一種虛擬機(jī)創(chuàng)建裝置的組成圖;
[0064]圖10是根據(jù)本發(fā)明實(shí)施例提供的又一種虛擬機(jī)創(chuàng)建裝置的組成圖;
[0065]圖11是根據(jù)本發(fā)明實(shí)施例提供的一種虛擬機(jī)創(chuàng)建系統(tǒng)的組成圖;
[0066]圖12是根據(jù)本發(fā)明實(shí)施例提供的一種計(jì)算機(jī)的組成圖。
【具體實(shí)施方式】
[0067]本發(fā)明實(shí)施例提出了一種創(chuàng)建虛擬機(jī)的方法、裝置和系統(tǒng),所創(chuàng)建的虛擬機(jī)集群可以滿足滿足分布式應(yīng)用運(yùn)行要求。
[0068]如圖1所示,為本發(fā)明實(shí)施例提供的虛擬機(jī)系統(tǒng)架構(gòu)圖的一種示例,該示例中的虛擬機(jī)系統(tǒng)包括:云應(yīng)用層11、云虛擬化層12以及物理設(shè)備層13。
[0069]所述云應(yīng)用層11上可以運(yùn)行分布式應(yīng)用,所述分布式應(yīng)用包括但不限于Hadoop軟件、HDFS軟件等分布式集群軟件。在所述云應(yīng)用層11,執(zhí)行應(yīng)用的業(yè)務(wù)處理的模塊是應(yīng)用模塊111。
[0070]所述云虛擬化層12,用于根據(jù)云應(yīng)用層11的需求,將物理設(shè)備層13上的物理資源抽象成多個(gè)虛擬機(jī),并對(duì)虛擬機(jī)進(jìn)行管理。在所述云虛擬化層12上進(jìn)行虛擬機(jī)創(chuàng)建/構(gòu)建/抽象工作的模塊在本發(fā)明實(shí)施稱為虛擬化模塊,如圖所示虛擬化模塊121。
[0071]物理設(shè)備層13包含一臺(tái)或多臺(tái)物理機(jī)架,每臺(tái)物理機(jī)架包含一臺(tái)或多臺(tái)物理機(jī)。每臺(tái)物理機(jī)提供的物理資源可以包括CPU資源、內(nèi)存資源、存儲(chǔ)資源以及網(wǎng)絡(luò)資源中的一種或者多種,物理設(shè)備層13提供的物理資源被虛擬化模塊121抽象成多臺(tái)虛擬機(jī),并提供給相應(yīng)的分布式應(yīng)用提供服務(wù)。
[0072]結(jié)合圖1,如圖2所示,為本發(fā)明實(shí)施例提供的創(chuàng)建虛擬機(jī)的流程圖,本發(fā)明實(shí)施例的方法包括:
[0073]步驟201:接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī);
[0074]所述創(chuàng)建虛擬機(jī)創(chuàng)建請(qǐng)求中可以攜帶所述多臺(tái)虛擬機(jī)的配置信息。
[0075]具體實(shí)施中,可以由虛擬化模塊接收所述虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求可以是多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī),所述虛擬機(jī)創(chuàng)建請(qǐng)求還可以是多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求。其中,所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求或者多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求的具體實(shí)現(xiàn)方式可以比較靈活,可以是通過一個(gè)請(qǐng)求來創(chuàng)建多個(gè)虛擬機(jī)組或者多臺(tái)虛擬機(jī),也可以是通過多個(gè)請(qǐng)求來創(chuàng)建多個(gè)虛擬機(jī)組或者多臺(tái)虛擬機(jī),優(yōu)選地,通過一個(gè)請(qǐng)求來創(chuàng)建一個(gè)虛擬機(jī)組或者一臺(tái)虛擬機(jī),本發(fā)明實(shí)施例對(duì)具體實(shí)現(xiàn)不做限定。
[0076]所述每臺(tái)虛擬機(jī)的配置信息可以包含虛擬機(jī)的計(jì)算資源(例如CPU)、存儲(chǔ)資源(例如memory)或者網(wǎng)絡(luò)資源(例如網(wǎng)絡(luò)IP地址)等的配置信息,例如每個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求指明所述每個(gè)虛擬機(jī)組所包含的虛擬機(jī)的數(shù)量和各虛擬機(jī)的規(guī)格,或者,每臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求指明所述每臺(tái)虛擬機(jī)的規(guī)格。
[0077]步驟202:確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得至IJ,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0078]具體地,當(dāng)所述虛擬化模塊接收到多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,則可以根據(jù)所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,確定所述多個(gè)虛擬機(jī)組。當(dāng)所述虛擬化模塊接收到多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求,所述虛擬化模塊可以先將所述多臺(tái)虛擬機(jī)劃分為多個(gè)虛擬機(jī)組,再根據(jù)分組結(jié)果確定虛擬機(jī)組的信息。
[0079]步驟203:為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0080]基于分布式應(yīng)用的運(yùn)行屬性的要求,本發(fā)明實(shí)施例中的虛擬化模塊在為分布式應(yīng)用創(chuàng)建虛擬機(jī)的時(shí)候,考慮分布式應(yīng)用的運(yùn)行屬性,對(duì)分布式應(yīng)用的運(yùn)行屬性進(jìn)行適配,產(chǎn)生與所述分布式應(yīng)用的運(yùn)行屬性相適配的虛擬機(jī)組的部署屬性。例如根據(jù)分布式應(yīng)用的運(yùn)行屬性中的機(jī)架感知屬性,與之相適配,確定所述虛擬機(jī)組的部署屬性包括虛擬機(jī)架屬性,即每一個(gè)虛擬機(jī)組可以模擬為一個(gè)虛擬機(jī)架,一個(gè)虛擬機(jī)架可以等同于一個(gè)物理機(jī)架。根據(jù)虛擬機(jī)組的虛擬機(jī)架屬性,每個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,每個(gè)虛擬機(jī)組創(chuàng)建或者部署在其對(duì)應(yīng)的歸屬物理機(jī)架下。
[0081]因此,所述虛擬化模塊為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架。具體地,所述虛擬化模塊可以根據(jù)每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,也可以任意或者通過輪流的方式為每個(gè)虛擬機(jī)組指定一個(gè)歸屬物理機(jī)架,實(shí)際部署的時(shí)候,若指定的歸屬物理機(jī)架的物理資源不能滿足虛擬機(jī)組的資源需求,可以重新制定另一個(gè)歸屬物理機(jī)架。
[0082]步驟204:在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0083]其中,具體地,可以利用所述歸屬物理機(jī)架中的物理機(jī)的資源來創(chuàng)建所述每個(gè)虛擬機(jī)組中的每臺(tái)虛擬機(jī)。
[0084]本發(fā)明實(shí)施例中,所述虛擬化模塊在為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī)時(shí),首先確定由所述多臺(tái)虛擬機(jī)劃分得到的多個(gè)虛擬機(jī)組,然后為每個(gè)虛擬機(jī)組指定一個(gè)歸屬物理機(jī)架,再在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,由于每個(gè)虛擬機(jī)組在其歸屬的物理機(jī)架下進(jìn)行創(chuàng)建,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的具有相同的歸屬物理機(jī)架,使得每個(gè)虛擬機(jī)組等同于一個(gè)物理機(jī)架,這樣的虛擬機(jī)創(chuàng)建方式,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的部署屬性能夠滿足分布式應(yīng)用的機(jī)架感知屬性,從而為分布式應(yīng)用創(chuàng)建了滿足其運(yùn)行需求的虛擬機(jī)集群。并且,本發(fā)明實(shí)施例使得分布式應(yīng)用不需要改動(dòng)即可與虛擬化技術(shù)結(jié)合實(shí)施,并保證分布式應(yīng)用的性能不受影響。另外,本發(fā)明實(shí)施例中,采用虛擬機(jī)組的粒度來創(chuàng)建虛擬機(jī),此種通過虛擬機(jī)組創(chuàng)建虛擬機(jī)的方式也更加高效。
[0085]如圖3所示,為本發(fā)明實(shí)施例提供的又一個(gè)為分布式應(yīng)用創(chuàng)建虛擬機(jī)的流程圖,本發(fā)明實(shí)施例的方法包括:
[0086]步驟301:接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī);
[0087]步驟302:確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得至IJ,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0088]步驟303:根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定所述每個(gè)虛擬機(jī)組的部署屬性;
[0089]步驟304:根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述每個(gè)虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0090]本實(shí)施例為本發(fā)明的另一種實(shí)現(xiàn)方式,在步驟303中,基于分布式應(yīng)用的運(yùn)行屬性的要求,本發(fā)明實(shí)施例中的虛擬化模塊在為分布式應(yīng)用創(chuàng)建虛擬機(jī)的時(shí)候,考慮分布式應(yīng)用的運(yùn)行屬性,根據(jù)分布式應(yīng)用的運(yùn)行屬性進(jìn)行適配,產(chǎn)生與所述分布式應(yīng)用的運(yùn)行屬性相適配的虛擬機(jī)組的部署屬性。在步驟304中,即可根據(jù)每個(gè)虛擬機(jī)組的配置信息和所述每個(gè)虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組,以滿足分布式應(yīng)用運(yùn)行需求。
[0091]具體地,虛擬化模塊可以根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,所述虛擬化模塊根據(jù)每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,即將同一個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在同一個(gè)物理機(jī)架下。
[0092]本發(fā)明實(shí)施例考慮業(yè)界存在多種集群軟件和不同集群軟件的不同運(yùn)行屬性,在虛擬化模塊增加適配層來實(shí)現(xiàn)創(chuàng)建滿足分布式應(yīng)用的虛擬機(jī)集群,使得分布式應(yīng)用不需要改動(dòng)即可與虛擬化技術(shù)結(jié)合實(shí)施,并保證分布式應(yīng)用的性能不受影響。
[0093]進(jìn)一步地,在本發(fā)明的又一個(gè)實(shí)施例中,在所述步驟204或者步驟304之后,還可以執(zhí)行如下步驟:
[0094]步驟205/305:獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí);
[0095]所述虛擬化模塊可以為每個(gè)虛擬機(jī)組分配一個(gè)標(biāo)識(shí),以用于代表每個(gè)虛擬機(jī)組。
[0096]步驟206/306:將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給上層的應(yīng)用模塊,以使得所述上層的應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0097]具體地,所述虛擬化模塊可以向所述上層的應(yīng)用模塊發(fā)送每臺(tái)虛擬機(jī)所在的物理機(jī)架號(hào),其中,所述每臺(tái)虛擬機(jī)所在的物理機(jī)架號(hào)為所述每臺(tái)虛擬機(jī)所在的虛擬機(jī)組的標(biāo)識(shí)。
[0098]在本實(shí)施例中,由于進(jìn)一步地將每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給了上層的應(yīng)用模塊,例如分布式應(yīng)用模塊,可以使得上層的應(yīng)用模塊在所述多臺(tái)虛擬機(jī)上運(yùn)行的時(shí)候,可以獲知每臺(tái)虛擬機(jī)所屬于的虛擬機(jī)組,由此獲取每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)湫畔?,并根?jù)獲取到的虛擬機(jī)組的標(biāo)識(shí)進(jìn)行業(yè)務(wù)處理,例如保證不將相同的業(yè)務(wù)分配給同一虛擬機(jī)組的虛擬機(jī)進(jìn)行處理,以滿足上層應(yīng)用的可靠性和可用性的要求。
[0099]關(guān)于分布式應(yīng)用的機(jī)架感知屬性和虛擬機(jī)組的虛擬機(jī)架屬性將在后續(xù)實(shí)施例中詳細(xì)說明。
[0100]如圖4所示,為本發(fā)明實(shí)施例提供的又一個(gè)為分布式應(yīng)用創(chuàng)建虛擬機(jī)的流程圖,本發(fā)明實(shí)施例的方法包括:
[0101]步驟401:虛擬化模塊接收多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,其中,每個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求指明所述每個(gè)虛擬機(jī)組所包含的虛擬機(jī)的數(shù)量和各虛擬機(jī)的規(guī)格;
[0102]本實(shí)施例中,虛擬化模塊不再提供單個(gè)的虛擬機(jī)的創(chuàng)建模板,而是提供分布式應(yīng)用的創(chuàng)建模板或者虛擬機(jī)組的創(chuàng)建模板,分布式應(yīng)用的創(chuàng)建模板中包括多個(gè)虛擬機(jī)組,每個(gè)虛擬機(jī)組包括至少一臺(tái)虛擬機(jī),所述多個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)虛擬機(jī)集群,所述虛擬機(jī)集群為分布式應(yīng)用提供服務(wù)。云管理員或者用戶或者其它分布式應(yīng)用的管理軟件在確定需要為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群的時(shí)候,將所述虛擬機(jī)集群的多臺(tái)虛擬機(jī)進(jìn)行分組,每組虛擬機(jī)填寫到一個(gè)虛擬機(jī)組的創(chuàng)建模板,每個(gè)虛擬機(jī)組的創(chuàng)建模板即對(duì)應(yīng)一個(gè)虛擬機(jī)組,虛擬化模塊接收多個(gè)虛擬機(jī)組的創(chuàng)建模板,每個(gè)虛擬機(jī)組的創(chuàng)建模板中可以包含虛擬機(jī)的數(shù)量、標(biāo)識(shí)以及每臺(tái)虛擬機(jī)的規(guī)格。例如,某個(gè)分布式應(yīng)用需要?jiǎng)?chuàng)建15臺(tái)虛擬機(jī),15臺(tái)虛擬機(jī)中的2臺(tái)虛擬機(jī)需要作為管理節(jié)點(diǎn),其規(guī)格信息為8CPUU00G內(nèi)存,其他虛擬機(jī)作為服務(wù)節(jié)點(diǎn),其規(guī)格信息為2CPU、40G內(nèi)存(服務(wù)節(jié)點(diǎn)的規(guī)格可以一致,也可以不同,本實(shí)施例以服務(wù)節(jié)點(diǎn)的規(guī)格一致為例)。將所述15臺(tái)虛擬機(jī)分為3組,其中作為管理節(jié)點(diǎn)的虛擬機(jī)不能分在同一組中,因此,虛擬化模塊接收到3個(gè)虛擬機(jī)節(jié)點(diǎn)組的創(chuàng)建請(qǐng)求,即接收到3個(gè)虛擬機(jī)組的創(chuàng)建模板,如下:
[0103]第一虛擬機(jī)組的創(chuàng)建模板:
[0104]VM 數(shù)量:5;
[0105]VM 規(guī)格:VMl (8CPU、100G 內(nèi)存);
[0106]VM2 (2CPU、40G 內(nèi)存);
[0107]VM3 (2CPU、40G 內(nèi)存);
[0108]VM4 (2CPU、40G 內(nèi)存);
[0109]VM5 (2CPU、40G 內(nèi)存);
[0110]第二虛擬機(jī)組的創(chuàng)建模板:
[0111]VM 數(shù)量:5;
[0112]VM 規(guī)格:VM6 (8CPU、100G 內(nèi)存);
[0113]VM7 (2CPU、40G 內(nèi)存);
[0114]VM8 (2CPU、40G 內(nèi)存);
[0115]VM9 (2CPU、40G 內(nèi)存);
[0116]VMlO (2CPU、40G 內(nèi)存);
[0117]第三虛擬機(jī)組的創(chuàng)建模板:
[0118]VM 數(shù)量:5;
[0119]VM 規(guī)格:VMll (2CPU、40G 內(nèi)存);
[0120]VM12 (2CPU、40G 內(nèi)存);
[0121]VM13 (2CPU、40G 內(nèi)存);
[0122]VM14 (2CPU、40G 內(nèi)存);
[0123]VM15 (2CPU、40G 內(nèi)存)。
[0124]步驟402:所述虛擬化模塊根據(jù)所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,確定所述多個(gè)虛擬機(jī)組。
[0125]例如根據(jù)所述3個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,確定3個(gè)虛擬機(jī)組。
[0126]步驟403:所述虛擬化模塊為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架;
[0127]在本實(shí)施例中,所述虛擬化模塊在確定了多個(gè)虛擬機(jī)組之后,可以進(jìn)一步為每個(gè)虛擬機(jī)組配置一個(gè)歸屬的物理機(jī)架,每個(gè)虛擬機(jī)組中的虛擬機(jī)將在所述歸屬的的物理機(jī)架下進(jìn)行創(chuàng)建。
[0128]本發(fā)明實(shí)施例旨在為分布式應(yīng)用創(chuàng)建滿足其運(yùn)行需求的虛擬機(jī),因此本發(fā)明實(shí)施例在創(chuàng)建虛擬機(jī)的過程中,考慮了分布式應(yīng)用的特性。
[0129]大型分布式應(yīng)用會(huì)分布在很多物理機(jī)架上。在這種情況下,基于可靠性和可用性的要求,產(chǎn)生如下要求:
[0130]-希望不同節(jié)點(diǎn)之間的通信能夠盡量發(fā)生在同一個(gè)物理機(jī)架之內(nèi),而不是跨物理機(jī)架,目的是使寫入數(shù)據(jù)產(chǎn)生的開銷最小化;
[0131]-管理節(jié)點(diǎn)盡可能把數(shù)據(jù)塊的副本放到多個(gè)物理機(jī)架上,目的是為了提高容錯(cuò)能力,使數(shù)據(jù)的可靠性和可用性最大化。
[0132]基于這兩點(diǎn)要求,分布式應(yīng)用的運(yùn)行屬性中包含機(jī)架感知屬性,在分布式分布式應(yīng)用的運(yùn)行時(shí),通過機(jī)架感知屬性來獲取每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)湫畔⒅械奈锢頇C(jī)架信息,并根據(jù)獲取到的物理機(jī)架信息進(jìn)行業(yè)務(wù)處理。例如對(duì)于副本放置(Replica Placement),數(shù)據(jù)塊的副本放置策略的目的是在上述兩點(diǎn)要求之間取得平衡,可以遵循以下規(guī)則:
[0133]-第I個(gè)副本放置于本地節(jié)點(diǎn);
[0134]-第2個(gè)副本放置于不同的物理機(jī)架;
[0135]-第3個(gè)副本放置于本地物理機(jī)架的不同物理機(jī);
[0136]—其余的副本在遵循以下限制的前提下隨機(jī)放置:
[0137]—I個(gè)節(jié)點(diǎn)最多放置I個(gè)副本
[0138]-如果副本數(shù)少于2倍機(jī)架數(shù),不可以在同一機(jī)架放置超過2個(gè)副本。
[0139]也就是說,當(dāng)分布式應(yīng)用發(fā)生數(shù)據(jù)讀寫的時(shí)候,管理節(jié)點(diǎn)需要獲知每個(gè)節(jié)點(diǎn)的機(jī)架信息以根據(jù)上述規(guī)則決定數(shù)據(jù)副本放置在哪個(gè)節(jié)點(diǎn)上,并由哪個(gè)節(jié)點(diǎn)運(yùn)行或者處理。
[0140]當(dāng)分布式應(yīng)用與虛擬化技術(shù)結(jié)合之后,執(zhí)行任務(wù)的節(jié)點(diǎn)就是虛擬機(jī),因此,分布式應(yīng)用需要知道每個(gè)虛擬機(jī)所屬于的機(jī)架號(hào),才能進(jìn)行業(yè)務(wù)處理,另外,執(zhí)行任務(wù)的虛擬機(jī)部署在哪臺(tái)物理機(jī)上也需要遵循一定的規(guī)則,才能滿足分布式應(yīng)用的運(yùn)行需求。
[0141]本發(fā)明實(shí)施例基于分布式應(yīng)用的運(yùn)行屬性的要求,所述虛擬化模塊在為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群的時(shí)候,考慮分布式應(yīng)用的運(yùn)行屬性,增加適配層,對(duì)分布式應(yīng)用的運(yùn)行屬性進(jìn)行適配,產(chǎn)生與所述分布式應(yīng)用的運(yùn)行屬性相適配的虛擬機(jī)組的部署屬性,以使得創(chuàng)建的虛擬機(jī)集群能夠滿足分布式應(yīng)用的運(yùn)行屬性。例如,根據(jù)根據(jù)分布式應(yīng)用的機(jī)架感知屬性產(chǎn)生虛擬機(jī)組的虛擬機(jī)架屬性,即同一虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,每個(gè)虛擬機(jī)節(jié)點(diǎn)組中的虛擬機(jī)創(chuàng)建在其歸屬的物理機(jī)架下。
[0142]在本實(shí)施例中,所述的虛擬機(jī)組的虛擬機(jī)架屬性用于模擬物理機(jī)架的屬性,一個(gè)虛擬機(jī)架可以等同于一個(gè)物理機(jī)架,一個(gè)虛擬機(jī)架內(nèi)的虛擬機(jī)與一個(gè)物理機(jī)架內(nèi)的物理機(jī)具有相同的特性,例如,每個(gè)物理機(jī)架下的各臺(tái)物理機(jī)的物理和軟件資源具有獨(dú)立性且互不干擾,但卻具有相同的電源與基礎(chǔ)設(shè)施(例如空調(diào)設(shè)備等),因此,相應(yīng)地,每個(gè)虛擬機(jī)架中的每臺(tái)虛擬機(jī)也具有獨(dú)立互不干擾的物理和軟件資源,以及具有相同的電源與基礎(chǔ)設(shè)施。具體來說,要使得虛擬機(jī)組的虛擬機(jī)架屬性與物理機(jī)架具有相同的特性,則同一個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在同一個(gè)物理機(jī)架下,也即,同一個(gè)虛擬機(jī)組中的不同虛擬機(jī)的物理資源應(yīng)該來自于同一個(gè)物理機(jī)架。
[0143]步驟403中為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架的具體實(shí)現(xiàn)方式可以有多種方式,所述虛擬化模塊首先可以根據(jù)每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,也可以為每個(gè)虛擬機(jī)組任意或者通過輪流的方式指定一個(gè)歸屬物理機(jī)架,實(shí)際部署的時(shí)候,若指定的歸屬物理機(jī)架的物理資源不能滿足虛擬機(jī)組的資源需求,可以重新指定另一個(gè)歸屬物理機(jī)架。例如,步驟403可以包括:[0144]步驟403-1:確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組;
[0145]步驟403-2:獲取物理設(shè)備層上的空閑物理機(jī)架;
[0146]在本發(fā)明實(shí)施例中,空閑物理機(jī)架或者空閑物理機(jī),主要是指那些物理資源未被完全占用的物理機(jī)架或物理機(jī),可以包含資源完全未被占用的物理機(jī)架或物理機(jī),也可以指資源只被部分占用的物理機(jī)架或物理機(jī)。
[0147]步驟403-3:根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架;
[0148]步驟403-4:從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
[0149]上述確定歸屬物理機(jī)架的過程中,所述虛擬化模塊考慮了每個(gè)虛擬機(jī)組的配置信息,選擇空閑資源滿足虛擬機(jī)組的資源需求的物理機(jī)架作為歸屬物理機(jī)架,保證了在歸屬的物理機(jī)架下創(chuàng)建虛擬機(jī)組能夠被成功執(zhí)行,提高了虛擬機(jī)組的創(chuàng)建成功率。
[0150]進(jìn)一步地,在步驟403-3中,所述虛擬化模塊還可以進(jìn)一步判斷物理機(jī)架中的每臺(tái)物理機(jī)的資源是否滿足每臺(tái)虛擬機(jī)的資源需求,對(duì)歸屬物理機(jī)架進(jìn)行進(jìn)一步的篩選,使得所確定的歸屬物理機(jī)架的每臺(tái)物理機(jī)都能夠創(chuàng)建對(duì)應(yīng)的虛擬機(jī)組的每臺(tái)虛擬機(jī),使得虛擬機(jī)的成功創(chuàng)建得到進(jìn)一步的保證,例如可以步驟403-3可以按照如下方式執(zhí)行:
[0151]步驟403-3-1:確定每個(gè)所述空閑物理機(jī)架上的空閑物理機(jī)的數(shù)量;
[0152]步驟403-3-2:根據(jù)所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,從所述空閑物理機(jī)架中選擇第二物理機(jī)架,其中,所述第二物理機(jī)架的空閑物理機(jī)的數(shù)量大于或等于所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量;
[0153]步驟403-3-2:根據(jù)所述當(dāng)前虛擬機(jī)組包含的各個(gè)虛擬機(jī)的規(guī)格,從所述第二物理機(jī)架中選擇所述第一物理機(jī)架,其中,所述第一物理機(jī)架的空閑物理機(jī)的空閑物理資源滿足所述當(dāng)前虛擬機(jī)組中的每臺(tái)虛擬機(jī)的資源需求。
[0154]上述步驟403中為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,除了根據(jù)每個(gè)虛擬機(jī)組的配置信息之外,還可以進(jìn)一步考慮虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息指明所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系。當(dāng)然,所述虛擬化模塊也可以只根據(jù)虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架。
[0155]對(duì)于分布式應(yīng)用來說,一個(gè)集群軟件往往可能包含很多個(gè)互相冗余的軟件實(shí)例(對(duì)應(yīng)虛擬機(jī)),這些軟件實(shí)例的拓?fù)潢P(guān)系比較復(fù)雜,例如對(duì)于Hadoop軟件來說,管理節(jié)點(diǎn)不能在同一個(gè)物理機(jī)架中,以保證業(yè)務(wù)的可靠性,因此,虛擬化模塊在為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群時(shí),可以獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息用于指明所述多個(gè)虛擬機(jī)組的創(chuàng)建關(guān)聯(lián)關(guān)系或者創(chuàng)建互斥關(guān)系,例如,某些虛擬機(jī)組需要?jiǎng)?chuàng)建在同一臺(tái)物理機(jī)或同一個(gè)物理機(jī)架中,某些虛擬機(jī)組需要?jiǎng)?chuàng)建在同一臺(tái)物理機(jī)或同一個(gè)物理機(jī)架中。
[0156]優(yōu)選地,一種具體實(shí)現(xiàn)方式是:步驟403-4:從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架,可以具體參照如下方式執(zhí)行:
[0157]步驟403-4-1:獲取虛擬機(jī)組的約束信息;
[0158]優(yōu)選地,本實(shí)施例中所述虛擬機(jī)組的約束信息可以隨同所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求一起發(fā)送到所述虛擬化模塊,仍然以上述具體實(shí)例為例,例如,管理節(jié)點(diǎn)需要跨物理機(jī)架進(jìn)行創(chuàng)建,因此所述虛擬化模塊接收到如下虛擬機(jī)組的約束信息:
[0159]第一虛擬機(jī)組與第二虛擬機(jī)組不能創(chuàng)建在同一個(gè)物理機(jī)機(jī)架下。[0160]具體實(shí)踐中,上述虛擬機(jī)組的約束信息可以在所述多個(gè)虛擬機(jī)組的創(chuàng)建模板中直接指定,也可以作為單獨(dú)的消息發(fā)送到所述虛擬化模塊,還可以由所述虛擬化模塊根據(jù)分布式應(yīng)用的屬性信息及相應(yīng)的規(guī)則確定出虛擬機(jī)組的約束信息,本發(fā)明實(shí)施例對(duì)此不做限定。
[0161]步驟403-4-2:獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系;
[0162]步驟403-4-3:根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
[0163]例如,根據(jù)第一虛擬機(jī)組與第二虛擬機(jī)組不能創(chuàng)建在同一個(gè)物理機(jī)機(jī)架下的虛擬機(jī)組約束信息,第一虛擬機(jī)組的歸屬物理機(jī)架選擇第一物理機(jī)架,第二虛擬機(jī)組的歸屬物理機(jī)架選擇第二物理機(jī)架。
[0164]另外,由于分布式應(yīng)用的更高的可靠性的要求,例如至少一個(gè)相同的數(shù)據(jù)副本需要放置在不同的物理機(jī)架下,因此所述虛擬機(jī)組約束信息還可以設(shè)置為:不同虛擬機(jī)組對(duì)應(yīng)不同的歸屬物理機(jī)架;則,所述虛擬化模塊根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架,例如第一虛擬機(jī)組的歸屬物理機(jī)架為物理機(jī)架3,第二虛擬機(jī)組的歸屬物理機(jī)架為物理機(jī)架1,第三虛擬機(jī)組的歸屬物理機(jī)架為物理機(jī)架2。
[0165]步驟404:所述虛擬化模塊在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組;
[0166]所述虛擬化模塊根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,例如,所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組的每臺(tái)虛擬機(jī)。具體地,所述虛擬化模塊根據(jù)每個(gè)虛擬機(jī)組中的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,調(diào)度物理設(shè)備層上的物理資源以創(chuàng)建每個(gè)虛擬機(jī)組中的每臺(tái)虛擬機(jī)。
[0167]進(jìn)一步地,步驟404中,所述虛擬化模塊還可以進(jìn)一步將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上,即所述虛擬化模塊將同一個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在同一個(gè)物理機(jī)架下的不同物理機(jī)中,例如:
[0168]將第一虛擬機(jī)組創(chuàng)建在物理機(jī)架3下,在物理機(jī)架3的物理機(jī)I上創(chuàng)建VMl,在物理機(jī)架3的物理機(jī)2上創(chuàng)建VM2,在物理機(jī)架3的物理機(jī)3上創(chuàng)建VM3,在物理機(jī)架3的物理機(jī)4上創(chuàng)建VM4,在物理機(jī)架3的物理機(jī)5上創(chuàng)建VM5 ;
[0169]將第二虛擬機(jī)組創(chuàng)建在物理機(jī)架I下,在物理機(jī)架I的物理機(jī)I上創(chuàng)建VM6,在物理機(jī)架I的物理機(jī)2上創(chuàng)建VM7,在物理機(jī)架I的物理機(jī)3上創(chuàng)建VM8,在物理機(jī)架I的物理機(jī)4上創(chuàng)建VM9,在物理機(jī)架I的物理機(jī)5上創(chuàng)建VMlO ;
[0170]將第三虛擬機(jī)組創(chuàng)建在物理機(jī)架2下,在物理機(jī)架2的物理機(jī)I上創(chuàng)建VMl I,在物理機(jī)架2的物理機(jī)2上創(chuàng)建VM12,在物理機(jī)架2的物理機(jī)3上創(chuàng)建VM13,在物理機(jī)架2的物理機(jī)4上創(chuàng)建VM14,在物理機(jī)架2的物理機(jī)5上創(chuàng)建VM15。
[0171]上述虛擬化模塊將同一虛擬機(jī)組的不同虛擬機(jī)創(chuàng)建在同一歸屬物理機(jī)架的不同物理機(jī)上,能夠保證虛擬機(jī)組更進(jìn)一步與物理機(jī)架具有相同的屬性,使得虛擬機(jī)組能夠滿足分布式應(yīng)用更高可靠性的運(yùn)行要求。
[0172]步驟405:所述虛擬化模塊獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí);[0173]所述虛擬化模塊可以為所述每個(gè)虛擬機(jī)組分配虛擬機(jī)組的標(biāo)識(shí),例如,所述虛擬化模塊為第一虛擬機(jī)組分配的虛擬機(jī)組的標(biāo)識(shí)為VRl (VR,Virtual Rack);為第二虛擬機(jī)組分配的虛擬機(jī)組的標(biāo)識(shí)為VR2 ;為第三虛擬機(jī)組分配的虛擬機(jī)組的標(biāo)識(shí)為VR3。
[0174]所述步驟406可以在虛擬化模塊確定多個(gè)虛擬機(jī)組后即可執(zhí)行,本發(fā)明實(shí)施例在此處描述并不限定其具體實(shí)施時(shí)的具體執(zhí)行順序。
[0175]當(dāng)然,所述虛擬化模塊也可以不用分配所述虛擬機(jī)組的標(biāo)識(shí),而獲取每個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求中攜帶的虛擬機(jī)組的標(biāo)識(shí)。
[0176]步驟406:所述虛擬化模塊將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給上層的應(yīng)用模塊,以使得所述上層的應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0177]具體地,所述虛擬化模塊將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給分布式應(yīng)用。
[0178]分布式應(yīng)用對(duì)機(jī)架的感知并非是自適應(yīng)的,首先分布式應(yīng)用的管理者將分布式分布式應(yīng)用的各節(jié)點(diǎn)采用樹狀的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行管理,例如,分布式應(yīng)用由多個(gè)數(shù)據(jù)中心(Data Center,DC)組成,每個(gè)數(shù)據(jù)中心里有多個(gè)機(jī)架(Rack),每個(gè)機(jī)架上有多臺(tái)物理機(jī)。每個(gè)節(jié)點(diǎn)可以通過如下形式表述其在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的位置,例如,Rl的位置可以表示為/D1/R1,而N12的位置可以表示為/D2/R4/N12。再次,告知管理節(jié)點(diǎn)每個(gè)服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)潢P(guān)系。
[0179]因此,所述虛擬化模塊還可以將每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給所述分布式應(yīng)用,以使得所述分布式應(yīng)用根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)來處理業(yè)務(wù)。
[0180]例如,所述虛擬化模塊返回虛擬機(jī)的創(chuàng)建結(jié)果,包含VRl (VMU VM2、VM3、VM4和VM5), VR2 (VM6、VM7、VM8、VM9 和 VM10)和 VR3 (VM11、VM12、VM13、VM14 和 VM15)。
[0181]優(yōu)選地,所述虛擬化模塊可以將每臺(tái)虛擬機(jī)所歸屬的虛擬機(jī)組的標(biāo)識(shí)作為所述每臺(tái)虛擬機(jī)的機(jī)架號(hào),提供給所述分布式應(yīng)用。
[0182]進(jìn)一步地,所述虛擬化模塊還可以將每個(gè)虛擬機(jī)組所在的物理機(jī)架的信息提供給分布式應(yīng)用,例如所述虛擬化模塊返回如下信息:VR1-Rackl,VR2-Rack2和VR3_Rack3。
[0183]所述分布式應(yīng)用獲取到所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)后,可以建立每臺(tái)虛擬機(jī)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并將所述網(wǎng)絡(luò)拓?fù)浣Y(jié)果配置到所述分布式應(yīng)用的管理節(jié)點(diǎn)中,以使得所述管理節(jié)點(diǎn)根據(jù)每臺(tái)虛擬機(jī)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行業(yè)務(wù)處理。如圖5所示,為根據(jù)本發(fā)明實(shí)施例應(yīng)用模塊所建立的為分布式應(yīng)用提供服務(wù)的虛擬機(jī)群的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。例如,VMl作為管理節(jié)點(diǎn),當(dāng)接收到數(shù)據(jù)之后,根據(jù)每臺(tái)虛擬機(jī)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),進(jìn)行如下處理:
[0184]-第I個(gè)副本放置于本地節(jié)點(diǎn),如VMl;
[0185]—第2個(gè)副本放置于不同的物理機(jī)架,如VMG2中的VM7;
[0186]—第3個(gè)副本放置于本地物理機(jī)架的不同物理機(jī),如VMGl中的VM2。
[0187]本發(fā)明實(shí)施例,所述虛擬化模塊在為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī)時(shí),首先確定由所述多臺(tái)虛擬機(jī)劃分得到的多個(gè)虛擬機(jī)組,然后為每個(gè)虛擬機(jī)組指定一個(gè)歸屬物理機(jī)架,再在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,由于每個(gè)虛擬機(jī)組在其歸屬的物理機(jī)架下進(jìn)行創(chuàng)建,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的具有相同的歸屬物理機(jī)架,使得每個(gè)虛擬機(jī)組等同于一個(gè)物理機(jī)架,這樣的虛擬機(jī)創(chuàng)建方式,每個(gè)虛擬機(jī)組中的各虛擬機(jī)的部署屬性能夠滿足分布式應(yīng)用的機(jī)架感知屬性,從而為分布式應(yīng)用創(chuàng)建了滿足其運(yùn)行需求的虛擬機(jī)集群。并且,本發(fā)明實(shí)施例考慮業(yè)界存在多種集群軟件和不同集群軟件的不同運(yùn)行屬性,在虛擬化模塊增加適配層來實(shí)現(xiàn)創(chuàng)建滿足分布式應(yīng)用的虛擬機(jī)集群,使得分布式應(yīng)用不需要改動(dòng)即可與虛擬化技術(shù)結(jié)合實(shí)施,并保證分布式應(yīng)用的性能不受影響。另外,本發(fā)明實(shí)施例中,采用虛擬機(jī)組的粒度來創(chuàng)建虛擬機(jī),此種通過虛擬機(jī)組創(chuàng)建虛擬機(jī)的方式也更加高效。
[0188]在本實(shí)施例中,由于進(jìn)一步地將每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給了上層的應(yīng)用模塊,例如分布式應(yīng)用模塊,可以使得上層的應(yīng)用模塊在所述多臺(tái)虛擬機(jī)上運(yùn)行的時(shí)候,可以獲知每臺(tái)虛擬機(jī)所屬于的虛擬機(jī)組,由此獲取每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)湫畔?,并根?jù)獲取到的虛擬機(jī)組的標(biāo)識(shí)進(jìn)行業(yè)務(wù)處理,例如保證不將相同的業(yè)務(wù)分配給同一虛擬機(jī)組的虛擬機(jī)進(jìn)行處理,以滿足上層應(yīng)用的可靠性和可用性的要求。
[0189]另外,本實(shí)施例中,虛擬化模塊進(jìn)一步考慮虛擬機(jī)組的約束信息來創(chuàng)建虛擬機(jī)組,使得屬于一個(gè)分布式應(yīng)用多個(gè)虛擬機(jī)組不共享物理機(jī)架,即任意兩個(gè)虛擬機(jī)組都不創(chuàng)建在同一個(gè)物理機(jī)架下,如此創(chuàng)建的虛擬機(jī)集群,能夠滿足可靠性更高要求的分布式應(yīng)用的運(yùn)行需求。
[0190]進(jìn)一步地,本實(shí)施例中,虛擬化模塊將同一虛擬機(jī)組的不同虛擬機(jī)創(chuàng)建在同一歸屬物理機(jī)架的不同物理機(jī)上,能夠保證虛擬機(jī)組更進(jìn)一步與物理機(jī)架具有相同的屬性,使得虛擬機(jī)組能夠滿足分布式應(yīng)用更高可靠性的運(yùn)行要求。
[0191]進(jìn)一步地,本實(shí)施例中,虛擬化模塊不再提供單個(gè)的虛擬機(jī)的創(chuàng)建模板,而是提供分布式應(yīng)用的創(chuàng)建模板或者虛擬機(jī)組的創(chuàng)建模板,提供了更加便利的虛擬機(jī)集群的創(chuàng)建方式。
[0192]如圖6所示,為本發(fā)明實(shí)施例提供的又一種創(chuàng)建虛擬機(jī)集群的流程圖,本發(fā)明實(shí)施例的方法包括:
[0193]步驟601:虛擬化模塊接收多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求,其中,每臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求指明所述每臺(tái)虛擬機(jī)的數(shù)量和規(guī)格;
[0194]所述多臺(tái)虛擬機(jī)組成一個(gè)虛擬機(jī)集群,所述虛擬機(jī)集群為分布式應(yīng)用提供服務(wù);
[0195]在本實(shí)施例中,所述虛擬化模塊提供單個(gè)的虛擬機(jī)的創(chuàng)建模板,云管理員或者用戶在確定需要為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群的時(shí)候,將所述虛擬機(jī)集群的多臺(tái)虛擬機(jī)填寫到一個(gè)虛擬機(jī)的創(chuàng)建模板,虛擬化模塊接收多個(gè)虛擬機(jī)的創(chuàng)建模板。其中,每個(gè)虛擬機(jī)的創(chuàng)建模板中可以包含虛擬機(jī)的標(biāo)識(shí)、數(shù)量以及配置信息。
[0196]優(yōu)選地,所述虛擬化模塊接收的虛擬機(jī)的創(chuàng)建模板可以是根據(jù)虛擬機(jī)的規(guī)格進(jìn)行分類后的創(chuàng)建模板,例如所需要?jiǎng)?chuàng)建的虛擬機(jī)包含兩種規(guī)格,則虛擬化模塊可以接收到2個(gè)虛擬機(jī)的創(chuàng)建模板,每一種創(chuàng)建模板中包含了虛擬機(jī)的規(guī)格、標(biāo)識(shí)和數(shù)量。
[0197]例如,某個(gè)分布式應(yīng)用需要?jiǎng)?chuàng)建15臺(tái)虛擬機(jī),15臺(tái)虛擬機(jī)中的2臺(tái)虛擬機(jī)需要作為管理節(jié)點(diǎn),其規(guī)格信息為8CPUU00G內(nèi)存,其他虛擬機(jī)作為服務(wù)節(jié)點(diǎn),其規(guī)格信息為2CPU、40G內(nèi)存(服務(wù)節(jié)點(diǎn)的規(guī)格可以一致,也可以不同,本實(shí)施例以服務(wù)節(jié)點(diǎn)的規(guī)格一致為例)。則所述虛擬化模塊接收到如下虛擬機(jī)的創(chuàng)建模板:
[0198]模板一(第一虛擬機(jī)創(chuàng)建請(qǐng)求):虛擬機(jī)規(guī)格:8CPU、100G內(nèi)存;虛擬機(jī)標(biāo)識(shí):VM1和VM6 ;虛擬機(jī)數(shù)量:2 ;
[0199]模板二(第二虛擬機(jī)創(chuàng)建請(qǐng)求):虛擬機(jī)規(guī)格:2CPU、40G內(nèi)存;虛擬機(jī)標(biāo)識(shí):VM2、VM3、VM4、VM5、VM7、VM8、VM9、VMlO、VMl1、VMl2、VMl3、VM14 和 VMl5 ;虛擬機(jī)數(shù)量:13。[0200]步驟602:所述虛擬化模塊將所述多臺(tái)虛擬機(jī)劃分為所述多個(gè)虛擬機(jī)組;
[0201]上一個(gè)實(shí)施例中,云管理員或者用戶或者其它分布式應(yīng)用的管理軟件在確定需要為分布式應(yīng)用創(chuàng)建虛擬機(jī)集群的時(shí)候,將所述虛擬機(jī)集群的多臺(tái)虛擬機(jī)進(jìn)行分組,然后所述虛擬化模塊接收已經(jīng)分好組的多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,然而,在本實(shí)施例中,所述虛擬化模塊接收到的是多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求,所述虛擬化模塊需要將所述多臺(tái)虛擬機(jī)進(jìn)行分組,以得到多個(gè)虛擬機(jī)組。所述虛擬化模塊在對(duì)所述多臺(tái)虛擬機(jī)進(jìn)行分組的時(shí)候,需要考慮分布式應(yīng)用的分布式屬性,例如管理節(jié)點(diǎn)分布是創(chuàng)建以滿足可靠性,即作為管理節(jié)點(diǎn)的虛擬機(jī)不能分在同一組中,得到的虛擬機(jī)組如下:
[0202]第一虛擬機(jī)組:
[0203]VM 數(shù)量:5;
[0204]成員:VMl、VM2、VM3、VM4和 VM5 ;
[0205]第二虛擬機(jī)組:
[0206]VM 數(shù)量:5;
[0207]成員:VM6、VM7、VM8、VM9和 VMlO ;
[0208]第三虛擬機(jī)組:
[0209]VM 數(shù)量:5;
[0210]成員:VM11、VM12、VM13、VM14和 VM15。
[0211]上述虛擬機(jī)組的分組中,每一個(gè)虛擬機(jī)組中的虛擬機(jī)數(shù)量是相同的,但是,以上只是本發(fā)明的一個(gè)【具體實(shí)施方式】,在其他實(shí)施例中,每個(gè)虛擬機(jī)組中的虛擬機(jī)的數(shù)量可以是任意的。
[0212]步驟603:所述虛擬化模塊為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架;
[0213]步驟604:在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組;
[0214]步驟605:所述虛擬化模塊獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí);
[0215]步驟606:所述虛擬化模塊將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給上層的應(yīng)用模塊,以使得所述上層的應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0216]上述步驟603-606與步驟403-406的具體實(shí)現(xiàn)細(xì)節(jié)相類似,本實(shí)施例中就不再贅述。
[0217]本發(fā)明實(shí)施例中,由于虛擬化模塊接收到的是多臺(tái)虛擬機(jī)創(chuàng)建請(qǐng)求,該虛擬化模塊還將為分布式應(yīng)用提供服務(wù)的多臺(tái)虛擬機(jī)進(jìn)行分組,并對(duì)分組得到的虛擬機(jī)組確定歸屬物理機(jī)架,創(chuàng)建所述虛擬機(jī)組,使得所創(chuàng)建的虛擬機(jī)集群能夠滿足分布式應(yīng)用的運(yùn)行需求。
[0218]如圖7所示,為本發(fā)明實(shí)施例提供的一種創(chuàng)建虛擬機(jī)的裝置700,包括:
[0219]接收單元701,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī);
[0220]分組單元702,用于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0221]配置單元703,用于為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0222]創(chuàng)建單元704,用于在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。[0223]具體地,所述創(chuàng)建單元704具體用于:將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
[0224]具體地,在本發(fā)明實(shí)施例的一種具體實(shí)現(xiàn)中,所述配置單元703具體用于:根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格。
[0225]優(yōu)選地,如圖8所示,在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)施例中,所述裝置800除包括如圖7所示的各組成外,所述配置單元703包括:
[0226]確定子單元7031,用于確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組,獲取物理設(shè)備層上的空閑物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架;
[0227]選擇子單元7032,用于從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
[0228]進(jìn)一步,所述確定子單元7031具體用于:確定每個(gè)所述空閑物理機(jī)架上的空閑物理機(jī)的數(shù)量,根據(jù)所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,從所述空閑物理機(jī)架中選擇第二物理機(jī)架,其中,所述第二物理機(jī)架的空閑物理機(jī)的數(shù)量大于或等于所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,根據(jù)所述當(dāng)前虛擬機(jī)組包含的各個(gè)虛擬機(jī)的規(guī)格,從所述第二物理機(jī)架中選擇所述第一物理機(jī)架,其中,所述第一物理機(jī)架的空閑物理機(jī)的空閑物理資源滿足所述當(dāng)前虛擬機(jī)組中的每臺(tái)虛擬機(jī)的資源需求。
[0229]進(jìn)一步,所述選擇子單元7032具體用于:獲取虛擬機(jī)組的約束信息,獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系,根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
[0230]在本發(fā)明實(shí)施例的另一種具體實(shí)現(xiàn)中,所述配置單元703可以具體用于:獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息表示所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系,根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)所述歸屬物理機(jī)架。
[0231]在本發(fā)明實(shí)施例的另一種具體實(shí)現(xiàn)中,如圖9所示,所述裝置900除包括如圖7所示的各組成外,還包括發(fā)送單元705,用于獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給上層的應(yīng)用模塊,以使得所述上層的應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0232]優(yōu)選地,所述發(fā)送單元705,具體用于向所述上層的應(yīng)用模塊發(fā)送每臺(tái)虛擬機(jī)所在的機(jī)架號(hào),其中,所述每臺(tái)虛擬機(jī)所在的機(jī)架號(hào)為所述每臺(tái)虛擬機(jī)所在的虛擬機(jī)組的標(biāo)識(shí)。
[0233]如圖10所示,為本發(fā)明實(shí)施例提供的一種創(chuàng)建虛擬機(jī)的裝置1000,包括:
[0234]接收單元1001,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī);
[0235]分組單元1002,用于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī);
[0236]獲取單元1003,用于獲取每個(gè)虛擬機(jī)組的配置信息,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格;
[0237]確定單元1004,用于根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定虛擬機(jī)組的部署屬性;
[0238]創(chuàng)建單元1005,用于根據(jù)所述獲取單元1003獲取的所述每個(gè)虛擬機(jī)組的配置信息和所述確定單元1004確定的所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0239]具體地,所述確定單元1004具體用于:根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,其中,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;
[0240]所述創(chuàng)建單元1005,具體用于:根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組。
[0241]如圖11所示,本發(fā)明實(shí)施例提供的一種創(chuàng)建虛擬機(jī)的系統(tǒng),包括:
[0242]云虛擬化裝置1101,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī),確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī),為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用裝置;
[0243]所述應(yīng)用裝置1102,用于接收所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
[0244]如圖12,為本發(fā)明實(shí)施例的計(jì)算機(jī)的結(jié)構(gòu)組成示意圖。本發(fā)明實(shí)施例的計(jì)算機(jī)可包括:
[0245]處理器1201、存儲(chǔ)器1202、系統(tǒng)總線1204和通信接口 1205。CPU1201、存儲(chǔ)器1202和通信接口 1205之間通過系統(tǒng)總線1204連接并完成相互間的通信。
[0246]處理器1201可能為單核或多核中央處理單元,或者為特定集成電路,或者為被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0247]存儲(chǔ)器1202可以為高速RAM存儲(chǔ)器,也可以為非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。
[0248]存儲(chǔ)器1202用于計(jì)算機(jī)執(zhí)行指令1203。具體的,計(jì)算機(jī)執(zhí)行指令1203中可以包括程序代碼。
[0249]當(dāng)計(jì)算機(jī)運(yùn)行時(shí),處理器1201運(yùn)行計(jì)算機(jī)執(zhí)行指令1203,可以執(zhí)行圖2、3、4或圖6任意之一所述的方法流程。
[0250]本領(lǐng)域普通技術(shù)人員將會(huì)理解,本發(fā)明的各個(gè)方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以被具體實(shí)施為系統(tǒng)、方法或者計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以采用完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實(shí)施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系統(tǒng)”。此夕卜,本發(fā)明的各方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以采用計(jì)算機(jī)程序產(chǎn)品的形式,計(jì)算機(jī)程序產(chǎn)品是指存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可讀程序代碼。
[0251 ] 計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包含但不限于電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)、設(shè)備或者裝置,或者前述的任意適當(dāng)組合,如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或者快閃存儲(chǔ)器)、光纖、便攜式只讀存儲(chǔ)器(CD-ROM)。[0252]計(jì)算機(jī)中的處理器讀取存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可讀程序代碼,使得處理器能夠執(zhí)行在流程圖中每個(gè)步驟、或各步驟的組合中規(guī)定的功能動(dòng)作;生成實(shí)施在框圖的每一塊、或各塊的組合中規(guī)定的功能動(dòng)作的裝置。
[0253]計(jì)算機(jī)可讀程序代碼可以完全在用戶的計(jì)算機(jī)上執(zhí)行、部分在用戶的計(jì)算機(jī)上執(zhí)行、作為單獨(dú)的軟件包、部分在用戶的計(jì)算機(jī)上并且部分在遠(yuǎn)程計(jì)算機(jī)上,或者完全在遠(yuǎn)程計(jì)算機(jī)或者服務(wù)器上執(zhí)行。也應(yīng)該注意,在某些替代實(shí)施方案中,在流程圖中各步驟、或框圖中各塊所注明的功能可能不按圖中注明的順序發(fā)生。例如,依賴于所涉及的功能,接連示出的兩個(gè)步驟、或兩個(gè)塊實(shí)際上可能被大致同時(shí)執(zhí)行,或者這些塊有時(shí)候可能被以相反順序執(zhí)行。
[0254]本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
[0255]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種創(chuàng)建虛擬機(jī)的方法,其特征在于,包括: 接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī); 確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī); 為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架; 在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。
2.如權(quán)利要求1所述的方法,其特征在于,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,包括: 將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,包括: 根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所`述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,包括: 確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組; 獲取物理設(shè)備層上的空閑物理機(jī)架; 根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架; 從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架,包括: 確定每個(gè)所述空閑物理機(jī)架上的空閑物理機(jī)的數(shù)量; 根據(jù)所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,從所述空閑物理機(jī)架中選擇第二物理機(jī)架,其中,所述第二物理機(jī)架的空閑物理機(jī)的數(shù)量大于或等于所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量; 根據(jù)所述當(dāng)前虛擬機(jī)組包含的各個(gè)虛擬機(jī)的規(guī)格,從所述第二物理機(jī)架中選擇所述第一物理機(jī)架,其中,所述第一物理機(jī)架的空閑物理機(jī)的空閑物理資源滿足所述當(dāng)前虛擬機(jī)組中的每臺(tái)虛擬機(jī)的資源需求。
6.如權(quán)利要求4或5所述的方法,其特征在于,所述從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架,包括: 獲取虛擬機(jī)組的約束信息; 獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系; 根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
7.如權(quán)利要求1或2所述的方法,其特征在于,所述為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,包括: 獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息表示所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系; 根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)所述歸屬物理機(jī)架。
8.如權(quán)利要求6或7所述的方法,其特征在于,所述虛擬機(jī)組約束信息包括:不同虛擬機(jī)組對(duì)應(yīng)不同的歸屬物理機(jī)架; 貝U,為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
9.如權(quán)利要求1-8任一項(xiàng)所述的方法,其特征在于,還包括: 獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí); 將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用模塊,以使得所述應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
10.如權(quán)利要求9所述的方法,其特征在于,所述將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用模塊,包括: 向所述應(yīng)用模塊發(fā)送每臺(tái)虛擬機(jī)所在的機(jī)架號(hào),其中,所述每臺(tái)虛擬機(jī)所在的機(jī)架號(hào)為所述每臺(tái)虛擬機(jī)所在的虛擬機(jī)組的標(biāo)識(shí)。
11.如權(quán)利要求1-10任一項(xiàng)所述的方法,其特征在于,所述接收虛擬機(jī)創(chuàng)建請(qǐng)求包括: 接收多個(gè)虛擬機(jī)組的創(chuàng)`建請(qǐng)求,其中,每個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求指明所述每個(gè)虛擬機(jī)組所包含的虛擬機(jī)的數(shù)量和各虛擬機(jī)的規(guī)格; 相應(yīng)地,所述確定多個(gè)虛擬機(jī)組包括: 根據(jù)所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,確定所述多個(gè)虛擬機(jī)組。
12.如權(quán)利要求1-10任一項(xiàng)所述的方法,其特征在于,所述接收虛擬機(jī)創(chuàng)建請(qǐng)求包括: 接收多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求,其中,每臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求指明所述每臺(tái)虛擬機(jī)的規(guī)格; 相應(yīng)地,所述確定多個(gè)虛擬機(jī)組包括: 將所述多臺(tái)虛擬機(jī)劃分為所述多個(gè)虛擬機(jī)組。
13.—種創(chuàng)建虛擬機(jī)的方法,其特征在于,包括: 接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī); 確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī); 獲取每個(gè)虛擬機(jī)組的配置信息,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格; 根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定虛擬機(jī)組的部署屬性; 根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
14.如權(quán)利要求13所述的方法,其特征在于,所述根據(jù)所述分布式應(yīng)用的屬性,確定所述每個(gè)虛擬機(jī)組的部署屬性,包括: 根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,其中,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架;相應(yīng)地,所述根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組,包括: 根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架; 根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組。
15.如權(quán)利要求14所述的方法,其特征在于,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組,包括: 根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
16.如權(quán)利要求14或15所述的方法,其特征在于,所述根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,包括: 根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
17.一種創(chuàng)建虛擬機(jī)的裝置,其特征在于,包括: 接收單元,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī); 分組單元,用 于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī); 配置單元,用于為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架; 創(chuàng)建單元,用于在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組。
18.如權(quán)利要求17所述的裝置,其特征在于,所述創(chuàng)建單元具體用于:將所述每個(gè)虛擬機(jī)組中的不同虛擬機(jī)創(chuàng)建在所述歸屬物理機(jī)架中的不同物理機(jī)上。
19.如權(quán)利要求17或18所述的裝置,其特征在于,所述配置單元具體用于:根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格。
20.如權(quán)利要求19所述的裝置,其特征在于,所述配置單元包括: 確定子單元,用于確定待分配歸屬物理機(jī)架的當(dāng)前虛擬機(jī)組,獲取物理設(shè)備層上的空閑物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格,從所述空閑物理機(jī)架中選擇空閑資源滿足所述當(dāng)前虛擬機(jī)組所需資源的第一物理機(jī)架; 選擇子單元,用于從所述第一物理機(jī)架中選擇一個(gè)作為所述歸屬物理機(jī)架。
21.如權(quán)利要求20所述的裝置,其特征在于,所述確定子單元具體用于:確定每個(gè)所述空閑物理機(jī)架上的空閑物理機(jī)的數(shù)量,根據(jù)所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,從所述空閑物理機(jī)架中選擇第二物理機(jī)架,其中,所述第二物理機(jī)架的空閑物理機(jī)的數(shù)量大于或等于所述當(dāng)前虛擬機(jī)組包含的虛擬機(jī)的數(shù)量,根據(jù)所述當(dāng)前虛擬機(jī)組包含的各個(gè)虛擬機(jī)的規(guī)格,從所述第二物理機(jī)架中選擇所述第一物理機(jī)架,其中,所述第一物理機(jī)架的空閑物理機(jī)的空閑物理資源滿足所述當(dāng)前虛擬機(jī)組中的每臺(tái)虛擬機(jī)的資源需求。
22.如權(quán)利要求20或21所述的裝置,其特征在于,所述選擇子單元具體用于:獲取虛擬機(jī)組的約束信息,獲取歸屬物理機(jī)架的分配記錄信息,所述分配記錄信息包括已分配歸屬物理機(jī)架的虛擬機(jī)組與歸屬物理機(jī)架的對(duì)應(yīng)關(guān)系,根據(jù)所述所述分配記錄信息和所述虛擬機(jī)組約束信息,從所述第一物理機(jī)架中選擇一個(gè)作為所述當(dāng)前虛擬機(jī)組的歸屬物理機(jī)架。
23.如權(quán)利要求17或18所述的裝置,其特征在于,所述配置單元具體用于:獲取虛擬機(jī)組的約束信息,所述虛擬機(jī)組的約束信息表示所述多個(gè)虛擬機(jī)組之間的關(guān)聯(lián)關(guān)系或者互斥關(guān)系,根據(jù)所述虛擬機(jī)組的約束信息,為所述每個(gè)虛擬機(jī)組確定一個(gè)所述歸屬物理機(jī)架。
24.如權(quán)利要求22或23所述的裝置,其特征在于,所述虛擬機(jī)組約束信息包括:不同虛擬機(jī)組對(duì)應(yīng)不同的歸屬物理機(jī)架; 貝U,所述配置單元為所述每個(gè)虛擬機(jī)組確定一個(gè)不同的歸屬物理機(jī)架。
25.如權(quán)利要求22-24任一項(xiàng)所述的裝置,其特征在于,還包括: 發(fā)送單元,用于獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用模塊,以使得所述應(yīng)用模塊根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
26.如權(quán)利要求25所述的裝置,其特征在于,所述發(fā)送單元,具體用于向所述應(yīng)用模塊發(fā)送每臺(tái)虛擬機(jī)所在的機(jī)架號(hào),其中,所述每臺(tái)虛擬機(jī)所在的機(jī)架號(hào)為所述每臺(tái)虛擬機(jī)所在的虛擬機(jī)組的標(biāo)識(shí)。
27.如權(quán)利要求22-26任一項(xiàng)所述的裝置,其特征在于,所述接收單元具體用于:接收多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,其中,每個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求指明所述每個(gè)虛擬機(jī)組所包含的虛擬機(jī)的數(shù)量和各虛擬機(jī)的規(guī)格; 所述分組單元具體用于:根據(jù)所述多個(gè)虛擬機(jī)組的創(chuàng)建請(qǐng)求,確定所述多個(gè)虛擬機(jī)組。
28.如權(quán)利要求22-26任一項(xiàng)所述的裝置,其特征在于,所述接收單元具體用于:接收多臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求,其中,每臺(tái)虛擬機(jī)的創(chuàng)建請(qǐng)求指明所述每臺(tái)虛擬機(jī)的規(guī)格; 所述分組單元具體用于:將所述多臺(tái)虛擬機(jī)劃分為所述多個(gè)虛擬機(jī)組。
29.—種創(chuàng)建虛擬機(jī)的裝置,其特征在于,包括: 接收單元,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于為分布式應(yīng)用創(chuàng)建多臺(tái)虛擬機(jī); 分組單元,用于確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī); 獲取單元,用于獲取每個(gè)虛擬機(jī)組的配置信息,其中,所述每個(gè)虛擬機(jī)組的配置信息包括所述每個(gè)虛擬機(jī)組包含的虛擬機(jī)的數(shù)量和各個(gè)虛擬機(jī)的規(guī)格; 確定單元,用于根據(jù)所述分布式應(yīng)用的運(yùn)行屬性,確定虛擬機(jī)組的部署屬性; 創(chuàng)建單元,用于根據(jù)所述每個(gè)虛擬機(jī)組的配置信息和所述虛擬機(jī)組的部署屬性,創(chuàng)建所述每個(gè)虛擬機(jī)組。
30.如權(quán)利要求29所述的裝置,其特征在于,所述確定單元具體用于:根據(jù)所述分布式應(yīng)用的機(jī)架感知屬性,確定所述虛擬機(jī)組的虛擬機(jī)架屬性,其中,所述虛擬機(jī)架屬性表明一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架; 所述創(chuàng)建單元,具體用于:根據(jù)所述虛擬機(jī)組的虛擬機(jī)架屬性,為所述每個(gè)虛擬機(jī)組確定一個(gè)歸屬物理機(jī)架,根據(jù)所述每個(gè)虛擬機(jī)組的配置信息,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下創(chuàng)建所述每個(gè)虛擬機(jī)組。
31.一種創(chuàng)建虛擬機(jī)的系統(tǒng),其特征在于,包括: 云虛擬化裝置,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于創(chuàng)建多臺(tái)虛擬機(jī),確定多個(gè)虛擬機(jī)組,其中,所述多個(gè)虛擬機(jī)組由所述多臺(tái)虛擬機(jī)劃分得到,每個(gè)虛擬機(jī)組包含至少一臺(tái)虛擬機(jī),為所述每個(gè)虛擬機(jī)組確定歸屬物理機(jī)架,其中,一個(gè)虛擬機(jī)組對(duì)應(yīng)一個(gè)歸屬物理機(jī)架,在所述每個(gè)虛擬機(jī)組的歸屬物理機(jī)架下,創(chuàng)建所述每個(gè)虛擬機(jī)組,獲取所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),將所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)提供給應(yīng)用裝置; 所述應(yīng)用裝置,用于接收所述每個(gè)虛擬機(jī)組的標(biāo)識(shí),根據(jù)所述每個(gè)虛擬機(jī)組的標(biāo)識(shí)處理業(yè)務(wù)。
32.—種計(jì)算機(jī),其特征在于,包括:處理器、存儲(chǔ)器、總線和通信接口 ; 所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過所述總線連接,當(dāng)所述計(jì)算機(jī)運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述計(jì)算機(jī)執(zhí)行指令,以使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1-12任一項(xiàng)所述的創(chuàng)建虛擬機(jī)的方法。
33.一種計(jì)算機(jī),其特征在于,包括:處理器、存儲(chǔ)器、總線和通信接口 ; 所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過所述總線連接,當(dāng)所述計(jì)算機(jī)運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述計(jì)算機(jī)執(zhí)行指令,以使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求13-16任一項(xiàng)所述的創(chuàng)建虛擬機(jī)的方法。
34.一種計(jì)算機(jī)可讀介質(zhì),其特征在于,包括計(jì)算機(jī)執(zhí)行指令,當(dāng)計(jì)算機(jī)的處理器執(zhí)行所述計(jì)算機(jī)執(zhí)行指令時(shí),所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1-12任一項(xiàng)所述的創(chuàng)建虛擬機(jī)的方法。
35.一種計(jì)算機(jī)可讀介質(zhì),其特征在于,包括計(jì)算機(jī)執(zhí)行指令,當(dāng)計(jì)算機(jī)的處理器執(zhí)行所述計(jì)算機(jī)執(zhí)行指令時(shí),所述計(jì)算機(jī)執(zhí)行如權(quán)利要求13-16任一項(xiàng)所述的創(chuàng)建虛擬機(jī)的方法。
【文檔編號(hào)】G06F9/455GK103797462SQ201380002627
【公開日】2014年5月14日 申請(qǐng)日期:2013年10月23日 優(yōu)先權(quán)日:2013年10月23日
【發(fā)明者】鐘颙 申請(qǐng)人:華為技術(shù)有限公司