背景技術(shù):
在軟件定義存儲(chǔ)環(huán)境中,支持虛擬存儲(chǔ)群簇的虛擬機(jī)或者應(yīng)用虛擬機(jī)可以利用公共的服務(wù)器和存儲(chǔ)硬件。虛擬機(jī)相對(duì)于服務(wù)器和存儲(chǔ)硬件可以靈活地部署。
附圖說(shuō)明
下面將參照以下各圖描述各種示例。
圖1是根據(jù)實(shí)現(xiàn)的示例系統(tǒng)的框圖。
圖2是根據(jù)另一實(shí)現(xiàn)的示例系統(tǒng)的框圖。
圖3是根據(jù)實(shí)現(xiàn)的用于部署虛擬機(jī)的示例方法的流程圖。
圖4是根據(jù)另一實(shí)現(xiàn)的用于部署虛擬機(jī)的示例方法的流程圖。
圖5是根據(jù)實(shí)現(xiàn)的示例計(jì)算設(shè)備的框圖,所述示例計(jì)算設(shè)備包括編碼有用于部署虛擬機(jī)的指令的機(jī)器可讀介質(zhì)。
圖6是根據(jù)另一實(shí)現(xiàn)的示例計(jì)算設(shè)備的框圖,所述示例計(jì)算設(shè)備包括編碼有用于部署虛擬機(jī)的指令的機(jī)器可讀介質(zhì)。
圖7是根據(jù)實(shí)現(xiàn)的示例圖示說(shuō)明。
具體實(shí)施方式
軟件定義存儲(chǔ)(sds)可以利用虛擬存儲(chǔ)器具虛擬機(jī)與服務(wù)器和存儲(chǔ)硬件結(jié)合以便支持虛擬存儲(chǔ)群簇。應(yīng)用虛擬機(jī)可以部署在相同服務(wù)器上,并且可以使用存儲(chǔ)群簇。虛擬機(jī)相對(duì)于服務(wù)器和存儲(chǔ)硬件可以靈活地部署。完全關(guān)閉或者減少服務(wù)器的電力可以認(rèn)為是合期望的,例如以減少操作成本和環(huán)境影響。還可能認(rèn)為合期望的是以高可用性、故障容差和服務(wù)質(zhì)量要求來(lái)操作sds。
本申請(qǐng)的技術(shù)可以定義一個(gè)(或多個(gè))布置規(guī)劃以便在服務(wù)器上布置虛擬存儲(chǔ)器具虛擬機(jī)和應(yīng)用虛擬機(jī)。更特別地,該技術(shù)的一些方面可以涉及在服務(wù)器上布置虛擬存儲(chǔ)器具虛擬機(jī),所述服務(wù)器連接到由該虛擬存儲(chǔ)器具虛擬機(jī)使用的存儲(chǔ)資產(chǎn)。相應(yīng)地,本申請(qǐng)的技術(shù)對(duì)于智能地管理和優(yōu)化虛擬機(jī)部署以便減少服務(wù)器功率使用而同時(shí)還提供高可用性、故障容差和/或服務(wù)質(zhì)量而言可以是有用的。
現(xiàn)在參照各圖,圖1是示例系統(tǒng)100的框圖。系統(tǒng)100包括硬件組件,硬件組件包括多個(gè)服務(wù)器102(例如,服務(wù)器102-1到102-n)和多個(gè)存儲(chǔ)資產(chǎn)104(例如,存儲(chǔ)資產(chǎn)104-1到104-n)。虛擬機(jī)-包括多個(gè)虛擬存儲(chǔ)器具(vsa)虛擬機(jī)106(本文也稱(chēng)為vsa虛擬機(jī);例如,vsa虛擬機(jī)106-1到106-n)和至少一個(gè)應(yīng)用虛擬機(jī)108可以部署在所述多個(gè)服務(wù)器102上(vsa虛擬機(jī)106和所述至少一個(gè)應(yīng)用虛擬機(jī)108在本文可以統(tǒng)稱(chēng)為虛擬機(jī))。系統(tǒng)100還可以包括規(guī)劃器模塊110和部署模塊112。在一些實(shí)現(xiàn)中,規(guī)劃器模塊110和部署模塊112可以是應(yīng)用虛擬機(jī)108、耦合到編碼有指令的機(jī)器可讀介質(zhì)的(多個(gè))處理器、和/或電子電路,以用于執(zhí)行本文描述的功能性。在一些實(shí)現(xiàn)中,系統(tǒng)100可以形成軟件定義存儲(chǔ)環(huán)境的部分。
在一些實(shí)現(xiàn)中,服務(wù)器102均可以包括操作系統(tǒng)、管理程序等,以便管理虛擬機(jī)在該服務(wù)器上的部署和實(shí)現(xiàn)。在一些實(shí)現(xiàn)中,服務(wù)器102連接到網(wǎng)絡(luò),所述網(wǎng)絡(luò)可以支持服務(wù)器102之間的通信。在一些實(shí)現(xiàn)中,每一個(gè)服務(wù)器102可以具有最大利用容量,所述最大利用容量可以是表示用于由服務(wù)器102上部署的虛擬機(jī)使用或消耗的服務(wù)器102的總可用資源(或者可替換地,可用于服務(wù)器102以便向虛擬機(jī)分配的總資源)的量。最大利用容量可以涉及服務(wù)器102的一個(gè)或多個(gè)資源,并且例如可以是處理器利用容量、存儲(chǔ)器利用容量、電功率利用容量等(包括多于一個(gè)資源的復(fù)合表示)。最大利用容量可以在服務(wù)器102之間變化,并且可以通過(guò)估計(jì)(例如,從服務(wù)器102的規(guī)范來(lái)估計(jì))或者通過(guò)測(cè)量(例如,通過(guò)評(píng)量基準(zhǔn))針對(duì)每一個(gè)服務(wù)器102進(jìn)行定義。
在一些實(shí)現(xiàn)中,存儲(chǔ)資產(chǎn)104中的單獨(dú)個(gè)體可以例如是存儲(chǔ)陣列、直接附連的存儲(chǔ)裝置、或者用于在sds環(huán)境中使用的其它適合的存儲(chǔ)硬件。例如,存儲(chǔ)資產(chǎn)104可以是具有盤(pán)驅(qū)動(dòng)的陣列的存儲(chǔ)陣列,所述存儲(chǔ)陣列可以通過(guò)存儲(chǔ)網(wǎng)絡(luò)的方式(例如,使用光纖信道、互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iscsi)、以太網(wǎng)、串聯(lián)附連的scsi(sas)等)連接到服務(wù)器102中的一個(gè)或多個(gè)服務(wù)器102。在一些實(shí)現(xiàn)中,通過(guò)網(wǎng)絡(luò)的方式連接到服務(wù)器的存儲(chǔ)陣列可以形成存儲(chǔ)域網(wǎng)絡(luò)(san)的部分。相比于存儲(chǔ)陣列,作為直接附連的存儲(chǔ)裝置的存儲(chǔ)資產(chǎn)104可以直接(例如,通過(guò)pci、串行ata、scsi等)連接到服務(wù)器102而沒(méi)有存儲(chǔ)資產(chǎn)104和服務(wù)器102之間的網(wǎng)絡(luò)。連接到直接附連類(lèi)型的存儲(chǔ)資產(chǎn)104的服務(wù)器102的組合也可以稱(chēng)為具有附連存儲(chǔ)裝置的服務(wù)器或者具有存儲(chǔ)裝置的服務(wù)器。
所述多個(gè)存儲(chǔ)資產(chǎn)104中的每一個(gè)存儲(chǔ)資產(chǎn)可以連接到服務(wù)器102中的至少一個(gè)服務(wù)器102。在一些實(shí)現(xiàn)中,存儲(chǔ)資產(chǎn)104可以連接到服務(wù)器102中的多個(gè)一個(gè)服務(wù)器102(換言之,服務(wù)器102中的一些可以連接到存儲(chǔ)資產(chǎn)104中的同一個(gè)存儲(chǔ)資產(chǎn)104)。在一些實(shí)現(xiàn)中,存儲(chǔ)資產(chǎn)104可以連接到服務(wù)器102中的僅一個(gè)服務(wù)器102(例如,在一些實(shí)現(xiàn)中,與采用直接附連存儲(chǔ)裝置的情況一樣)。應(yīng)當(dāng)理解到,服務(wù)器102的單獨(dú)個(gè)體與存儲(chǔ)資產(chǎn)104的單獨(dú)個(gè)體之間的連接的配置可以根據(jù)系統(tǒng)100的不同設(shè)計(jì)而變化。
如上文所述,系統(tǒng)100可以包括至少一個(gè)應(yīng)用虛擬機(jī)108。在一些實(shí)現(xiàn)中,系統(tǒng)100可以包括多個(gè)應(yīng)用虛擬機(jī)108(在本文也稱(chēng)為應(yīng)用虛擬機(jī);例如,應(yīng)用虛擬機(jī)108-1到108-n)。應(yīng)用虛擬機(jī)108可以是在所述多個(gè)服務(wù)器102中的服務(wù)器上部署(或者換言之,運(yùn)行、實(shí)現(xiàn)或執(zhí)行)的應(yīng)用的虛擬化實(shí)例。在一些實(shí)現(xiàn)中,服務(wù)器102中的任一個(gè)服務(wù)器102能夠?qū)崿F(xiàn)應(yīng)用虛擬機(jī)108。應(yīng)用虛擬機(jī)108可以利用在其上部署它的服務(wù)器102的一些量的資源,所利用的量認(rèn)為是應(yīng)用虛擬機(jī)108的服務(wù)器利用。與采用服務(wù)器102的最大利用容量的情況一樣,應(yīng)用虛擬機(jī)108的服務(wù)器利用可以從例如處理器利用、存儲(chǔ)器利用、電功率利用等(包括多于一個(gè)資源利用的復(fù)合表示)的角度來(lái)講。
在一些實(shí)現(xiàn)中,vsa虛擬機(jī)106可以作為部署在服務(wù)器102上的控制器起作用以便支持(例如,更特別地,創(chuàng)建、維持和/或操作)系統(tǒng)100中的一個(gè)或多個(gè)存儲(chǔ)群簇107。存儲(chǔ)群簇107可以是使用從物理硬件存儲(chǔ)資產(chǎn)104合并的存儲(chǔ)容量的虛擬化存儲(chǔ)池,所述虛擬化存儲(chǔ)池可用于由應(yīng)用虛擬機(jī)108中的一個(gè)或多個(gè)應(yīng)用虛擬機(jī)108使用。相應(yīng)地,應(yīng)用虛擬機(jī)108可以視為通過(guò)存儲(chǔ)群簇107的使用而與存儲(chǔ)群簇107相關(guān)聯(lián)。
在一些實(shí)現(xiàn)中,每一個(gè)存儲(chǔ)群簇107可以由至少一個(gè)vsa虛擬機(jī)106支持。在一些實(shí)現(xiàn)中,存儲(chǔ)群簇107可以由多個(gè)vsa虛擬機(jī)106支持,以便提供用于高可用性和/或故障容差的冗余性。與采用應(yīng)用虛擬機(jī)108的情況一樣,每一個(gè)vsa虛擬機(jī)106還利用在其上部署vsa虛擬機(jī)106的服務(wù)器102的一些量的資源,所利用的量認(rèn)為是vsa虛擬機(jī)106的服務(wù)器利用。與采用服務(wù)器102的最大利用容量一樣,vsa虛擬機(jī)106的服務(wù)器利用可以從例如處理器利用、存儲(chǔ)器利用、電功率利用等(包括多于一個(gè)資源利用的復(fù)合表示)的角度來(lái)講。
規(guī)劃器模塊110可以定義第一布置規(guī)劃和/或第二布置規(guī)劃,所述第一布置規(guī)劃和/或第二布置規(guī)劃分別在服務(wù)器102上布置vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108。如本文中使用,術(shù)語(yǔ)“布置”可以意指規(guī)劃或指定布置。例如,第一布置規(guī)劃可以指示應(yīng)當(dāng)由部署模塊112在服務(wù)器102中的哪個(gè)服務(wù)器102上部署vsa虛擬機(jī)106。類(lèi)似地,第二布置規(guī)劃可以指示應(yīng)當(dāng)在服務(wù)器102中的哪個(gè)服務(wù)器102上部署應(yīng)用虛擬機(jī)108。在一些實(shí)現(xiàn)中,規(guī)劃器模塊110在定義第二布置規(guī)劃之前定義第一布置規(guī)劃。
如本文中使用,并且在一些實(shí)現(xiàn)中,第一布置規(guī)劃和第二布置規(guī)劃可以是一個(gè)布置規(guī)劃的部分或者一起定義為一個(gè)布置規(guī)劃。在一些實(shí)現(xiàn)中,第一布置規(guī)劃和第二布置規(guī)劃可以進(jìn)一步劃分為多個(gè)布置規(guī)劃。此外,在本文描述的一些實(shí)現(xiàn)中,第一布置規(guī)劃和第二布置規(guī)劃可以稱(chēng)為一個(gè)布置規(guī)劃和另一個(gè)布置規(guī)劃,或者反之亦然。
在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以通過(guò)迭代地(或者順序地)在服務(wù)器102上布置單獨(dú)的vsa虛擬機(jī)106直至已經(jīng)布置所有vsa虛擬機(jī)106來(lái)定義第一布置規(guī)劃。類(lèi)似地,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以通過(guò)迭代地(或者順序地)在服務(wù)器102上布置單獨(dú)的應(yīng)用虛擬機(jī)108直至已經(jīng)布置所有應(yīng)用虛擬機(jī)108來(lái)定義第二布置規(guī)劃。例如,規(guī)劃器模塊110可以初始地以每一個(gè)服務(wù)器102沒(méi)有部署于其上的虛擬機(jī)并且每一個(gè)服務(wù)器102具有可用利用容量而開(kāi)始,所述可用利用容量等于或者基本上等于其最大利用容量。當(dāng)規(guī)劃器模塊110在服務(wù)器102上迭代地布置虛擬機(jī)時(shí),該服務(wù)器102的可用利用容量減少與布置在其上的虛擬機(jī)的服務(wù)器利用對(duì)應(yīng)的量。在特定迭代期間,如果服務(wù)器102的可用利用容量(計(jì)及已經(jīng)通過(guò)之前的迭代而布置在其上的任何虛擬機(jī)的服務(wù)器利用)等于或者大于在該特定迭代期間正布置的虛擬機(jī)的服務(wù)器利用,那么認(rèn)為服務(wù)器102具有在該特定迭代期間用于該虛擬機(jī)的可用利用容量。否則,如果服務(wù)器102的可用利用容量少于正布置的虛擬機(jī)的服務(wù)利用,那么認(rèn)為服務(wù)器102不具有在該特定迭代期間用于該虛擬機(jī)的可用利用容量。
在一些實(shí)現(xiàn)中,規(guī)劃器模塊110根據(jù)一個(gè)或多個(gè)規(guī)則來(lái)定義第一布置規(guī)劃和/或第二布置規(guī)劃?,F(xiàn)在將依次描述定義第一布置規(guī)劃的規(guī)劃器模塊110的示例實(shí)現(xiàn)與定義第二布置規(guī)劃的規(guī)劃器模塊110的示例實(shí)現(xiàn)。
規(guī)劃器模塊110可以定義第一布置規(guī)劃,所述第一布置規(guī)劃在所述多個(gè)服務(wù)器102中的服務(wù)器上布置所述多個(gè)vsa虛擬機(jī)106中的每一個(gè)vsa虛擬機(jī)。根據(jù)一種規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以將第一布置規(guī)劃定義為在所述多個(gè)服務(wù)器102中的服務(wù)器上布置每一個(gè)vsa虛擬機(jī)106,所述服務(wù)器連接到所述多個(gè)存儲(chǔ)資產(chǎn)104中由相應(yīng)的vsa虛擬機(jī)使用(例如,以支持存儲(chǔ)群簇107)的存儲(chǔ)資產(chǎn)。作為說(shuō)明,在一個(gè)示例中,存儲(chǔ)資產(chǎn)104-1可以連接到服務(wù)器102-1和102-2,并且vsa虛擬機(jī)106-1可以使用存儲(chǔ)資產(chǎn)104-1以支持存儲(chǔ)群簇107-1。在前述說(shuō)明中,規(guī)劃器模塊110將定義第一布置規(guī)劃以在服務(wù)器102-1或102-2上布置vsa虛擬機(jī)106-1,因?yàn)槟切┓?wù)器連接到存儲(chǔ)資產(chǎn)104-1,所述存儲(chǔ)資產(chǎn)104-1由vsa虛擬機(jī)106-1使用以支持存儲(chǔ)群簇107-1。相應(yīng)地,可以理解到,憑借以前述方式布置vsa虛擬機(jī),vsa虛擬機(jī)106可以布置為與形成對(duì)應(yīng)存儲(chǔ)群簇107的至少部分的存儲(chǔ)資產(chǎn)104緊密通信,這可以準(zhǔn)許與存儲(chǔ)群簇107的快速且高效的數(shù)據(jù)傳遞。
根據(jù)另一規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以定義第一布置規(guī)劃以在不同存儲(chǔ)器102上布置支持相同存儲(chǔ)群簇的vsa虛擬機(jī)106。例如,以前述說(shuō)明繼續(xù),存儲(chǔ)群簇107可以由vsa虛擬機(jī)106-1以及還有vsa虛擬機(jī)106-2二者來(lái)支持。相應(yīng)地,在該示例中,規(guī)劃器模塊110可以定義第一布置規(guī)劃以在服務(wù)器102-1上布置vsa虛擬機(jī)106-1并且在服務(wù)器102-2上布置vsa虛擬機(jī)106-2。憑借在不同服務(wù)器上布置vsa虛擬機(jī),一個(gè)服務(wù)器的故障可以通過(guò)(多個(gè))其它服務(wù)器的繼續(xù)操作而緩解,由此支持對(duì)應(yīng)存儲(chǔ)群簇107-1的冗余性、高可用性和/或故障容差特性(相比而言,在相同服務(wù)器上布置所有vsa虛擬機(jī)可能導(dǎo)致用于對(duì)應(yīng)存儲(chǔ)群簇的單個(gè)故障點(diǎn))。
根據(jù)另一規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以通過(guò)相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有虛擬機(jī)的服務(wù)器以布置vsa虛擬機(jī)106來(lái)定義第一布置規(guī)劃。例如,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以迭代地布置虛擬機(jī),如上文所述,并且在迭代時(shí),規(guī)劃器模塊110可以初始地嘗試在服務(wù)器102上布置vsa虛擬機(jī)106,在當(dāng)前迭代之前已經(jīng)在所述服務(wù)器102上布置了虛擬機(jī)(例如,vsa虛擬機(jī)106或者應(yīng)用虛擬機(jī)108)。另一方面,如果vsa虛擬機(jī)106不能布置在已經(jīng)包括虛擬機(jī)的服務(wù)器102上(例如,由于沒(méi)有服務(wù)器102具有用于vsa虛擬機(jī)106的可用利用容量,或者由于將違反用于定義第一布置規(guī)劃的所述其它規(guī)則中的一個(gè)或多個(gè)),那么規(guī)劃器模塊110可以在其上沒(méi)有部署任何虛擬機(jī)的服務(wù)器102上布置vsa虛擬機(jī)106。由于相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有虛擬機(jī)的服務(wù)器,所以規(guī)劃器模塊110可能可以將vsa虛擬機(jī)106的合并規(guī)劃到最小數(shù)目的服務(wù)器102上。
規(guī)劃器模塊110可以定義第二布置規(guī)劃,所述第二布置規(guī)劃在所述多個(gè)服務(wù)器102中的服務(wù)器上布置(例如,多個(gè)應(yīng)用虛擬機(jī)108中的)每一個(gè)應(yīng)用虛擬機(jī)108。根據(jù)一種規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以定義第二布置規(guī)劃以便在所述多個(gè)服務(wù)器102中具有可用利用容量的服務(wù)器上布置所述多個(gè)應(yīng)用虛擬機(jī)108中的每一個(gè)應(yīng)用虛擬機(jī)。
根據(jù)另一規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以定義第二布置規(guī)劃以便按照所述多個(gè)應(yīng)用虛擬機(jī)108的服務(wù)器利用的降序來(lái)依次地布置每一個(gè)應(yīng)用虛擬機(jī)108。例如,如果規(guī)劃器模塊110如上文所述的那樣迭代地布置虛擬機(jī),那么規(guī)劃器模塊110可以按照間隔識(shí)別尚未布置在服務(wù)器102上的應(yīng)用虛擬機(jī)108之中具有最高服務(wù)器利用的應(yīng)用虛擬機(jī)108,并且布置具有最高服務(wù)器利用的所述應(yīng)用虛擬機(jī)108。
根據(jù)另一規(guī)則,在一些實(shí)現(xiàn)中,如果與存儲(chǔ)群簇110相關(guān)聯(lián)的服務(wù)器102具有用于相應(yīng)應(yīng)用虛擬機(jī)的可用利用容量,那么規(guī)劃器模塊110可以定義第二布置規(guī)劃以便將每一個(gè)應(yīng)用虛擬機(jī)108布置在與存儲(chǔ)群簇107相關(guān)聯(lián)的服務(wù)器102上,所述存儲(chǔ)群簇107由相應(yīng)應(yīng)用虛擬機(jī)使用。如果與存儲(chǔ)群簇110相關(guān)聯(lián)的服務(wù)器102不具有用于相應(yīng)應(yīng)用虛擬機(jī)的可用利用容量,那么規(guī)劃器模塊110可以將相應(yīng)應(yīng)用虛擬機(jī)布置在所述多個(gè)服務(wù)器102之中具有最高可用利用容量并且還具有至少一個(gè)其它虛擬機(jī)(例如,vsa虛擬機(jī)106或者應(yīng)用虛擬機(jī)108)的服務(wù)器上。作為說(shuō)明,在一個(gè)示例中,應(yīng)用虛擬機(jī)108-1可以使用由vsa虛擬機(jī)106-1和106-2支持的存儲(chǔ)群簇107-1,并且vsa虛擬機(jī)106-1和106-2分別(例如,通過(guò)第一布置規(guī)劃)布置在服務(wù)器102-1和102-2上。在該示例中,取決于服務(wù)器102-1或102-2中的哪一個(gè)服務(wù)器具有用于應(yīng)用虛擬機(jī)108-1的服務(wù)器利用的可用利用容量,規(guī)劃器模塊110將在服務(wù)器102-1或102-2上布置應(yīng)用虛擬機(jī)108-1。如果服務(wù)器102-1或102-2都不具有用于應(yīng)用虛擬機(jī)108-1的可用利用容量,那么規(guī)劃器模塊110可以在服務(wù)器102中具有最高可用利用容量并且還在其上布置有至少一個(gè)其它虛擬機(jī)的一個(gè)服務(wù)器上布置應(yīng)用虛擬機(jī)108-1。由于在與應(yīng)用虛擬機(jī)使用的存儲(chǔ)群簇相關(guān)聯(lián)的服務(wù)器上布置應(yīng)用虛擬機(jī),所以應(yīng)用虛擬機(jī)和存儲(chǔ)群簇之間的通信可以在服務(wù)器上本地執(zhí)行而沒(méi)有牽涉網(wǎng)絡(luò)通信,可能地造成應(yīng)用虛擬機(jī)的改進(jìn)(例如,更快)的性能。
根據(jù)另一規(guī)則,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以通過(guò)相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有虛擬機(jī)的服務(wù)器以布置應(yīng)用虛擬機(jī)108來(lái)定義第二布置規(guī)劃。例如,在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以迭代地布置虛擬機(jī),如上文所述,并且在迭代時(shí),規(guī)劃器模塊110可以初始地嘗試在服務(wù)器102上布置應(yīng)用虛擬機(jī)108,在當(dāng)前迭代之前已經(jīng)在所述服務(wù)器102上布置虛擬機(jī)(例如,vsa虛擬機(jī)106或者應(yīng)用虛擬機(jī)108)。另一方面,如果應(yīng)用虛擬機(jī)108不能布置在已經(jīng)包括虛擬機(jī)的服務(wù)器102上(例如,由于沒(méi)有服務(wù)器102具有用于應(yīng)用虛擬機(jī)108的可用利用容量,或者由于將違反用于定義第二布置規(guī)劃的所述其它規(guī)則中的一個(gè)或多個(gè)規(guī)則),那么規(guī)劃器模塊110可以在其上沒(méi)有部署任何虛擬機(jī)的服務(wù)器102上布置應(yīng)用虛擬機(jī)106。由于相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有虛擬機(jī)的服務(wù)器,規(guī)劃器模塊110可能可以將應(yīng)用虛擬機(jī)106的合并布置到最小數(shù)目的服務(wù)器102上。
在一些實(shí)現(xiàn)中,規(guī)劃器模塊110可以向第一布置規(guī)劃和第二布置規(guī)劃應(yīng)用服務(wù)器利用規(guī)則。例如,在一些實(shí)現(xiàn)中,服務(wù)器利用規(guī)則可以包括以下規(guī)則:布置在服務(wù)器102上的vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108的服務(wù)器利用的總和(本文也稱(chēng)為總服務(wù)器利用)小于或者等于該服務(wù)器102的最大利用容量。
部署模塊112可以是要分別根據(jù)第一布置規(guī)劃和第二布置規(guī)劃而在服務(wù)器102(或者更特別地,服務(wù)器102的子集)上部署vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108。在一些實(shí)現(xiàn)中,在規(guī)劃器模塊110已經(jīng)完全定義第一布置規(guī)劃和第二布置規(guī)劃之后,部署模塊112可以部署vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108。在一些實(shí)現(xiàn)中,在規(guī)劃器模塊110定義第一布置規(guī)劃和第二布置規(guī)劃器時(shí),部署模塊112可以基本上同時(shí)地部署所述多個(gè)vsa虛擬機(jī)106和所述多個(gè)應(yīng)用虛擬機(jī)108。例如,在其中規(guī)劃器模塊108迭代地布置vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108的實(shí)現(xiàn)中,部署模塊112可以在由規(guī)劃器模塊110執(zhí)行的每一個(gè)迭代或迭代的群組之后部署虛擬機(jī)。在一些實(shí)現(xiàn)中,由部署模塊112對(duì)虛擬機(jī)的部署包括至少一個(gè)虛擬機(jī)的遷移。
相比于在沒(méi)有規(guī)劃器模塊110和部署模塊112的情況下在服務(wù)器102上的虛擬機(jī)的部署,憑借規(guī)劃器模塊110和部署模塊112,虛擬機(jī)可以被合并在更小數(shù)目的服務(wù)器102上。在其中虛擬機(jī)被遷移的一些實(shí)現(xiàn)中,虛擬機(jī)從其遷移了的服務(wù)器的子集的虛擬機(jī)利用(即,歸因于在其上部署的虛擬機(jī)的服務(wù)器的資源的利用)可以減少。
圖2是示例系統(tǒng)200的框圖。系統(tǒng)200包括多個(gè)服務(wù)器202(例如,服務(wù)器202-1到202-n)和多個(gè)存儲(chǔ)資產(chǎn)204(例如,存儲(chǔ)資產(chǎn)204-1到204-n),它們?cè)谠S多方面可以分別類(lèi)似于所述多個(gè)服務(wù)器102和所述多個(gè)存儲(chǔ)資產(chǎn)104。系統(tǒng)200還包括vsa虛擬機(jī)206和至少一個(gè)應(yīng)用虛擬機(jī)208(或者多個(gè)應(yīng)用虛擬機(jī)208),它們?cè)谠S多方面可以分別類(lèi)似于vsa虛擬機(jī)106和(多個(gè))應(yīng)用虛擬機(jī)108。系統(tǒng)100還可以包括規(guī)劃器模塊210、部署模塊212、利用確定模塊214、功率使用減少模塊216和/或監(jiān)控模塊218。規(guī)劃器模塊210和部署模塊212在許多方面可以分別類(lèi)似于規(guī)劃器模塊110和部署模塊112。
在一些實(shí)現(xiàn)中,利用確定模塊214可以確定每一個(gè)vsa虛擬機(jī)206的服務(wù)器利用并且可以確定每一個(gè)應(yīng)用虛擬機(jī)208的服務(wù)器利用。如上文關(guān)于圖1所述,服務(wù)器利用可以是由部署在其上的虛擬機(jī)利用或消耗的服務(wù)器202的資源的量,所述虛擬機(jī)諸如vsa虛擬機(jī)206或應(yīng)用虛擬機(jī)208。在一些實(shí)現(xiàn)中,利用確定模塊214可以例如通過(guò)詢問(wèn)管理或運(yùn)行相應(yīng)虛擬機(jī)的服務(wù)器202的操作系統(tǒng)、管理程序等來(lái)確定服務(wù)器202上的每一個(gè)虛擬機(jī)的服務(wù)器利用。每一個(gè)虛擬機(jī)的服務(wù)器利用可以是服務(wù)器202的一個(gè)或多個(gè)資源類(lèi)型的利用,所述一個(gè)或多個(gè)資源類(lèi)型諸如處理器資源、存儲(chǔ)器資源、電功率資源等。在一些實(shí)現(xiàn)中,利用確定模塊214可以計(jì)算服務(wù)器利用的峰值使用、時(shí)間平均和/或其它統(tǒng)計(jì)/分析表示。在一些實(shí)現(xiàn)中,利用確定模塊214可以在框402處通過(guò)基于例如一個(gè)或多個(gè)類(lèi)似虛擬機(jī)的服務(wù)器利用、歷史服務(wù)器利用數(shù)據(jù)(更特別地,類(lèi)似虛擬機(jī)的數(shù)據(jù))、計(jì)算和/或模擬等的估計(jì)來(lái)確定虛擬機(jī)的服務(wù)器利用。
在一些實(shí)現(xiàn)中,利用確定模塊214還可以確定所述多個(gè)服務(wù)器202中的每一個(gè)服務(wù)器的最大利用容量。最大利用容量可以是表示用于由部署在服務(wù)器102上的虛擬機(jī)的使用或消耗的服務(wù)器102的總可用資源(或者可替換地,可用于服務(wù)器102以便向虛擬機(jī)分配的總資源)的量。在一些實(shí)現(xiàn)中,利用確定模塊214可以通過(guò)接收服務(wù)器202的規(guī)范和配置(例如,包括處理器、存儲(chǔ)器等的服務(wù)器硬件組件的規(guī)范)并且分析該規(guī)范和配置和/或通過(guò)評(píng)量基準(zhǔn)技術(shù)來(lái)確定服務(wù)器202的最大利用容量。與采用以上描述的虛擬機(jī)的服務(wù)器利用的情況一樣,服務(wù)器202的最大利用容量可以涉及服務(wù)器202的一個(gè)或多個(gè)資源,并且可以例如是處理器利用容量、存儲(chǔ)器利用容量、電功率利用容量等。在一些實(shí)現(xiàn)中,服務(wù)器利用容量和最大利用容量涉及服務(wù)器202的(多個(gè))相同類(lèi)型的資源。
在一些實(shí)現(xiàn)中,利用確定模塊214還可以按照服務(wù)器202的最低的最大利用容量來(lái)對(duì)vsa虛擬機(jī)206的服務(wù)器利用、應(yīng)用虛擬機(jī)208的服務(wù)器利用、以及服務(wù)器202的最大利用容量進(jìn)行歸一化。例如,所述多個(gè)服務(wù)器202中的一些服務(wù)器可以由于不同的規(guī)范和/或配置而具有不同的最大利用容量,并且服務(wù)器202的最大利用容量中的最低者可以與功效最不強(qiáng)大的服務(wù)器202相對(duì)應(yīng)。通過(guò)基于最低的最大利用容量進(jìn)行歸一化,可以在統(tǒng)一的歸一化級(jí)別上測(cè)量服務(wù)器的最大利用容量和虛擬機(jī)的服務(wù)器利用。
規(guī)劃器模塊210可以定義第一布置規(guī)劃和/或第二布置規(guī)劃,所述第一布置規(guī)劃和/第二布置規(guī)劃分別在服務(wù)器202上布置vsa虛擬機(jī)206和應(yīng)用虛擬機(jī)208。規(guī)劃器模塊210在許多方面可以類(lèi)似于規(guī)劃器模塊110。例如,規(guī)劃器模塊210可以根據(jù)以上關(guān)于規(guī)劃器模塊110描述的規(guī)則中的一個(gè)或多個(gè)規(guī)則來(lái)定義第一布置規(guī)劃和第二布置規(guī)劃。在一些實(shí)現(xiàn)中,規(guī)劃器模塊210可以使用vsa虛擬機(jī)206的服務(wù)器利用、應(yīng)用虛擬機(jī)208的服務(wù)器利用、和/或由利用確定模塊214確定的服務(wù)器的最大利用容量來(lái)定義第一布置規(guī)劃或第二布置規(guī)劃。
與采用規(guī)劃器模塊110的情況一樣,規(guī)劃器模塊210可以向第一布置規(guī)劃和第二布置規(guī)劃應(yīng)用服務(wù)器利用規(guī)則。在一些實(shí)現(xiàn)中,由規(guī)劃器模塊210應(yīng)用的服務(wù)器利用規(guī)則是基于由利用確定模塊214確定的每一個(gè)服務(wù)器的最大利用容量(或者歸一化的最大利用容量)。例如,規(guī)劃器模塊210可以應(yīng)用服務(wù)器利用規(guī)則,所述服務(wù)器利用規(guī)則要求布置在服務(wù)器202上的vsa虛擬機(jī)206和/或應(yīng)用虛擬機(jī)208的服務(wù)器利用的總和(也稱(chēng)為總服務(wù)器利用)小于或者等于該服務(wù)器202的最大利用容量。
附加地或者可替換地,服務(wù)器利用規(guī)則可以是基于每一個(gè)服務(wù)器202的最大存儲(chǔ)群簇利用。在一些實(shí)現(xiàn)中,服務(wù)器202的最大存儲(chǔ)群簇利用可以是關(guān)于以下的限制:可以由存儲(chǔ)群簇210使用服務(wù)器202的最大利用容量的多少(換言之,最大存儲(chǔ)群簇利用可以是關(guān)于布置在服務(wù)器202上的所有vsa虛擬機(jī)206的服務(wù)器利用的總和的限制)。在一些實(shí)現(xiàn)中,最大存儲(chǔ)群簇利用可以是關(guān)于布置在服務(wù)器202上的每一個(gè)單獨(dú)的vsa虛擬機(jī)206的服務(wù)器利用的限制。例如,規(guī)劃器模塊110可以基于最大存儲(chǔ)群簇利用來(lái)應(yīng)用服務(wù)器利用規(guī)則,使得對(duì)于每一個(gè)服務(wù)器202而言,布置在服務(wù)器202上的單獨(dú)vsa虛擬機(jī)206的服務(wù)器利用(由利用確定模塊214確定)和/或布置在服務(wù)器202上的所有vsa虛擬機(jī)206的服務(wù)器利用的總和小于或者等于最大存儲(chǔ)群簇利用。因?yàn)閼?yīng)用服務(wù)器利用規(guī)則,所以規(guī)劃器模塊210可以嘗試防止或者減少服務(wù)器202的過(guò)度利用并且可以嘗試使服務(wù)器202的利用均衡。
與采用部署模塊112的情況一樣,部署模塊212可以分別根據(jù)第一布置規(guī)劃和第二布置規(guī)劃來(lái)部署vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108。在部署虛擬機(jī)之后,服務(wù)器202的子集在其上可以不部署任何虛擬機(jī),或者可以具有最低的總服務(wù)器利用。
功率使用減少模塊216可以減少不具有虛擬機(jī)和/或具有低的總服務(wù)器利用的服務(wù)器202的子集的功率使用。功率使用減少模塊216可以以相同的方式或者以不同的方式減少服務(wù)器的子集中的單獨(dú)服務(wù)器的功率使用。例如,在一些實(shí)現(xiàn)中,功率使用減少模塊216可以完全關(guān)閉服務(wù)器202以便減少其功率使用。在一些實(shí)現(xiàn)中,功率使用減少模塊216可以通過(guò)以下來(lái)減少服務(wù)器202的功率使用:采用一個(gè)或多個(gè)功率管理技術(shù),諸如完全關(guān)閉一個(gè)或多個(gè)處理器核、減小處理器頻率、減小處理器電壓、減小存儲(chǔ)器總線速度、禁用存儲(chǔ)器交叉等。
監(jiān)控模塊218可以監(jiān)控所述多個(gè)vsa虛擬機(jī)206、所述多個(gè)應(yīng)用虛擬機(jī)208和/或所述多個(gè)服務(wù)器202的改變。例如,監(jiān)控模塊218可以通過(guò)詢問(wèn)服務(wù)器202或者服務(wù)器202上的操作系統(tǒng)/管理程序(或者向它們請(qǐng)求改變的通知)來(lái)監(jiān)控改變。對(duì)監(jiān)控模塊218而言感興趣的改變可以例如包括服務(wù)器202的硬件配置改變(所述硬件配置改變可以改變經(jīng)改變的服務(wù)器202的對(duì)應(yīng)最大利用容量)、新vsa虛擬機(jī)向所述多個(gè)vsa虛擬機(jī)206的添加、新應(yīng)用虛擬機(jī)向所述多個(gè)應(yīng)用虛擬機(jī)208的添加、所述多個(gè)vsa虛擬機(jī)206中的vsa虛擬機(jī)的終止、或者所述多個(gè)應(yīng)用虛擬機(jī)208中的應(yīng)用虛擬機(jī)的終止。在一些實(shí)現(xiàn)中,監(jiān)控模塊218還可以監(jiān)控對(duì)所述多個(gè)vsa虛擬機(jī)206中的任何vsa虛擬機(jī)或者所述多個(gè)應(yīng)用虛擬機(jī)208中的任何應(yīng)用虛擬機(jī)的服務(wù)器利用的改變,諸如超出或者不同于由規(guī)劃器模塊210使用以定義第一布置規(guī)劃和第二布置規(guī)劃的服務(wù)器利用的服務(wù)器利用中的改變。在一些實(shí)現(xiàn)中,監(jiān)控模塊218可以通過(guò)使用利用確定模塊214來(lái)監(jiān)控對(duì)服務(wù)器利用的改變。
響應(yīng)于所述多個(gè)vsa虛擬機(jī)206、所述多個(gè)應(yīng)用虛擬機(jī)208和/或所述多個(gè)服務(wù)器202中的改變,監(jiān)控模塊218可以基于所述改變來(lái)重新定義第一布置規(guī)劃和/或第二布置規(guī)劃。例如,在一些實(shí)現(xiàn)中,監(jiān)控模塊218可以指示利用確定模塊214來(lái)確定每一個(gè)vsa虛擬機(jī)206的服務(wù)器利用、每一個(gè)應(yīng)用虛擬機(jī)208的服務(wù)器利用、和/或每一個(gè)服務(wù)器202的最大利用容量,并且指示規(guī)劃器模塊210基于由利用確定模塊214做出的確定來(lái)定義新的或者修訂的第一布置規(guī)劃和/或新的或者修訂的第二布置規(guī)劃。
圖3是根據(jù)示例實(shí)現(xiàn)的用于部署虛擬機(jī)的方法300的流程圖。在一些實(shí)現(xiàn)中,方法300可以至少部分地以存儲(chǔ)在機(jī)器可讀介質(zhì)上的可執(zhí)行指令的形式和/或以電子電路的形式來(lái)實(shí)現(xiàn)。在一些實(shí)現(xiàn)中,方法300的步驟可以基本上同時(shí)地執(zhí)行或者以與圖3中所示的不同次序執(zhí)行。在一些實(shí)現(xiàn)中,方法300可以包括比圖3中所示的更多或更少的步驟。在一些實(shí)現(xiàn)中,方法300的步驟中的一個(gè)或多個(gè)步驟在某些時(shí)間可以在進(jìn)行中和/或可以重復(fù)。盡管下面參照系統(tǒng)100描述方法300的執(zhí)行,但是應(yīng)當(dāng)理解到,方法300的至少部分可以由任何其它適合的設(shè)備或系統(tǒng)(諸如例如圖2的系統(tǒng)200)來(lái)執(zhí)行。
方法300開(kāi)始,并且在框302處,規(guī)劃器模塊110通過(guò)在多個(gè)服務(wù)器中的服務(wù)器上布置多個(gè)vsa虛擬機(jī)106中的每一個(gè)vsa虛擬機(jī)來(lái)定義第一布置規(guī)劃,所述服務(wù)器連接到由相應(yīng)vsa虛擬機(jī)使用以支持存儲(chǔ)群簇107的存儲(chǔ)資產(chǎn)104。作為說(shuō)明,如上文參照?qǐng)D1的示例中所述,存儲(chǔ)資產(chǎn)104-1可以連接到服務(wù)器102-1和102-2,并且vsa虛擬機(jī)106-1可以使用存儲(chǔ)資產(chǎn)104-1以支持存儲(chǔ)群簇107-1。在前述說(shuō)明中,在框302處,規(guī)劃器模塊110將定義第一布置規(guī)劃以便在服務(wù)器102-1或102-2上布置vsa虛擬機(jī)106-1,因?yàn)槟切┓?wù)器連接到由vsa虛擬機(jī)106-1使用以支持存儲(chǔ)群簇107-1的存儲(chǔ)資產(chǎn)104-1。
在一些實(shí)現(xiàn)中,在框302處,規(guī)劃器模塊110通過(guò)迭代地布置每一個(gè)vsa虛擬機(jī)來(lái)定義第一布置規(guī)劃。在一些實(shí)現(xiàn)中,在布置使用連接到多個(gè)服務(wù)器的存儲(chǔ)資產(chǎn)104的vsa虛擬機(jī)106之前,規(guī)劃器模塊110在單個(gè)服務(wù)器上布置使用連接到該單個(gè)服務(wù)器的存儲(chǔ)資產(chǎn)104的vsa虛擬機(jī)106,因?yàn)橄啾扔谑褂眠B接到單個(gè)服務(wù)器的存儲(chǔ)資產(chǎn)104的vsa虛擬機(jī)106而言,可以認(rèn)為使用連接到多個(gè)服務(wù)器的存儲(chǔ)資產(chǎn)的vsa虛擬機(jī)106具有服務(wù)器布置的更多選項(xiàng)。在一些實(shí)現(xiàn)中,支持相同存儲(chǔ)群簇的vsa虛擬機(jī)106均被布置在所述多個(gè)服務(wù)器102中的不同服務(wù)器上。在一些實(shí)現(xiàn)中,先于沒(méi)有虛擬機(jī)的服務(wù)器,所述多個(gè)vsa虛擬機(jī)106被布置在具有虛擬機(jī)的服務(wù)器上。
在框304處,規(guī)劃器模塊110通過(guò)在所述多個(gè)服務(wù)器102中具有用于應(yīng)用虛擬機(jī)108的可用利用容量的服務(wù)器上布置應(yīng)用虛擬機(jī)108并且通過(guò)先于沒(méi)有虛擬機(jī)的服務(wù)器102而在具有虛擬機(jī)的服務(wù)器102上布置應(yīng)用虛擬機(jī)108來(lái)定義第二布置規(guī)劃。在一些實(shí)現(xiàn)中,如果比布置在服務(wù)器102上的任何虛擬機(jī)(例如,在框302處布置在服務(wù)器102上的vsa虛擬機(jī)106)的服務(wù)器利用的總和小的服務(wù)器102的最大利用容量大于或者等于應(yīng)用虛擬機(jī)108的服務(wù)器利用,則認(rèn)為服務(wù)器102具有可用利用容量。在一些實(shí)現(xiàn)中,在框304處定義第二布置規(guī)劃之前執(zhí)行框302處的定義第一布置規(guī)劃。
在一些實(shí)現(xiàn)中,應(yīng)用虛擬機(jī)108是多個(gè)應(yīng)用虛擬機(jī)108(例如,應(yīng)用虛擬機(jī)108-1到108-n)中的一個(gè),并且在框304處,規(guī)劃器模塊110還通過(guò)按照所述多個(gè)應(yīng)用虛擬機(jī)108的服務(wù)器利用的降序依次布置所述多個(gè)應(yīng)用虛擬機(jī)108中的每一個(gè)應(yīng)用虛擬機(jī)而定義第二布置規(guī)劃。
在一些實(shí)現(xiàn)中,如果與相應(yīng)應(yīng)用虛擬機(jī)使用的存儲(chǔ)群簇相關(guān)聯(lián)的服務(wù)器具有用于相應(yīng)應(yīng)用虛擬機(jī)的可用利用容量,規(guī)劃器模塊110還通過(guò)在與相應(yīng)應(yīng)用虛擬機(jī)使用的存儲(chǔ)群簇相關(guān)聯(lián)的服務(wù)器上布置多個(gè)應(yīng)用虛擬機(jī)108中的每一個(gè)應(yīng)用虛擬機(jī)而在框304處定義第二布置規(guī)劃,否則,規(guī)劃器模塊110通過(guò)在所述多個(gè)服務(wù)器之中具有最高利用容量且具有至少一個(gè)其它虛擬機(jī)的服務(wù)器上布置相應(yīng)應(yīng)用虛擬機(jī)而在框304處定義第二布置規(guī)劃。作為說(shuō)明,如以上參照?qǐng)D1的示例中所述,應(yīng)用虛擬機(jī)108-1可以使用由vsa虛擬機(jī)106-1和106-2支持的存儲(chǔ)群簇110-1,并且vsa虛擬機(jī)106-1和106-2(例如,在框302處)分別被布置在服務(wù)器102-1和102-2上。在前述說(shuō)明中,取決于服務(wù)器102-1或102-2中的哪個(gè)服務(wù)器具有用于應(yīng)用虛擬機(jī)108-1的服務(wù)器利用的可用利用容量,規(guī)劃器模塊110將在框304處在服務(wù)器102-1或102-2上布置應(yīng)用虛擬機(jī)108-1。如果服務(wù)器102-1或102-2都不具有用于應(yīng)用虛擬機(jī)108-1的可用利用容量,則規(guī)劃器模塊110可以在具有最高可用利用容量并且還在其上布置有至少一個(gè)其它虛擬機(jī)的服務(wù)器102上布置應(yīng)用虛擬機(jī)108-1。
在框306處,部署模塊112分別根據(jù)第一布置規(guī)劃(在框302處所定義)和第二布置規(guī)劃(在框304處所定義)部署所述多個(gè)vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108。憑借框306,vsa虛擬機(jī)106和應(yīng)用虛擬機(jī)108的部署可能可以被合并到最小數(shù)目的服務(wù)器102上。在框306之后,方法300可以結(jié)束。
圖4是根據(jù)示例實(shí)現(xiàn)的用于部署虛擬機(jī)的方法400的流程圖。在一些實(shí)現(xiàn)中,方法400可以至少部分地以存儲(chǔ)在機(jī)器可讀介質(zhì)上的可執(zhí)行指令的形式和/或以電子電路的形式來(lái)實(shí)現(xiàn)。在一些實(shí)現(xiàn)中,方法400的步驟可以基本上同時(shí)地執(zhí)行或者以與圖4中所示的不同次序執(zhí)行。在一些實(shí)現(xiàn)中,方法400可以包括比圖4中所示的更多或更少的步驟。在一些實(shí)現(xiàn)中,方法400的步驟中的一個(gè)或多個(gè)步驟在某些時(shí)間可以在進(jìn)行中和/或可以重復(fù)。盡管下面參照系統(tǒng)200描述方法400的執(zhí)行,但是應(yīng)當(dāng)理解到,方法400的至少部分可以用任何其它適合的設(shè)備或系統(tǒng)(諸如例如圖1的系統(tǒng)100)來(lái)執(zhí)行。
在一些實(shí)現(xiàn)中,在方法400開(kāi)始之前,vsa虛擬機(jī)206和應(yīng)用虛擬機(jī)208已經(jīng)在之前部署于服務(wù)器202上。在一些實(shí)現(xiàn)中,vsa虛擬機(jī)206中的一個(gè)或多個(gè)vsa虛擬機(jī)和/或應(yīng)用虛擬機(jī)208中的一個(gè)或多個(gè)應(yīng)用虛擬機(jī)尚未部署在服務(wù)器202上。
方法400開(kāi)始,并且在框401處,利用確定模塊214確定以下中的至少一個(gè):每一個(gè)vsa虛擬機(jī)206的服務(wù)器利用、應(yīng)用虛擬機(jī)208的服務(wù)器利用(或者在一些實(shí)現(xiàn)中,多個(gè)應(yīng)用虛擬機(jī)208中的每一個(gè)應(yīng)用虛擬機(jī)的服務(wù)器利用)和/或所述多個(gè)服務(wù)器202中的每一個(gè)服務(wù)器的最大利用容量。
如上文所述,服務(wù)器利用可以是由部署在其上的虛擬機(jī)利用或消耗的服務(wù)器202的資源的量,所述虛擬機(jī)諸如vsa虛擬機(jī)206或者應(yīng)用虛擬機(jī)208。在一些實(shí)現(xiàn)中,利用確定模塊214可以例如通過(guò)詢問(wèn)管理或運(yùn)行虛擬機(jī)的服務(wù)器202的操作系統(tǒng)、管理程序等在框401處確定虛擬機(jī)(例如,(多個(gè))vsa虛擬機(jī)和/或(多個(gè))應(yīng)用虛擬機(jī))的服務(wù)器利用。在一些實(shí)現(xiàn)中,其中在vsa虛擬機(jī)206和/或應(yīng)用虛擬機(jī)208中的一個(gè)或多個(gè)尚未部署的情況下,利用確定模塊214可以在框401處通過(guò)基于例如一個(gè)或多個(gè)已部署的虛擬機(jī)(例如,類(lèi)似于未部署虛擬機(jī)的已部署虛擬機(jī))的服務(wù)器利用、(例如,類(lèi)似于未部署虛擬機(jī)的虛擬機(jī)的)歷史服務(wù)器利用數(shù)據(jù)、計(jì)算和/或模擬等的估計(jì)來(lái)確定未部署虛擬機(jī)的服務(wù)器利用。在一些實(shí)現(xiàn)中,利用確定模塊214可以是服務(wù)器利用的峰值使用、時(shí)間平均、和/或其它統(tǒng)計(jì)/分析表示。
在一些實(shí)現(xiàn)中,利用確定模塊214可以通過(guò)接收和分析服務(wù)器202的規(guī)范和配置和/或通過(guò)對(duì)服務(wù)器202進(jìn)行評(píng)量基準(zhǔn)來(lái)確定服務(wù)器202的最大利用容量。在一些實(shí)現(xiàn)中,利用確定模塊214還按照服務(wù)器202的最低最大利用容量對(duì)vsa虛擬機(jī)206的服務(wù)器利用、(多個(gè))應(yīng)用虛擬機(jī)208的服務(wù)器利用、和/或服務(wù)器202的最大利用容量進(jìn)行歸一化。
在框402處,規(guī)劃器模塊210可以以在許多方面類(lèi)似于框302的方式來(lái)定義第一布置規(guī)劃,所述第一布置規(guī)劃在服務(wù)器202上布置每一個(gè)vsa虛擬機(jī)206。除以框302的方式定義第一布置規(guī)劃之外,規(guī)劃器模塊210還可以應(yīng)用定義第一布置規(guī)劃的規(guī)則,所述規(guī)則將每一個(gè)服務(wù)器202的總服務(wù)器利用限制為小于或者等于相應(yīng)服務(wù)器的最大利用容量。例如,服務(wù)器202-1可以具有最大利用容量,所述最大利用容量可以在框401處確定,并且在框402處布置在服務(wù)器202-1上的vsa虛擬機(jī)206的服務(wù)器利用的總和(即,自框402起的服務(wù)器202-1的總服務(wù)器利用)由規(guī)則限制為小于或者等于服務(wù)器202-1的最大利用容量。
在一些實(shí)現(xiàn)中,盡管在執(zhí)行框402,但是鑒于所述多個(gè)服務(wù)器202中的每一個(gè)服務(wù)器的最大存儲(chǔ)群簇利用,規(guī)劃器模塊210還可以在最小值和最大值之間調(diào)節(jié)支持相同存儲(chǔ)群簇(例如,207-1)的vsa虛擬機(jī)206的數(shù)目。在一些實(shí)現(xiàn)中,最大存儲(chǔ)群簇利用可以是關(guān)于以下的限制:服務(wù)器202的最大利用容量的多少可以由存儲(chǔ)群簇210使用(即,布置在服務(wù)器202上的所有vsa虛擬機(jī)206的服務(wù)器利用的總和)。附加地或者可替換地,在一些實(shí)現(xiàn)中,最大存儲(chǔ)群簇利用可以是關(guān)于布置在服務(wù)器202上的每一個(gè)單獨(dú)vsa虛擬機(jī)206的服務(wù)器利用的限制。在一些實(shí)現(xiàn)中,最小值可以涉及用于提供針對(duì)存儲(chǔ)群簇207-1的故障容差所期望的vsa虛擬機(jī)206的最小數(shù)目。在一些實(shí)現(xiàn)中,支持相同存儲(chǔ)群簇207-1的vsa虛擬機(jī)206的最大數(shù)目可以涉及特性,諸如服務(wù)質(zhì)量、線程處理、性能等。從最小值到最大值,支持相同存儲(chǔ)群簇207-1的每一個(gè)vsa虛擬機(jī)206的服務(wù)器利用可以隨著支持相同存儲(chǔ)群簇207-1的vsa虛擬機(jī)206的數(shù)目而相反地變化(這是由于存儲(chǔ)群簇207-1的服務(wù)器利用在支持相同存儲(chǔ)群簇207-1的vsa虛擬機(jī)206之間被均勻地劃分)。相應(yīng)地,通過(guò)(在最小值和最大值之間)增加或減少支持相同存儲(chǔ)群簇207-1的vsa虛擬機(jī)206的數(shù)目,那些vsa虛擬機(jī)206中的每一個(gè)的服務(wù)器利用可以相應(yīng)地減少或增加,從而允許規(guī)劃器模塊210改變服務(wù)器利用以便滿足服務(wù)器202的最大利用容量和/或最大存儲(chǔ)群簇利用。
作為說(shuō)明,存儲(chǔ)群簇207-1可以由vsa虛擬機(jī)206-1和206-2支持,存儲(chǔ)群簇207-1可以允許最少兩個(gè)虛擬機(jī)并且最多三個(gè)虛擬機(jī),規(guī)劃器模塊210已經(jīng)確定vsa虛擬機(jī)206-1由于本文討論的所述其它規(guī)則中的至少一個(gè)而應(yīng)當(dāng)布置在服務(wù)器202-1上,服務(wù)器202-1具有0.2個(gè)單位的可用利用容量,并且vsa虛擬機(jī)206-1和206-2均具有在框401處確定的0.3個(gè)單位的服務(wù)器利用(用于存儲(chǔ)群簇207-1的總共0.6個(gè)單位)。因?yàn)関sa虛擬機(jī)206-1將由于服務(wù)器利用0.3大于0.2個(gè)單位的可用利用容量而沒(méi)有適應(yīng)在服務(wù)器202-1上,所以規(guī)劃模塊210可以通過(guò)添加vsa虛擬機(jī)206-3來(lái)調(diào)節(jié)支持存儲(chǔ)群簇207-1的vsa虛擬機(jī)的數(shù)目,從而將用于存儲(chǔ)群簇207-1的vsa虛擬機(jī)的數(shù)目帶至最大三個(gè)。相應(yīng)地,支持存儲(chǔ)群簇207-1的每一個(gè)vsa虛擬機(jī)的服務(wù)器利用減少為0.2個(gè)單位(即,三個(gè)vsa虛擬機(jī)之間劃分了總共0.6個(gè)單位的存儲(chǔ)群簇207-1),并且規(guī)劃器模塊210可以將vsa虛擬機(jī)206-1布置在服務(wù)器202-1上。
在框404處,規(guī)劃器模塊210可以以在許多方面類(lèi)似于框304的方式定義第二布置規(guī)劃,所述第二布置規(guī)劃在服務(wù)器202上布置應(yīng)用虛擬機(jī)208(或者在一些實(shí)現(xiàn)中,多個(gè)應(yīng)用虛擬機(jī)206中的每一個(gè)應(yīng)用虛擬機(jī))。除以框304的方式定義第二布置規(guī)劃之外,規(guī)劃器模塊210還可以應(yīng)用定義第二布置規(guī)劃的規(guī)則,所述規(guī)則將每一個(gè)服務(wù)器202的總服務(wù)器利用限制為小于或者等于相應(yīng)服務(wù)器的最大利用容量。例如,在其中框404在框402之后執(zhí)行的一些實(shí)現(xiàn)中,服務(wù)器202-1的總服務(wù)器利用是在框402處布置在服務(wù)器202-1上的vsa虛擬機(jī)206的服務(wù)器利用以及在框404處布置在服務(wù)器202-1上的(多個(gè))應(yīng)用虛擬機(jī)208的服務(wù)器利用的總和,并且總服務(wù)器利用在框404處由規(guī)則限制為小于或者等于服務(wù)器202-1的最大利用容量,所述最大利用容量可以在框401處確定。
在框406處,部署模塊212可以分別根據(jù)第一布置規(guī)劃和第二布置規(guī)劃在服務(wù)器202上部署所述多個(gè)vsa虛擬機(jī)206和應(yīng)用虛擬機(jī)208(或者多個(gè)應(yīng)用虛擬機(jī)208)???06可以在許多方面類(lèi)似于框306。在一些實(shí)現(xiàn)中,部署可以包括將所述多個(gè)vsa虛擬機(jī)206和/或應(yīng)用虛擬機(jī)208中的至少一些(例如,在方法400開(kāi)始之前部署在服務(wù)器202上的虛擬機(jī))從所述多個(gè)服務(wù)器202的第一子集遷移到所述多個(gè)服務(wù)器202的第二子集。
在框408處,功率使用減少模塊216可以減少所述多個(gè)服務(wù)器202中的至少一個(gè)的功率使用。在一些實(shí)現(xiàn)中,功率使用減少模塊216可以關(guān)斷服務(wù)器202的第一子集中的服務(wù)器202以便減少其功率使用。在一些實(shí)現(xiàn)中,功率使用減少模塊216可以通過(guò)采用一個(gè)或多個(gè)功率管理技術(shù)來(lái)減少第一子集的服務(wù)器202的功率使用,所述一個(gè)或多個(gè)功率管理技術(shù)諸如關(guān)斷一個(gè)或多個(gè)處理器核、減小處理器頻率、減小處理器電壓、減小存儲(chǔ)器總線速度、禁用存儲(chǔ)器交叉等。
在框410處,監(jiān)控模塊218可以監(jiān)控所述多個(gè)vsa虛擬機(jī)206和/或(多個(gè))應(yīng)用虛擬機(jī)208的改變。例如,監(jiān)控模塊218可以通過(guò)詢問(wèn)服務(wù)器或者服務(wù)器202上的操作系統(tǒng)/管理程序(或者向它們請(qǐng)求改變的通知)來(lái)監(jiān)控改變。對(duì)監(jiān)控模塊218而言感興趣的改變可以例如包括對(duì)服務(wù)器202的硬件配置改變(所述硬件配置改變可以改變經(jīng)改變的服務(wù)器202的對(duì)應(yīng)最大利用容量)、新的vsa虛擬機(jī)向所述多個(gè)vsa虛擬機(jī)206的添加、新的應(yīng)用虛擬機(jī)向所述多個(gè)應(yīng)用虛擬機(jī)208的添加、所述多個(gè)vsa虛擬機(jī)206中的vsa虛擬機(jī)的終止、或者所述多個(gè)應(yīng)用虛擬機(jī)208中的應(yīng)用虛擬機(jī)的終止。在一些實(shí)現(xiàn)中,監(jiān)控模塊218還可以(例如,通過(guò)以上文關(guān)于框401所述的方式使用利用確定模塊214)監(jiān)控對(duì)vsa虛擬機(jī)206中的任一個(gè)或者應(yīng)用虛擬機(jī)208中的任一個(gè)的服務(wù)器利用的改變,其中感興趣的改變例如包括服務(wù)器利用中的改變,所述改變超出或者不同于由規(guī)劃器模塊210使用以在框402處定義第一布置規(guī)劃和在框404處定義第二布置規(guī)劃的服務(wù)器利用。
在框412處,如果已經(jīng)做出改變(框412處的“是”),由監(jiān)控模塊218在框408處確定的,那么系統(tǒng)200基于所述改變來(lái)重新定義第一布置規(guī)劃和/或第二布置規(guī)劃,并且根據(jù)重新定義的第一布置規(guī)劃和/或第二布置規(guī)劃來(lái)部署所述多個(gè)vsa虛擬機(jī)206和(多個(gè))應(yīng)用虛擬機(jī)208。例如,在一些實(shí)現(xiàn)中,如果已經(jīng)做出改變(框412處的“是”),控制可以傳遞回到框401,并且方法400再次執(zhí)行。
在框412處,如果尚未做出改變(框412處的“否”),由監(jiān)控模塊218在框410處確定的,那么控制傳遞到框414。在框414,如果(例如,默認(rèn)地)期望繼續(xù)監(jiān)控,那么控制返回到框410,并且監(jiān)控模塊218可以繼續(xù)如上文所述的那樣監(jiān)控改變。如果在框414處(例如,通過(guò)用戶命令、中斷請(qǐng)求等)不期望繼續(xù)監(jiān)控,那么方法400可以結(jié)束。
圖5是圖示了根據(jù)示例實(shí)現(xiàn)的系統(tǒng)500的框圖,所述系統(tǒng)500包括編碼有指令以遷移虛擬機(jī)的機(jī)器可讀介質(zhì)。在一些示例實(shí)現(xiàn)中,系統(tǒng)500可以形成膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、工作站、服務(wù)器、移動(dòng)電話、平板計(jì)算設(shè)備和/或其它電子設(shè)備的部分。在一些實(shí)現(xiàn)中,系統(tǒng)500可以通信耦合到多個(gè)服務(wù)器(例如,所述多個(gè)服務(wù)器100或者所述多個(gè)服務(wù)器200)。在一些實(shí)現(xiàn)中,系統(tǒng)500可以通信耦合到多個(gè)存儲(chǔ)資產(chǎn)(例如,所述多個(gè)存儲(chǔ)資產(chǎn)100或者所述多個(gè)存儲(chǔ)資產(chǎn)200)。
在一些實(shí)現(xiàn)中,系統(tǒng)500是基于處理器的系統(tǒng)并且可以包括耦合到機(jī)器可讀介質(zhì)504的處理器502。處理器502可以包括中央處理單元、多處理單元、微處理器、專(zhuān)用集成電路、現(xiàn)場(chǎng)可編程門(mén)陣列、和/或適用于從機(jī)器可讀介質(zhì)504檢索和/或執(zhí)行指令(例如,指令506和508)以實(shí)施本文討論的各種功能的其它硬件設(shè)備。附加地或者可替換地,處理器502可以包括用于執(zhí)行本文描述的功能性的電子電路,所述功能性包括指令506和508的功能性。
機(jī)器可讀介質(zhì)504可以是適用于存儲(chǔ)可執(zhí)行指令的任何介質(zhì),所述介質(zhì)諸如隨機(jī)存取存儲(chǔ)器(ram)、電氣可擦除可編程只讀存儲(chǔ)器(eeprom)、閃速存儲(chǔ)器、硬盤(pán)驅(qū)動(dòng)、光盤(pán)等。在一些示例實(shí)現(xiàn)中,機(jī)器可讀介質(zhì)504可以是有形、非暫時(shí)性介質(zhì),其中術(shù)語(yǔ)“非暫時(shí)性”不涵蓋暫時(shí)性傳播信號(hào)。如本文下面進(jìn)一步所述,機(jī)器可讀介質(zhì)504可以編碼有可執(zhí)行指令506和508的集合。
指令506可以定義第一布置規(guī)劃,所述第一布置規(guī)劃在多個(gè)服務(wù)器中連接到相應(yīng)vsa虛擬機(jī)使用的存儲(chǔ)資產(chǎn)的服務(wù)器上布置多個(gè)vsa虛擬機(jī)中的每一個(gè)vsa虛擬機(jī),在不同服務(wù)器上布置與相同存儲(chǔ)群簇相關(guān)聯(lián)的每一個(gè)vsa虛擬機(jī),并且相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有至少一個(gè)虛擬機(jī)的服務(wù)器來(lái)布置vsa虛擬機(jī)。
指令508可以定義第二布置規(guī)劃,如果與相應(yīng)應(yīng)用虛擬機(jī)使用的存儲(chǔ)群簇相關(guān)聯(lián)的服務(wù)器具有用于相應(yīng)應(yīng)用虛擬機(jī)的可用利用容量,所述第二布置規(guī)劃在所述多個(gè)服務(wù)器中與相應(yīng)應(yīng)用虛擬機(jī)使用的存儲(chǔ)群簇相關(guān)聯(lián)的服務(wù)器上布置多個(gè)應(yīng)用虛擬機(jī)中的每一個(gè),否則,所述第二布置規(guī)劃按照應(yīng)用虛擬機(jī)的服務(wù)器利用的降序在具有可用利用容量的服務(wù)器上依次布置所述多個(gè)應(yīng)用虛擬機(jī)中的每一個(gè)。在一些實(shí)現(xiàn)中,指令508還可以相比于沒(méi)有虛擬機(jī)的服務(wù)器而言更偏好具有至少一個(gè)虛擬機(jī)的服務(wù)器來(lái)布置應(yīng)用虛擬機(jī)。
在一些實(shí)現(xiàn)中,指令506和508還可以向第一布置規(guī)劃和第二布置規(guī)劃應(yīng)用服務(wù)器利用規(guī)則。例如,在一些實(shí)現(xiàn)中,服務(wù)器利用規(guī)則可以包括以下規(guī)則:布置在服務(wù)器上的vsa虛擬機(jī)和應(yīng)用虛擬機(jī)的服務(wù)器利用的總和小于或者等于該服務(wù)器的最大利用容量。
圖6是圖示了根據(jù)示例實(shí)現(xiàn)的系統(tǒng)600的框圖,所述系統(tǒng)600包括編碼有指令以遷移虛擬機(jī)的機(jī)器可讀介質(zhì)。在一些示例實(shí)現(xiàn)中,系統(tǒng)600可以形成膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、工作站、服務(wù)器、移動(dòng)電話、平板計(jì)算設(shè)備和/或其它電子設(shè)備的部分。在一些實(shí)現(xiàn)中,系統(tǒng)600可以通信耦合到多個(gè)服務(wù)器(例如,所述多個(gè)服務(wù)器100或者所述多個(gè)服務(wù)器200)。在一些實(shí)現(xiàn)中,系統(tǒng)600可以通信耦合到多個(gè)存儲(chǔ)資產(chǎn)(例如,所述多個(gè)存儲(chǔ)資產(chǎn)100或者所述多個(gè)存儲(chǔ)資產(chǎn)200)。
在一些實(shí)現(xiàn)中,系統(tǒng)600是基于處理器的系統(tǒng)并且可以包括耦合到機(jī)器可讀介質(zhì)604的處理器602。處理器602和機(jī)器可讀介質(zhì)604可以在許多方面分別類(lèi)似于處理器502和機(jī)器可讀介質(zhì)504。機(jī)器可讀介質(zhì)604可以編碼有可執(zhí)行指令606,608和610的集合。附加地或者可替換地,處理器602可以包括用于執(zhí)行本文描述的功能性的電子電路,所述功能性包括指令606,608和/或610的功能性。
指令606可以部署所述多個(gè)vsa虛擬機(jī)和所述多個(gè)應(yīng)用虛擬機(jī)。特別地,指令606可以分別根據(jù)第一布置規(guī)劃和第二布置規(guī)劃將vsa虛擬機(jī)和應(yīng)用虛擬機(jī)部署到所述多個(gè)服務(wù)器的第一子集上。在一些實(shí)現(xiàn)中,指令606還可以減少所述多個(gè)服務(wù)器的第二子集的功率使用。例如,憑借根據(jù)第一布置規(guī)劃和第二布置規(guī)劃而部署所述多個(gè)vsa虛擬機(jī)和應(yīng)用虛擬機(jī),所述多個(gè)服務(wù)器的第二子集在其上可以不部署有任何虛擬機(jī)。
指令608可以檢測(cè)對(duì)所述多個(gè)vsa虛擬機(jī)和/或所述多個(gè)應(yīng)用虛擬機(jī)的改變。例如,指令608可以詢問(wèn)管理或者運(yùn)行所述多個(gè)vsa虛擬機(jī)和/或所述多個(gè)應(yīng)用虛擬機(jī)的服務(wù)器的操作系統(tǒng)、管理程序等,并且分析那些虛擬機(jī)的特性是否已經(jīng)改變,所述特性諸如虛擬機(jī)的服務(wù)器利用。
指令610可以響應(yīng)于所述改變來(lái)對(duì)重新定義的第一布置規(guī)劃或重新定義的第二布置規(guī)劃中的至少一個(gè)進(jìn)行定義。在一些實(shí)現(xiàn)中,指令610可以通過(guò)分別執(zhí)行以上關(guān)于指令506和指令508描述的功能性來(lái)對(duì)重新定義的第一布置規(guī)劃或重新定義的第二布置規(guī)劃進(jìn)行定義。
現(xiàn)在將參照?qǐng)D7說(shuō)明本文描述的方法。圖7圖示了包括硬件服務(wù)器和存儲(chǔ)組件的示例系統(tǒng)700。例如,系統(tǒng)700包括服務(wù)器702(702-1到702-6)、存儲(chǔ)陣列704(704-1和704-2)和具有存儲(chǔ)裝置705(705-1到705-4)的服務(wù)器。具有存儲(chǔ)裝置705的服務(wù)器均包括在沒(méi)有網(wǎng)絡(luò)的情況下通過(guò)例如pci、串行ata、scsi等的方式直接連接到相應(yīng)直接附連的存儲(chǔ)裝置705b(705b-1到705b-4)的服務(wù)器705a(705a-1到705a-4)。存儲(chǔ)陣列704和直接附連的存儲(chǔ)裝置705b可以統(tǒng)稱(chēng)為系統(tǒng)700的存儲(chǔ)資產(chǎn)704和705b。服務(wù)器702和服務(wù)器705a可以統(tǒng)稱(chēng)為系統(tǒng)700的服務(wù)器702和705a。服務(wù)器702和705a通過(guò)網(wǎng)絡(luò)(例如,局域網(wǎng))的方式在它們自己之間通信連接(由圖7中的實(shí)線所表示)。存儲(chǔ)陣列704可以例如是盤(pán)驅(qū)動(dòng)的陣列,所述盤(pán)驅(qū)動(dòng)的陣列可以通過(guò)網(wǎng)絡(luò)并且更特別地通過(guò)使用例如光纖信道、iscsi、以太網(wǎng)、sas等的存儲(chǔ)網(wǎng)絡(luò)的方式連接到服務(wù)器702和705a(如由圖7中的重疊線所表示)。
系統(tǒng)700還包括在服務(wù)器705上運(yùn)行的虛擬機(jī)。虛擬機(jī)可以包括vsa虛擬機(jī)(vsavm)706(706-1到706-12)和應(yīng)用虛擬機(jī)(appvm)708(708-1到708-9)。特別地,vsa虛擬機(jī)706通過(guò)將來(lái)自存儲(chǔ)資產(chǎn)704和705b的存儲(chǔ)容量合并到形成存儲(chǔ)群簇707的虛擬化存儲(chǔ)池中來(lái)支持(即,創(chuàng)建、維護(hù)和/或操作)存儲(chǔ)群簇707(707-1到707-3)。如圖7中所示,為了高可用性和故障容差的示例目的,每一個(gè)存儲(chǔ)群簇707可以由多于一個(gè)vsa虛擬機(jī)706支持。每一個(gè)存儲(chǔ)群簇707可以具有以下規(guī)則:所述規(guī)則要求支持vsa虛擬機(jī)706的數(shù)目處在最小值和最大值之間。也就是說(shuō),存儲(chǔ)群簇707使用存儲(chǔ)資產(chǎn)的存儲(chǔ)容量在圖7中圖示為存儲(chǔ)群簇707與存儲(chǔ)資產(chǎn)704和705b之間的虛線。為了數(shù)據(jù)存儲(chǔ)等的示例目的,一些應(yīng)用虛擬機(jī)708使用一些存儲(chǔ)群簇707(圖示為應(yīng)用虛擬機(jī)708和存儲(chǔ)群簇707之間的虛線)。例如,應(yīng)用虛擬機(jī)708-1,708-2,708-3和708-4使用存儲(chǔ)群簇707-1,應(yīng)用虛擬機(jī)708-4,708-5,708-6和708-9使用存儲(chǔ)群簇707-2,并且應(yīng)用虛擬機(jī)708-4,708-7,708-8和708-9使用存儲(chǔ)群簇707-3。因?yàn)閼?yīng)用虛擬機(jī)708使用存儲(chǔ)群簇并且存儲(chǔ)群簇707使用存儲(chǔ)資產(chǎn)704和705b,所以可以認(rèn)為一些存儲(chǔ)資產(chǎn)704和705b與一些應(yīng)用虛擬機(jī)708相關(guān)聯(lián),并且反之亦然。例如,存儲(chǔ)陣列704-1憑借存儲(chǔ)群簇707中的共同性而與應(yīng)用虛擬機(jī)708-1,708-2,708-3和708-4相關(guān)聯(lián)。
系統(tǒng)700還可以包括虛擬機(jī)管理器710,所述虛擬機(jī)管理器710可以實(shí)現(xiàn)本文關(guān)于方法300和400描述的功能性。在一些實(shí)現(xiàn)中,虛擬機(jī)管理器710可以包括系統(tǒng)200的規(guī)劃器模塊210、部署模塊212、利用確定模塊214、功率使用減少模塊216和/或監(jiān)控模塊218。在一些實(shí)現(xiàn)中,虛擬機(jī)管理器710可以包括在系統(tǒng)500和/或系統(tǒng)600中。在一些實(shí)現(xiàn)中,虛擬機(jī)管理器710可以有權(quán)訪問(wèn)系統(tǒng)700的圖,所述圖至少包括服務(wù)器702和705a與存儲(chǔ)資產(chǎn)704和705b之間的連接。
初始地,虛擬機(jī)管理器710確定每一個(gè)vsa虛擬機(jī)706和每一個(gè)應(yīng)用虛擬機(jī)708的服務(wù)器利用。虛擬機(jī)管理器710還可以確定每一個(gè)服務(wù)器702和705a的最大利用容量。例如,虛擬機(jī)管理器710可以執(zhí)行框401。虛擬機(jī)管理器710可以通過(guò)添加支持存儲(chǔ)群簇707的vsa虛擬機(jī)的服務(wù)器利用來(lái)計(jì)算用于每一個(gè)存儲(chǔ)群簇707的服務(wù)器利用(例如,涉及存儲(chǔ)群簇707-1的所計(jì)算的服務(wù)器利用是支持的vsa虛擬機(jī)706-1,706-2和706-3的服務(wù)器利用的總和)。vsa虛擬機(jī)706的服務(wù)器利用、應(yīng)用虛擬機(jī)708的服務(wù)器利用、以及服務(wù)器702和705a的最大利用容量可以按照服務(wù)器702的最低的最大利用容量進(jìn)行歸一化。表1呈現(xiàn)了用于系統(tǒng)700的示例確定的服務(wù)器利用和最大利用容量,以及應(yīng)用虛擬機(jī)708、存儲(chǔ)群簇707、vsa虛擬機(jī)706、存儲(chǔ)資產(chǎn)704和705b與服務(wù)器702和705a之間的關(guān)系。表1還呈現(xiàn)了針對(duì)由每一個(gè)存儲(chǔ)群簇707準(zhǔn)許的vsa虛擬機(jī)706的最小和最大數(shù)目的配置規(guī)則,以及針對(duì)由每一個(gè)服務(wù)器702和705a準(zhǔn)許的最大存儲(chǔ)群簇利用的規(guī)則。
在確定服務(wù)器利用和最大利用容量之后,虛擬機(jī)管理器710通過(guò)(例如通過(guò)執(zhí)行方法400的框402或者方法300的框302)定義用于vsa虛擬機(jī)706的第一布置規(guī)劃而開(kāi)始。相應(yīng)地,虛擬機(jī)管理器710首先分別在服務(wù)器705a-1,705a-2,705a-3和705a-4上布置vsa虛擬機(jī)706-9,706-10,706-11和706-12,因?yàn)槟切﹙sa虛擬機(jī)均使用連接到單個(gè)服務(wù)器的存儲(chǔ)裝置(分別地705b-1,705b-2,705b-3和705b-4)。
接下來(lái),虛擬機(jī)管理器710在服務(wù)器上布置其余的vsa虛擬機(jī),所述服務(wù)器連接到由相應(yīng)vsa虛擬機(jī)使用以支持存儲(chǔ)群簇的存儲(chǔ)資產(chǎn)。以存儲(chǔ)群簇707-1的vsa虛擬機(jī)開(kāi)始,所要求的最少三個(gè)vsa虛擬機(jī)布置在不同的服務(wù)器上,導(dǎo)致vsa虛擬機(jī)706-1布置在服務(wù)器702-1上,vsa虛擬機(jī)706-2布置在服務(wù)器702-2上,并且vsa虛擬機(jī)706-3布置在服務(wù)器702-3上。
接下來(lái),虛擬機(jī)管理器710布置支持存儲(chǔ)群簇707-2的vsa虛擬機(jī)。存儲(chǔ)群簇707-2要求最少三個(gè)vsa虛擬機(jī),所述三個(gè)vsa虛擬機(jī)均將具有三分之一(0.33)的服務(wù)器利用,這是由于為1.0的存儲(chǔ)群簇707-2的服務(wù)器利用被在三個(gè)虛擬機(jī)之間劃分。虛擬機(jī)管理器710嘗試將這樣的vsa虛擬機(jī)布置在具有最高可用利用容量的服務(wù)器上,所述服務(wù)器在其上還布置有至少一個(gè)虛擬機(jī),所述服務(wù)器在本圖示說(shuō)明中是服務(wù)器702-2和702-3(每個(gè)都具有vsa虛擬機(jī),所述vsa虛擬機(jī)具有來(lái)自存儲(chǔ)群簇707-1的0.2的服務(wù)器利用)。然而,在任一個(gè)服務(wù)器702-2或702-3上布置具有0.33服務(wù)器利用的vsa虛擬機(jī)將超出針對(duì)那些服務(wù)器的0.5的最大存儲(chǔ)群簇利用。相應(yīng)地,虛擬機(jī)管理器710可以將支持存儲(chǔ)群簇707-2的vsa虛擬機(jī)的數(shù)目增加為四個(gè)vsa虛擬機(jī),四個(gè)vsa虛擬機(jī)中的每一個(gè)具有0.25的減少的服務(wù)器利用。相應(yīng)地,虛擬機(jī)管理器710在服務(wù)器702-2上布置vsa虛擬機(jī)706-4,在服務(wù)器702-3上布置vsa虛擬機(jī)706-5,在服務(wù)器702-4上布置vsa虛擬機(jī)706-6,并且在服務(wù)器702-5上布置vsa虛擬機(jī)706-7。布置vsa虛擬機(jī)706之后的第一布置規(guī)劃在表2中呈現(xiàn)。
虛擬機(jī)管理器710然后例如通過(guò)執(zhí)行方法300的框304或者方法400的框404定義布置應(yīng)用虛擬機(jī)708的第二布置規(guī)劃。例如,虛擬機(jī)管理器710首先在服務(wù)器705a-1上布置應(yīng)用虛擬機(jī)708-4(由于其在應(yīng)用虛擬機(jī)之中的最高服務(wù)器利用),因?yàn)榉?wù)器705a-1已經(jīng)保持支持存儲(chǔ)群簇707-3的vsa虛擬機(jī)706-9,并且存儲(chǔ)群簇707-3由應(yīng)用虛擬機(jī)708-4使用。在以服務(wù)器利用的降序布置其余的應(yīng)用虛擬機(jī)708之后,在表3中所呈現(xiàn)的是第二布置規(guī)劃。
在已經(jīng)定義了第一和第二布置規(guī)劃之后,虛擬機(jī)管理器710相應(yīng)地例如通過(guò)方法300的框306或者方法400的框406部署vsa虛擬機(jī)706和應(yīng)用虛擬機(jī)708。部署可以包括遷移vsa虛擬機(jī)706和/或應(yīng)用虛擬機(jī)708。在根據(jù)第一和第二規(guī)劃部署虛擬機(jī)之后,虛擬機(jī)管理器710可以例如通過(guò)執(zhí)行方法400的框408減少服務(wù)器702-6的功率。
鑒于前面的描述,可以領(lǐng)會(huì)到,支持存儲(chǔ)群簇的虛擬機(jī)以及應(yīng)用虛擬機(jī)可以被合并以使得能夠?qū)崿F(xiàn)服務(wù)器上的功率節(jié)省,而同時(shí)提供高可用性、故障容差和服務(wù)質(zhì)量。
在前面的描述中,闡述眾多細(xì)節(jié)以便提供對(duì)本文公開(kāi)的主題的理解。然而,實(shí)現(xiàn)可以在沒(méi)有這些細(xì)節(jié)中的一些或全部的情況下實(shí)踐。其它實(shí)現(xiàn)可以包括從以上討論的細(xì)節(jié)的修改和變化。意圖的是,以下權(quán)利要求涵蓋這樣的修改和變化。