一種物理資源調(diào)度方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種物理資源調(diào)度方法及裝置。
【背景技術(shù)】
[0002]隨著硬件速度的以及服務(wù)器性能的不斷提升,數(shù)據(jù)中心中的部分服務(wù)器的使用率有所下降,為了提高服務(wù)器硬件利用率,降低數(shù)據(jù)中心的運(yùn)維成本,近年來,虛擬化技術(shù)得到了很大的發(fā)展。即,通過虛擬機(jī)軟件,可以在一臺(tái)物理計(jì)算機(jī)上模擬出一臺(tái)或多臺(tái)虛擬的計(jì)算機(jī),這些虛擬機(jī)就像真正的計(jì)算機(jī)那樣進(jìn)行工作。
[0003]在一些特定行業(yè)的虛擬化環(huán)境下,有些虛擬機(jī)需要直接使用物理服務(wù)器上的物理資源,這里的物理資源可以包括物理服務(wù)器上的GPU(Graphics Processing Unit,圖形處理器)顯卡、HBA(Host Bus Adapter,主機(jī)總線適配器)卡、網(wǎng)卡、USB等。例如在廣電行業(yè),非編及合成軟件,對(duì)顯卡要求非常高,需要直接使用物理服務(wù)器的GPU,由于物理服務(wù)器上的GPU資源是有限的,一個(gè)GPU資源只能給一個(gè)虛擬機(jī)使用,如果物理服務(wù)器上運(yùn)行多個(gè)需要GPU資源的虛擬機(jī),就存在GPU資源短缺的情況。
[0004]所以,在現(xiàn)有技術(shù)中,會(huì)將虛擬機(jī)與指定的物理服務(wù)器上虛擬機(jī)運(yùn)行業(yè)務(wù)所需的物理資源進(jìn)行綁定,這樣一來,即使指定服務(wù)器上還存在該類業(yè)務(wù)所需的空閑物理資源,也無法使用。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供了一種物理資源調(diào)度方法及裝置,能夠使虛擬機(jī)共享指定物理服務(wù)器上的物理資源。
[0006]本發(fā)明實(shí)施例提供了一種物理資源調(diào)度方法,應(yīng)用于管理服務(wù)器,該方法包括:向所創(chuàng)建的且用戶申請(qǐng)運(yùn)行的虛擬機(jī)發(fā)送運(yùn)行請(qǐng)求;從預(yù)先設(shè)置的多個(gè)包括有指定數(shù)量個(gè)物理服務(wù)器及其對(duì)應(yīng)的物理資源的資源池中,確定該虛擬機(jī)所在的宿主服務(wù)器所屬的資源池;檢查所述宿主服務(wù)器所屬的資源池中是否存在該虛擬機(jī)將要運(yùn)行的業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則確定所述宿主物理服務(wù)器是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則將該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源配置到該虛擬機(jī)上,運(yùn)行該虛擬機(jī)。
[0007]本發(fā)明實(shí)施例還提供了一種物理資源調(diào)度裝置,應(yīng)用于管理服務(wù)器,該裝置包括:請(qǐng)求單元,向所創(chuàng)建的且用戶申請(qǐng)運(yùn)行的虛擬機(jī)發(fā)送運(yùn)行請(qǐng)求;確定單元,從預(yù)先設(shè)置的多個(gè)包括有指定數(shù)量個(gè)物理服務(wù)器及其對(duì)應(yīng)的物理資源的資源池中,確定該虛擬機(jī)所在的宿主服務(wù)器所屬的資源池;處理單元,檢查所述宿主服務(wù)器所屬的資源池中是否存在該虛擬機(jī)將要運(yùn)行的業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則確定所述宿主物理服務(wù)器是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則將該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源配置到該虛擬機(jī)上,運(yùn)行該虛擬機(jī)。
[0008]本發(fā)明的有益效果在于,通過管理服務(wù)器的調(diào)度,使得虛擬機(jī)可以在指定的物理服務(wù)器中共享緊缺的物理資源。虛擬機(jī)可以使用資源池的物理服務(wù)器中該虛擬機(jī)運(yùn)行業(yè)務(wù)所需要的任意空閑物理資源,而不僅僅只綁定某個(gè)物理服務(wù)器的某個(gè)資源,不會(huì)出現(xiàn)存在空閑的物理資源,虛擬機(jī)卻申請(qǐng)不到而無法運(yùn)行。
【附圖說明】
[0009]圖1為本發(fā)明物理資源調(diào)度方法的流程示意圖;
[0010]圖2為本發(fā)明物理資源調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0011]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。
[0012]管理服務(wù)器通過與物理服務(wù)器的交互,在物理服務(wù)器上創(chuàng)建虛擬機(jī),管理服務(wù)器對(duì)物理服務(wù)器,以及創(chuàng)建的虛擬機(jī)進(jìn)行控制。其中,創(chuàng)建的虛擬機(jī)所在的物理服務(wù)器稱作宿主物理服務(wù)器。本發(fā)明通過管理服務(wù)器的調(diào)度,使得虛擬機(jī)可以在指定的物理服務(wù)器中共享緊缺的物理資源。虛擬機(jī)可以使用資源池的物理服務(wù)器中該虛擬機(jī)運(yùn)行業(yè)務(wù)所需要的任意空閑物理資源,而不僅僅只綁定某個(gè)物理服務(wù)器的某個(gè)資源,不會(huì)出現(xiàn)存在空閑的物理資源,虛擬機(jī)卻申請(qǐng)不到而無法運(yùn)行。需要說明的是,虛擬機(jī)運(yùn)行業(yè)務(wù)時(shí),不同種類的業(yè)務(wù)使用的物理資源不同,例如轉(zhuǎn)碼業(yè)務(wù)、非編及合成業(yè)務(wù)使用的物理資源是GPU,Oracle數(shù)據(jù)庫業(yè)務(wù)使用的物理資源是HBA,等等,不再一一列舉。
[0013]首先管理服務(wù)器預(yù)先設(shè)置多個(gè)資源池,每個(gè)資源池中包括有指定數(shù)量個(gè)物理服務(wù)器及其對(duì)應(yīng)的物理資源。其中,資源池實(shí)際上為資源數(shù)據(jù)庫,對(duì)于某一資源池,將指定數(shù)量個(gè)物理服務(wù)器上的物理資源寫入到該資源池中,舉例來說,資源池I中可以包括:物理服務(wù)器I上的GPU1、GPU2 ;物理服務(wù)器2上的GPU3和GPU4。
[0014]本發(fā)明實(shí)施例中還為每個(gè)業(yè)務(wù)定義對(duì)應(yīng)的業(yè)務(wù)模板,虛擬機(jī)運(yùn)行不同種類業(yè)務(wù),就對(duì)應(yīng)不同業(yè)務(wù)模板。因此,每個(gè)定義的業(yè)務(wù)模板包括:業(yè)務(wù)種類,業(yè)務(wù)優(yōu)先級(jí),資源分配比例,以及資源搶占策略等。
[0015]業(yè)務(wù)種類,用于標(biāo)識(shí)使用物理資源的相應(yīng)業(yè)務(wù)名稱。
[0016]業(yè)務(wù)優(yōu)先級(jí),用于標(biāo)識(shí)業(yè)務(wù)優(yōu)先級(jí)的高低,例如轉(zhuǎn)碼業(yè)務(wù)在業(yè)務(wù)模板上對(duì)應(yīng)的是低優(yōu)先級(jí),非編及合成業(yè)務(wù)在業(yè)務(wù)模板上對(duì)應(yīng)的是尚優(yōu)先級(jí)。
[0017]資源分配比例,用于標(biāo)識(shí)分配給該業(yè)務(wù)的物理資源量在資源池中所占的最高比例。假設(shè)資源池中有10個(gè)GPU卡,在高峰時(shí)期轉(zhuǎn)碼業(yè)務(wù)最多可以占用3個(gè)GPU卡,那么業(yè)務(wù)模板上轉(zhuǎn)碼業(yè)務(wù)對(duì)應(yīng)的資源分配比例為3/10 = 30%。
[0018]搶占資源策略,用于在關(guān)閉當(dāng)前業(yè)務(wù)失敗時(shí),根據(jù)所設(shè)定的策略決定強(qiáng)制關(guān)閉當(dāng)前虛擬機(jī),還是繼續(xù)輪詢下一個(gè)排序中的虛擬機(jī)。
[0019]本發(fā)明物理資源調(diào)度方法的流程示意圖如圖1所示,應(yīng)用于管理服務(wù)器,包括以下步驟:
[0020]步驟11、向所創(chuàng)建的且用戶申請(qǐng)運(yùn)行的虛擬機(jī)發(fā)送運(yùn)行請(qǐng)求;
[0021]步驟12、從預(yù)先設(shè)置的多個(gè)包括有指定數(shù)量個(gè)物理服務(wù)器及其對(duì)應(yīng)的物理資源的資源池中,確定該虛擬機(jī)所在的宿主服務(wù)器所屬的資源池;
[0022]步驟13、檢查所述宿主服務(wù)器所屬的資源池中是否存在該虛擬機(jī)將要運(yùn)行的業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則確定所述宿主物理服務(wù)器是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,如果存在,則將該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源配置到該虛擬機(jī)上,運(yùn)行該虛擬機(jī)。
[0023]假設(shè)管理服務(wù)器在物理服務(wù)器I上創(chuàng)建虛擬機(jī)1,并指定使用資源池I中的資源。物理服務(wù)器I稱作是虛擬機(jī)I的宿主物理服務(wù)器。將要運(yùn)行的業(yè)務(wù)為非編及合成業(yè)務(wù),因此為高優(yōu)先級(jí)業(yè)務(wù)。那么,在步驟13中檢查所屬資源池中是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,因此檢查資源池I中GPUl和GPU2、GPU3和GPU4是否空閑,如果有空閑,則進(jìn)一步確定空閑的物理資源是否在虛擬機(jī)I所在的宿主物理服務(wù)器上,即物理服務(wù)器I上。如果GPUl有空閑,說明空閑的物理資源在虛擬機(jī)I所在的宿主物理服務(wù)器上,則修改該虛擬機(jī)I的配置文件,將該非編及合成業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源GPUl配置到該虛擬機(jī)上,運(yùn)行該虛擬機(jī)I。
[0024]由此,本發(fā)明實(shí)現(xiàn)了虛擬機(jī)共享資源池中物理服務(wù)器上的物理資源。
[0025]進(jìn)一步地,在確定所述宿主物理服務(wù)器是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源之后,該方法還包括:如果所述宿主物理服務(wù)器不存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,則可以執(zhí)行步驟14、獲取該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源所在的物理服務(wù)器,并將該虛擬機(jī)迀移到該物理服務(wù)器上,將該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源配置到該虛擬機(jī)上,運(yùn)行該虛擬機(jī)。
[0026]假設(shè)管理服務(wù)器在物理服務(wù)器I上創(chuàng)建虛擬機(jī)1,并指定使用資源池I中的資源。物理服務(wù)器I稱作是虛擬機(jī)I的宿主物理服務(wù)器。將要運(yùn)行的業(yè)務(wù)為非編及合成業(yè)務(wù),因此為高優(yōu)先級(jí)業(yè)務(wù)。那么,在步驟13中檢查所屬資源池中是否存在該業(yè)務(wù)所對(duì)應(yīng)的空閑物理資源,因此檢查資源池I中GPUl和GPU2、GPU3和GPU4是否空閑,如果有空閑,則進(jìn)一步確定空閑的物理資源是否在虛擬機(jī)I所在的宿主物理服務(wù)器上,即物理服務(wù)器I上。如果GPUl沒有空閑,而GPU3有空閑,則可以執(zhí)行步驟14、獲取該非編及合成業(yè)務(wù)所對(duì)應(yīng)的GPU3所在的物理服務(wù)器2,由于物理服務(wù)器2不是虛擬機(jī)I的宿主物理服務(wù)器,首先要將虛