我們這次來看一下vCD裡面所謂的PAYG模型,俗稱的用多少算多少的資源配置,首先在vCD 裡面新增一個形態為”隨收隨付”的組織VDC, 名為”PAYG VDC”,相關設定如下:

 

Create OVDC

我們看到在vCenter裡有一個名為”PAYG VDC”的資源池相應的被自動新增出來,該資源池的資源配置內容如下圖所示,一開始裡面沒有任何VM,系統在資源池這一層不會事先預留任何資源:

RP created

現在我們來新增一台虛擬機,規格如下:

VM Spec

將此VM開機,系統顯示”無法啟動”:

VM cannot start

這是因為底層資源無法滿足VM的資源配置需求,因為系統也需要額外的資源overhead來處理此一操作。

更改組織VDC “vCPU速度”設定後,重新創建VM,此時就可順利開機:

Modify RP

而在vCenter中VM的資源配置此時是這樣的狀況:

VM Settings

可以看到之前在組織 VDC裡面的設定現在都套用在vCenter的每一個開啟的VM這一層,上面可清楚看到該VM CPU限制被設定成260 MHz,該數值即是組織 VDC裡面的“vCPU速度”,請注意,這和在Allocation Pool模型裡的VM是不一樣的狀況,還記得嗎?在該模型下開啟的VM,其CPU是沒有上限限制的(只要VM要得到該資源池的任何CPU資源,就會使用全部)。

現在我們想再啟動第二台規格一樣的VM,可以嗎?

答案是可以,因為Provider VDC的所擁有的實體CPU資源還可應付的來,因為每開一台,vCenter系統只要有多餘的52 MHz的CPU實體資源來供給VM作為它的CPU Reservation(保留)就行了,直到所有實體資源小於全部VM的保留加總,就不能再新增任何虛擬機了。

two VM

當開兩台VM時,我們從下圖可看到ProviderVDC資源使用的現狀,CPU總計可用410 MHz,現在已經啟動兩台VM,每台VM配給它260 MHz,但是保證的CPU是20%,所以總共需要保留的大小如下算法:

CPU已用的保留 = VM數量 x vCPU速度 x 保證的CPU資源 = 2 x 260 x 0.2 = 104 MHz

resource total

那麼依此推斷我們還可在此環境開啟幾台VM?

從組織VDC中我們知道Provider VDC總共有410 MHz的可用CPU資源,每一台虛機必須要有

260 x 0.2 = 52 MHz的保證CPU資源,所以總共可以開啟410/52=7.88個VM,取整數就是7個vCPU。

VMware官方文件對於此配置模型的說明如下: (可參閱這裡)

結論:

  • 此模型組織VDC資源是直接分配到虛機那一層去,這樣的好處是只要服務供應商將新的資源往Provider VDC裡去加,只要資源足夠,租戶都可以持續的將虛擬機新增進去而不用管他們的組織VDC資源是否能滿足這些虛機的需求。這也是vCloud Director所謂的可以Elastic資源彈性擴展的一種做法。
  • 另外,在虛擬機開機之前,vCD不會事先預留任何運算資源,所以有可能因為底層資源不足的情況下,租戶的虛機會開機失敗,意即即使處於相同一層資源池的其它虛擬機是靜止的狀態,其他虛擬機也不能將空閒的運算資源拿來用,因為資源已經分到每一個VM了。
  • 再提醒一下,”vCPU速度“在這裡指的是該VM運行時每個vCPU最多可使用的系統CPU時脈,是一個上限的概念,服務供應商可以配合”保證的CPU資源”的百分比,來規劃資源Over-Commit的程度,當”保證的CPU資源”設定成100%時,就變成完完全全的不共用資源,變成完全獨占CPU資源,這種配置對效能要求較高的應用比較有保障。

希望此篇文章對想要了解PAYG模型的讀者有一點小幫助!