Related Posts Plugin for WordPress, Blogger...

2010年11月3日

Vsphere 設定觀念備忘

關於記憶體的設定說明


保留(Reservation)
是指對於啟動的vm,如果機器關機,那麼保留會被放棄。

例子1:4GB RAM的host,如果2個vm,1個保留2GB,1個保留1GB,那麼第3個vm,如果他設置保留2GB,那麼他是無法開機的。
例子2:4GB的host,如果只有2個vm,vm1保留3GB,vm2 沒有設置保留,vm1很空閒,只用了50MB,如果vm2跑一個耗記憶體的程式,那麼它最多能到3950MB,VM1 = 50MB, VM2 = 3950 MB。

這裡情況和CPU有點不同,因為記憶體Reservation是不給reclaim,因此如果VM1開機以後使用記憶體就沒超過50MB,那麼上面的結論成立。但是如果VM1曾經運行過一個吃記憶體的程式,並曾經佔用到了3GB記憶體,那麼結論就變成了VM1 3GB,VM2獲得1GB。即使之後VM1只需要50MB記憶體即可也是如此。

限制(Limit)
限制vm的記憶體的上限,vm的使用物理()記憶體永遠不能超過這個數值
例子3:4GB RAM的host,vm1 配置了1GB記憶體,但是limit 400 MB,當他跑耗記憶體的程式,那麼他最多也就只能到佔用400MB的物理記憶體

註:剩下的600MB由swap提供。

VM的設置,限制一定要大於等於保留
Limit has to be >= Reservation of a VM

shares
share是一個比例,系統的low,normal,high, 就相當於數值比例是1:2:4

一台vm,它一定能使用到他保留(reserve) 的資源,但最多是不能超過(limit) 限制的,那麼如果超過保留,他最多能用多少,就要看share的設置了。假如兩台vm, share的數值都是normal, 那麼就等於剩下的資源平均分配,不過你得到最多也不會超過限制的(limit)

1.在沒有發生競爭的情況下, shares沒意義。因為要多少資源,ESX就會給多少。
2.在發生競爭的情況下, ESX保證每個VM都得到其保留值所定義的資源;不設保留值的等同與保留值=0
3.ESX做完(2)之後剩下的資源, 則按照個VM所設定的SHARE值按比例來分配: (VM SHARE)/(SHARE 總值)

例子4:有2個VMs, vm1和vm2,其他的設置都一樣,設置共享分別是100和200,設置成1000和2000,結果是一樣的
例子5:4GB的host,跑2個各配置了3GB記憶體的VM
vm1 保留1.5GB,沒有限制,1000 共享 他跑一個耗記憶體的程式
vm2 保留沒有設置,沒有限制,4000 共享 他跑一個耗記憶體的程式
由於vm1設置了保留,所以vm1能佔用1.5GB
VM2沒有設保留,那麼佔用0MB,剩餘2.5GB記憶體,安裝1:4分配,VM1獲得0.5GB,VM2獲得2GB。
於是VM1一共獲得2GB, VM2獲得2GB

例子6
host 3GB記憶體,VM1設2GB,VM2設2GB。
VM1的share為500,VM2的share為2000 (我們不去管預設share,預設應該2台的share都是20480)
VM2爭用獲得的記憶體是3GB*2000/(500+2000)=2.4GB,
VM1將獲得3GB*500/(500+2000)=0.6GB。

因為VM1只配置了2GB記憶體,所以VM1將最多只獲得2GB記憶體。而VM1可以使用剩下的1GB記憶體。

再換個說法。
resource pool 以下簡稱rp
如果將VM1改成resource pool 1, VM2改成Resource Pool 2,將Vm1移到RP1中,VM2移到RP2中。那麼記憶體分配又是怎樣的呢?

假設都沒有reserve也沒有設limit的情況下,rp1因為500share,競爭到0.6GB,rp2因為2000share,可以分到2.4GB。vm2因為自身上限是2GB,因此用掉rp2的2.4GB中的2GB,rp2另外還有0.4GB多餘物理記憶體,這時因為RP2還有多餘,所以vm1可以用到rp1中的0.6GB以及rp2中沒人用的0.4GB,還是可以使用到1GB 物理記憶體


參考網址

http://bbs.vmsky.com/thread-10034-1-1.html
http://bbs.vmsky.com/thread-23285-1-1.html
Categories:

0 意見: