前期文章已經介紹過虛擬化環境中實體CPU與Memory資源的運作,是由hypervisor統一調度、分配給VM來使用。但是,多數時候不同的應用其實是有分優先順序的,重要的服務當然會擺在首位。本文延續前期的介紹,將接著探討VM資源分配與競爭的問題。
當VM已經都集中化在虛擬環境中互相競爭,當然就可以針對不同的VM給予不同的資源,經由這些設定確保某些VM能夠享有更豐富的硬體資源。
分配VMware vSphere資源
CPU與Memory的資源共有三種設定,包括Limit、Reservation以及Share,如下圖所示,以下分別對這三種設定加以介紹。
Limit
限制VM的CPU或記憶體資源,訂出一個上限值。此VM無論如何不能使用超過這個數值的資源,CPU數值單位為MHz,而Memory數值單位是MB。
例如,當VM_A的CPU Limit設定為1,000MHz時,無論實體CPU有多少運算資源,有沒有其他的VM參與競爭,VM_A「最多」就是拿到1,000MHz的資源。而VM_A的Memory Limit若設為1,000MB,表示不管有多少實體記憶體可分配,也不管VM配置多少RAM,「最多」就是拿到1GB記憶體來使用。
Reservation
Reservation是保留值,簡單地說,就是「保證」VM一定會有的資源。VM設定了Reservation,如果開機,就一定會拿到這些專屬、獨占的實體資源,這部分是不會被分享或被別人搶走。
例如,當VM_A的Reservation設定為500MHz時,則VM_A成功開機後,保證至少會有500MHz的運算效能可用。此外,若VM_A的Reservation設定為500MB,則VM_A成功開機後,保證至少會有500MB的實體記憶體可用。既然確定會有500MB記憶體,所以VM_A的vswp檔案就會少掉這些500MB的大小,因為這個部分不會進入硬碟做Virtual Swap。