為充分利用ESXi 5.0主機資源并避免資源過量使用,防止虛擬機獨占主機資源,設(shè)置虛擬機的相對重要性,需要對vSphere 5.0中的相關(guān)資源包括CPU、內(nèi)存、網(wǎng)絡(luò)、存儲進行管理。
VMkernel
ESXi虛擬化管理程序稱為VMkernel,只支持64位CPU的主機,但同時支持32位和64位的客戶操作系統(tǒng)(Guest OS,即在虛擬機上安裝的操作系統(tǒng),比如Windows Server 2008 R2,SuSE Enterprise Linux 11 SP1等等)。VMkernel從虛擬機監(jiān)視器(VMM,它負責(zé)對虛擬機提供硬件資源抽象,為客戶操作系統(tǒng)提供運行環(huán)境。)接收虛擬機的資源請求,然后將這些請求傳送給物理硬件。
份額(Share)
份額指定發(fā)生資源爭用時虛擬機的相對重要性。例如虛擬機A的資源份額是虛擬機B的兩倍,則在這兩個虛擬機爭用資源時,虛擬機A有權(quán)消耗兩倍于虛擬機B的資源。
份額有3個固定的設(shè)置值(低、正常、高,這些值將分別按 4:2:1 的比例指定份額值),或者也可以選擇自定義為各虛擬機分配特定的份額值。
預(yù)留(reservation)
預(yù)留指定為虛擬機預(yù)留的CPU主頻或物理內(nèi)存大小。在啟動虛擬機時,只有ESXi主機或者資源池中的資源滿足虛擬機的預(yù)留值大小時,vCenter Server或 ESXi 才允許打開該虛擬機電源,這稱之為接入控制。如果虛擬機預(yù)留的資源從未被該虛擬機使用過,那么其他虛擬機是能夠使用這部分資源的。在對虛擬機的資源進行配置時建議使用預(yù)留指定該虛擬機可接受的最低 CPU 主頻或內(nèi)存大小,而不是該虛擬機想要使用的CPU主頻或內(nèi)存大小。
限制(limit)
限制指定虛擬機可使用的資源的最大值,也就是說虛擬機所使用的資源可大于為其分配的資源預(yù)留值,但不會超過資源限制值。如果全部虛擬機所使用的資源的限制總和大大低于資源池可提供的資源,那么資源池中未被使用的資源并不能被充分利用。在沒有設(shè)置限制值的情況下,虛擬機能夠使用的資源的限制取決于創(chuàng)建該虛擬機時為其分配的資源。
存儲I/O控制(Storage I/O Control)
虛擬機訪問存儲存在 I/O 擁堵時,存儲I/O控制可以控制分配給特定虛擬機的存儲 I/O 量,從而確保更重要的虛擬機優(yōu)先于重要性較低的虛擬機獲得 I/O 資源分配。當(dāng)在數(shù)據(jù)存儲上啟用 Storage I/O Control 后,ESXi主機將監(jiān)控主機與該數(shù)據(jù)存儲通信時的時間延遲(latency)。當(dāng)時間延遲超出閾值時,訪問該數(shù)據(jù)存儲的每個虛擬機都會按預(yù)先分配的份額比率分配相應(yīng)的 I/O 資源。vSphere 5.0支持對光纖(FC)連接存儲、iSCSI連接存儲、NFS數(shù)據(jù)存儲進行I/O控制。
網(wǎng)絡(luò)I/O控制(Network I/O Control)
使用網(wǎng)絡(luò)I/O控制可以通過配置規(guī)則與策略指定虛擬機的業(yè)務(wù)優(yōu)先級。當(dāng)發(fā)生網(wǎng)絡(luò)I/O擁塞時,網(wǎng)絡(luò)I/O控制將根據(jù)規(guī)則自動分配可用的網(wǎng)絡(luò)I/O資源。在vSphere 5.0中可以對單臺虛擬機進行網(wǎng)絡(luò) I/O 控制。
表一:vSphere 5.0資源配置參數(shù)一覽表
在對vSphere 5.0的資源進行管理時需要明確以下兩點:
首先,vSphere 5.0包括標(biāo)準(zhǔn)版,企業(yè)版和企業(yè)增強版共三個版本,不同軟件版本支持的vCPU、vRAM大小是不同的,而且只有企業(yè)增強版才支持網(wǎng)絡(luò)I/O控制和存儲I/O控制,而且網(wǎng)絡(luò)I/O控制是在分布式虛擬交換機而不是標(biāo)準(zhǔn)虛擬交換機上進行的配置。
其次,如下表二所示,vSphere 5.0的資源管理分為三大層次:vMkernel、虛擬機所有者以及vSphere管理員。作為一名vSphere管理員,應(yīng)重點關(guān)注虛擬機四大資源CPU、內(nèi)存、網(wǎng)絡(luò)、存儲的資源分配與控制,同時理解VMkernel對CPU周期以及內(nèi)存資源的管理機制,確保虛擬數(shù)據(jù)中心的高效、穩(wěn)定運行。
表二:vSphere 5.0資源管理的三大層次