一種虛擬機(jī)放置方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種虛擬機(jī)放置方法及裝置。
【背景技術(shù)】
[0002]在1/0(輸入/輸出)密集型的虛擬化環(huán)境下,由于業(yè)務(wù)系統(tǒng)需要處理的數(shù)據(jù)量大,通常會(huì)采用分布式的文件系統(tǒng)。這時(shí)業(yè)務(wù)數(shù)據(jù)會(huì)被條帶化處理,即一個(gè)業(yè)務(wù)數(shù)據(jù)會(huì)分成很多份數(shù)據(jù)塊,分別存儲(chǔ)到不同的存儲(chǔ)節(jié)點(diǎn)。因此,當(dāng)虛擬機(jī)中的業(yè)務(wù)需要獲取完整業(yè)務(wù)數(shù)據(jù)時(shí),則需要訪問該業(yè)務(wù)數(shù)據(jù)所分布的所有存儲(chǔ)節(jié)點(diǎn),才能將該業(yè)務(wù)數(shù)據(jù)完整的讀取。此時(shí),在虛擬機(jī)到各存儲(chǔ)節(jié)點(diǎn)的鏈路剩余帶寬中,帶寬最小的一段鏈路決定了該業(yè)務(wù)數(shù)據(jù)的完整讀取時(shí)間。
[0003]動(dòng)態(tài)資源調(diào)度(DRS,Dynamic Resources Scheduling)是建立在虛擬機(jī)熱迀移基礎(chǔ)上的虛擬化集群的一項(xiàng)重要特性,集群管理系統(tǒng)定時(shí)監(jiān)控各個(gè)物理主機(jī)和虛擬機(jī)的資源利用率,根據(jù)資源分布情況,利用熱迀移調(diào)整虛擬機(jī)在物理主機(jī)上的分布,從而實(shí)現(xiàn)集群范圍內(nèi)的負(fù)載均衡和集群整合,提高各物理主機(jī)的資源使用效率的同時(shí),保證各物理主機(jī)都承擔(dān)適當(dāng)?shù)呢?fù)載。
[0004]在現(xiàn)有技術(shù)中,通常采用的虛擬機(jī)放置方法,都是根據(jù)中央處理器(CPU,CentralProcessing Unit)、內(nèi)存兩個(gè)維度來計(jì)算虛擬機(jī)的放置位置,這樣能夠滿足虛擬機(jī)在CPU和內(nèi)存方面的要求。但是,現(xiàn)有技術(shù)中的虛擬機(jī)放置方案,只考慮了 CPU和內(nèi)存兩個(gè)維度,對(duì)于虛擬機(jī)獲取所有條帶化業(yè)務(wù)數(shù)據(jù)的時(shí)間是沒有考慮的,當(dāng)需要在某些剩余帶寬較小的鏈路中傳輸較大的條帶化業(yè)務(wù)數(shù)據(jù)時(shí),該業(yè)務(wù)數(shù)據(jù)的完整讀取時(shí)間將受到該剩余帶寬較小的鏈路限制,導(dǎo)致業(yè)務(wù)讀寫數(shù)據(jù)的性能低下。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種虛擬機(jī)放置方法及裝置,用于根據(jù)條帶化的業(yè)務(wù)數(shù)據(jù)對(duì)虛擬機(jī)進(jìn)行放置。
[0006]本發(fā)明實(shí)施例第一方面提供的虛擬機(jī)放置方法,包括:
[0007]獲取目標(biāo)虛擬機(jī)存儲(chǔ)在各個(gè)節(jié)點(diǎn)中的數(shù)據(jù)塊的大小,以及所述各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬;
[0008]根據(jù)所述各個(gè)節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,在所述目標(biāo)虛擬機(jī)能放置的m個(gè)物理主機(jī)中,確定每個(gè)所述物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間,所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間為一個(gè)所述物理主機(jī)訪問所述各個(gè)節(jié)點(diǎn)中的數(shù)據(jù)塊的最長(zhǎng)時(shí)間,所述m為大于I的整數(shù);
[0009]確定所述m個(gè)物理主機(jī)中,所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間最短的物理主機(jī)的集合;
[0010]在所述集合中選擇一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī)。
[0011]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述各個(gè)節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,在所述目標(biāo)虛擬機(jī)能放置的m個(gè)物理主機(jī)中,確定每個(gè)物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間,包括:
[0012]步驟I)根據(jù)所述節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,計(jì)算一個(gè)物理主機(jī)訪問一個(gè)所述節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間;
[0013]步驟2)在根據(jù)所述步驟I)完成了所述一個(gè)物理主機(jī)對(duì)所述各個(gè)節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間的計(jì)算之后,確定在各個(gè)所述數(shù)據(jù)訪問時(shí)間中確定所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間;
[0014]根據(jù)所述步驟I)和所述根據(jù)所述步驟2)確定所述m個(gè)物理主機(jī)中每個(gè)物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間。
[0015]結(jié)合第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,計(jì)算一個(gè)物理主機(jī)訪問一個(gè)所述節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間,包括:
[0016]確定所述一個(gè)物理主機(jī)訪問一個(gè)所述節(jié)點(diǎn)的鏈路中最小的剩余帶寬;
[0017]根據(jù)所述節(jié)點(diǎn)對(duì)應(yīng)的所述數(shù)據(jù)塊的大小,以及所述最小的剩余帶寬,計(jì)算所述節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間。
[0018]結(jié)合第一方面,在第三種可能的實(shí)現(xiàn)方式中,所述在所述集合中,選擇一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī),包括:
[0019]選擇所述集合中數(shù)據(jù)訪問的鏈路長(zhǎng)度最短的一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī)。
[0020]結(jié)合第一方面,在第四種可能的實(shí)現(xiàn)方式中,所述在所述集合中,選擇一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī),包括:
[0021]選擇所述集合中,運(yùn)算資源最優(yōu)的一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī),所述運(yùn)算資源包括:中央處理器和內(nèi)存。
[0022]本發(fā)明實(shí)施例第二方面提供的虛擬機(jī)放置裝置,包括:
[0023]獲取單元,用于獲取目標(biāo)虛擬機(jī)存儲(chǔ)在各個(gè)節(jié)點(diǎn)中的數(shù)據(jù)塊的大小,以及所述各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬;
[0024]時(shí)間確定單元,用于根據(jù)所述各個(gè)節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,在所述目標(biāo)虛擬機(jī)能放置的m個(gè)物理主機(jī)中,確定每個(gè)所述物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間,所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間為一個(gè)所述物理主機(jī)訪問所述各個(gè)節(jié)點(diǎn)中的數(shù)據(jù)塊的最長(zhǎng)時(shí)間,所述m為大于I的整數(shù);
[0025]集合確定單元,用于確定所述m個(gè)物理主機(jī)中,所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間最短的物理主機(jī)的集合;
[0026]主機(jī)確定單元,用于在所述集合中選擇一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī)。
[0027]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述時(shí)間確定單元具體用于:
[0028]步驟I)根據(jù)所述節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及所述節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,計(jì)算一個(gè)物理主機(jī)訪問一個(gè)所述節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間;
[0029]步驟2)在根據(jù)所述步驟I)完成了所述一個(gè)物理主機(jī)對(duì)所述各個(gè)節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間的計(jì)算之后,確定在各個(gè)所述數(shù)據(jù)訪問時(shí)間中確定所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間;
[0030]根據(jù)所述步驟I)和所述根據(jù)所述步驟2)確定所述m個(gè)物理主機(jī)中每個(gè)物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間。
[0031]結(jié)合第二方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述時(shí)間確定單元具體還用于:
[0032]確定所述一個(gè)物理主機(jī)訪問一個(gè)所述節(jié)點(diǎn)的鏈路中最小的剩余帶寬;
[0033]根據(jù)所述節(jié)點(diǎn)對(duì)應(yīng)的所述數(shù)據(jù)塊的大小,以及所述最小的剩余帶寬,計(jì)算所述節(jié)點(diǎn)的數(shù)據(jù)訪問時(shí)間。
[0034]結(jié)合第二方面,在第三種可能的實(shí)現(xiàn)方式中,所述主機(jī)確定單元具體用于:
[0035]選擇所述集合中數(shù)據(jù)訪問的鏈路長(zhǎng)度最短的一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī)。
[0036]結(jié)合第二方面,在第四種可能的實(shí)現(xiàn)方式中,所述主機(jī)確定單元具體用于:
[0037]選擇所述集合中,運(yùn)算資源最優(yōu)的一個(gè)物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī),所述運(yùn)算資源包括:中央處理器和內(nèi)存。
[0038]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0039]在本發(fā)明實(shí)施中,根據(jù)各個(gè)節(jié)點(diǎn)上的數(shù)據(jù)塊的大小以及各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的鏈路的剩余帶寬,在所述目標(biāo)虛擬機(jī)能放置的m個(gè)物理主機(jī)中,確定每個(gè)所述物理主機(jī)的最長(zhǎng)數(shù)據(jù)訪問時(shí)間,再選擇所述m個(gè)物理主機(jī)中所述最長(zhǎng)數(shù)據(jù)訪問時(shí)間最短的物理主機(jī)作為所述目標(biāo)虛擬機(jī)的放置主機(jī),從而在充分考慮存儲(chǔ)在各個(gè)節(jié)點(diǎn)上的條帶化數(shù)據(jù)、以及鏈路剩余帶寬的情況下,進(jìn)行物理主機(jī)的選擇,實(shí)現(xiàn)了資源的優(yōu)化配置,提高了業(yè)務(wù)讀寫數(shù)據(jù)的性能。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1是本發(fā)明實(shí)施例中的網(wǎng)絡(luò)架構(gòu)示意圖;
[0042]圖2是本發(fā)明實(shí)施例中虛擬機(jī)放置方法的一個(gè)流程示意圖;
[0043]圖3是本發(fā)明實(shí)施例中虛擬機(jī)放置的一個(gè)架構(gòu)示意