務(wù)器作為投票對象,直到備用服務(wù)器所得票數(shù)超過備用服務(wù)器半數(shù),將得票數(shù)超過備用服務(wù)器半數(shù)的備用服務(wù)器作為管理服務(wù)器112。當(dāng)備用服務(wù)器集群110中只有一個備用服務(wù)器時,則該備用服務(wù)器同時也是管理服務(wù)器112。
[0045]步驟204,當(dāng)監(jiān)測到虛擬機(jī)服務(wù)器發(fā)生異常時,根據(jù)虛擬機(jī)服務(wù)器的負(fù)載信息確定虛擬機(jī)服務(wù)器所運(yùn)行的虛擬機(jī)。
[0046]具體地,監(jiān)控服務(wù)器104監(jiān)測到虛擬機(jī)服務(wù)器106發(fā)生異常時,則會觸發(fā)異常信息,并將異常信息發(fā)送到管理服務(wù)器112。異常信息是用于表示虛擬機(jī)服務(wù)器106發(fā)生異常的告警信息。異常信息具體可以包括虛擬機(jī)服務(wù)器106的標(biāo)識。管理服務(wù)器112在接收到異常信息時,提取異常信息中虛擬機(jī)服務(wù)器106的標(biāo)識,管理服務(wù)器112在所收集到的負(fù)載信息中查找與虛擬機(jī)服務(wù)器106的標(biāo)識對應(yīng)的虛擬機(jī)標(biāo)識,從而確定了之前運(yùn)行在虛擬機(jī)服務(wù)器106上的虛擬機(jī)。虛擬機(jī)服務(wù)器106發(fā)生異常具體可以是虛擬機(jī)服務(wù)器106發(fā)生宕機(jī),從而使運(yùn)行在虛擬機(jī)服務(wù)器106上的虛擬機(jī)運(yùn)行中斷。
[0047]在一個實施例中,管理控制平臺102在接收到監(jiān)控服務(wù)器104發(fā)送的虛擬機(jī)服務(wù)器106發(fā)生異常的信息后,管理控制平臺102可以將虛擬機(jī)服務(wù)器106發(fā)生異常的信息發(fā)送給備用服務(wù)器集群110中的管理服務(wù)器112,或者管理控制平臺102向備用服務(wù)器集群110中的管理服務(wù)器112發(fā)送查找虛擬機(jī)服務(wù)器106上所運(yùn)行虛擬機(jī)的查找請求。
[0048]步驟206,向備用服務(wù)器發(fā)送啟動虛擬機(jī)的啟動指令,使備用服務(wù)器根據(jù)啟動指令,從虛擬機(jī)服務(wù)器和備用服務(wù)器各自劃分出的部分磁盤構(gòu)成的分布式文件系統(tǒng)中獲取虛擬機(jī)的啟動文件和增量文件,以根據(jù)啟動文件啟動虛擬機(jī),并根據(jù)增量文件恢復(fù)運(yùn)行狀態(tài)。
[0049]具體的,虛擬機(jī)服務(wù)器106所在網(wǎng)段中的所有虛擬機(jī)服務(wù)器的磁盤和所有備用服務(wù)器的磁盤都被劃分為兩部分,一部分磁盤作為本地的虛擬機(jī)磁盤,另一部分磁盤用于構(gòu)成分布式文件系統(tǒng)。增量文件是記錄虛擬機(jī)運(yùn)行過程中所產(chǎn)生數(shù)據(jù)的文件。備用服務(wù)器集群110中的管理服務(wù)器112在確定了虛擬機(jī)服務(wù)器106上所運(yùn)行的虛擬機(jī)之后,向備用服務(wù)器114發(fā)送用于啟動該虛擬機(jī)的啟動指令,則備用服務(wù)器114從分布式文件系統(tǒng)中獲取用于啟動虛擬機(jī)的啟動文件和虛擬機(jī)在運(yùn)行過程中所產(chǎn)生的增量文件。備用服務(wù)器114利用啟動文件啟動虛擬機(jī),在啟動了虛擬機(jī)之后,根據(jù)增量文件恢復(fù)虛擬機(jī)的運(yùn)行狀態(tài)。啟動文件具體可以虛擬機(jī)的鏡像文件。
[0050]在一個實施例中,虛擬機(jī)的啟動文件被分割成多個啟動文件塊,每個啟動文件塊分別被存儲到不同的服務(wù)器的用于構(gòu)成分布式文件系統(tǒng)的磁盤中。備用服務(wù)器114從用于構(gòu)成分布式文件系統(tǒng)的此磁盤中獲取虛擬機(jī)啟動文件塊,并將獲取到的啟動文件塊進(jìn)行整合形成完整的虛擬機(jī)的啟動文件。分布式文件系統(tǒng)在存儲文件時,將文件分成多份文件塊進(jìn)行存儲,并將每份文件塊存儲到不同的用于構(gòu)成分布式文件系統(tǒng)的磁盤中。分布式文件系統(tǒng)在存儲文件塊時,可復(fù)制生成多份文件塊副本,并將每份文件塊副本存儲到不同的用于構(gòu)成分布式文件系統(tǒng)的磁盤中;通過備份可防止個別服務(wù)器宕機(jī)導(dǎo)致文件無法被獲取至IJ。其中多份具體可為至少三份。
[0051]在一個實施例中,當(dāng)監(jiān)測服務(wù)器104監(jiān)測到虛擬機(jī)服務(wù)器106恢復(fù)正常運(yùn)行時,將虛擬機(jī)服務(wù)器106的恢復(fù)正常運(yùn)行的信息發(fā)送給管理控制平臺102。管理控制平臺102向備用服務(wù)器集群110中管理服務(wù)器112發(fā)送虛擬機(jī)迀移指令,管理服務(wù)器112接收到虛擬機(jī)迀移指令之后,查找原來運(yùn)行在虛擬機(jī)服務(wù)器106上的虛擬機(jī),將查找到的虛擬機(jī)迀移到虛擬機(jī)服務(wù)器106上繼續(xù)運(yùn)行。管理服務(wù)器112也可以直接接收監(jiān)測服務(wù)器104發(fā)送的虛擬機(jī)服務(wù)器106恢復(fù)正常運(yùn)行的信息,并在接收到虛擬機(jī)服務(wù)器106恢復(fù)正常運(yùn)行的信息之后,將原來運(yùn)行在虛擬機(jī)服務(wù)器106上的虛擬機(jī)直接從備用服務(wù)器迀移到虛擬機(jī)服務(wù)器106上。監(jiān)測服務(wù)器104在監(jiān)測到虛擬機(jī)服務(wù)器106恢復(fù)正常運(yùn)行時,也可以直接向備用服務(wù)器集群110中的管理服務(wù)器112發(fā)送迀移指令。
[0052]本實施例中,在虛擬機(jī)服務(wù)器106出現(xiàn)宕機(jī)時,運(yùn)行在虛擬機(jī)服務(wù)器106上的虛擬機(jī)會的運(yùn)行會中斷,虛擬機(jī)服務(wù)器106對應(yīng)的備用服務(wù)器114會將在虛擬機(jī)服務(wù)器106上運(yùn)行中斷的虛擬機(jī)啟動,使虛擬機(jī)在備用服務(wù)器114上繼續(xù)運(yùn)行,避免了由于虛擬機(jī)運(yùn)行中斷而影響依賴于虛擬機(jī)的云平臺,提高了虛擬機(jī)的可靠性。
[0053]在一個實施例中,虛擬機(jī)服務(wù)器將虛擬機(jī)運(yùn)行過程中所產(chǎn)生的增量文件存儲到虛擬機(jī)服務(wù)器的虛擬機(jī)磁盤上,并將存儲的增量文件同步到分布式文件系統(tǒng)。
[0054]具體地,虛擬機(jī)運(yùn)行在虛擬機(jī)服務(wù)器106上,在虛擬機(jī)的運(yùn)行過程中所產(chǎn)生的增量文件,首先被虛擬機(jī)服務(wù)器106存儲到虛擬機(jī)服務(wù)器106劃分出來的虛擬機(jī)磁盤中,之后通過復(fù)制將增量文件同步到分布式文件系統(tǒng)中。增量文件被同步到分布式文件系統(tǒng)中,分布式文件系統(tǒng)將增量文件分割成增量文件塊,將每一個增量文件塊都存儲在不同的服務(wù)器上用于構(gòu)成分布式文件系統(tǒng)的磁盤中。
[0055]本實施例中,通過將虛擬機(jī)的增量文件同步存儲到分布式文件系統(tǒng)中,可以保證在虛擬機(jī)運(yùn)行中斷后,備用服務(wù)器可以快速的從分布式文件系統(tǒng)中獲取到虛擬機(jī)的增量文件,并根據(jù)增量文件快速恢復(fù)虛擬機(jī)的運(yùn)行狀態(tài),同時對增量文件進(jìn)行多個備份,保證了增量文件的安全性。
[0056]如圖3所示,在一個實施例中,提供一種虛擬機(jī)運(yùn)行方法,該方法具體包括如下步驟:
[0057]步驟302,定期收集備用服務(wù)器的負(fù)載信息。
[0058]具體地,在備用服務(wù)器集群110中有多個備用服務(wù)器時,備用服務(wù)器集群110中的管理服務(wù)器112定期收集備用服務(wù)器集群110中所有備用服務(wù)器的負(fù)載信息。備用服務(wù)器的負(fù)載信息可以是備用服務(wù)器上的服務(wù)器資源的利用率,具體可以是運(yùn)行虛擬機(jī)的個數(shù)以及所運(yùn)行虛擬機(jī)的標(biāo)識等信息。
[0059]步驟304,在確定虛擬機(jī)服務(wù)器所運(yùn)行的虛擬機(jī)后,根據(jù)收集的備用服務(wù)器的負(fù)載信息選定備用服務(wù)器。
[0060]具體地,管理服務(wù)器112根據(jù)虛擬機(jī)服務(wù)器106的負(fù)載信息確定了虛擬機(jī)服務(wù)器106之后,在所收集到的備用服務(wù)器的負(fù)載信息中查找服務(wù)器資源利用率少的備用服務(wù)器,并將該備用服務(wù)器選定為用于啟動虛擬機(jī)的備用服務(wù)器。
[0061]在一個實施例中,虛擬機(jī)服務(wù)器106上運(yùn)行有多個虛擬機(jī),則根據(jù)備用服務(wù)器的負(fù)載信息,分別選定一個或多個資源利用率少的備用服務(wù)器來啟動多個虛擬機(jī),用以保證備用服務(wù)器的負(fù)載均衡。
[0062]步驟306,向選定的備用服務(wù)器發(fā)送啟動虛擬機(jī)的啟動指令。
[0063]具體地,管理服務(wù)器112向選定的備用服務(wù)器發(fā)送攜帶有虛擬機(jī)標(biāo)識的啟動虛擬機(jī)的啟動指令,備用服務(wù)器可以根據(jù)接受到啟動指令中包括的虛擬機(jī)標(biāo)識來確定所要啟動的虛擬機(jī),并根據(jù)虛擬機(jī)標(biāo)識從分布式文件系統(tǒng)查找虛擬機(jī)的啟動文件和增量文件。
[0064]本實施例中,根據(jù)收集到的備用服務(wù)器的負(fù)載信息來選定備用服務(wù)器,可以在存在多臺備用服務(wù)器時,避免出現(xiàn)備用服務(wù)器閑置,或者備用服務(wù)器運(yùn)行過多虛擬機(jī)的情況,達(dá)到合理分配備用服務(wù)器資源的效果。
[0065]在一個實施例中,該虛擬機(jī)運(yùn)行方法還包括以下步驟:備用服務(wù)器或者虛擬機(jī)服務(wù)器在啟動虛擬機(jī)時,鏈接到分布式文件系統(tǒng)中的啟動文件開始啟動所述虛擬機(jī),并將啟動文件同步到本地的虛擬機(jī)磁盤后重新鏈接到本地的啟動文件繼續(xù)啟動所述虛擬機(jī)。
[0066]具體地,備用服務(wù)器集群中的備用服務(wù)器或者虛擬機(jī)服務(wù)器106在接受到啟動虛擬機(jī)的啟動指令后,在分布式文件系統(tǒng)中查找虛擬機(jī)的啟動文件,當(dāng)查找到虛擬機(jī)的啟動文件時,直接建立與分布式文件系統(tǒng)中啟動文件的鏈接,在建立鏈接之后,直接根據(jù)虛擬機(jī)的啟動文件來啟動虛擬機(jī),同時將啟動文件同步到備用服務(wù)器或虛擬機(jī)服務(wù)器106本地的虛擬機(jī)磁盤中,然后再重新建立與本地的虛擬機(jī)磁盤中啟動文件的鏈接。
[0067]本實施例中,備用服務(wù)器或虛擬機(jī)服務(wù)器直接根據(jù)在分布式文件系統(tǒng)中查找到的虛擬機(jī)的啟動文件來啟動虛擬機(jī),同時將啟動文件同步到本地的虛擬機(jī)磁盤中,再重新鏈接到本地的虛擬機(jī)磁盤中的啟動文件。這樣,在不影響虛擬機(jī)的運(yùn)行的前提下,大大提高了虛擬機(jī)的啟動速度。
[0068]如圖4,在一個實施例中,提供一種虛擬機(jī)運(yùn)行裝置400,其特征在于,該裝置包括:負(fù)載信息收集模塊402、虛擬機(jī)確定模塊404和虛擬機(jī)啟動模塊406。
[0069]負(fù)載信