虛擬化的設計
虛擬伺服器
每個LUN放置10個左右VM,每個VM的C盤佔用40G的空間,考慮快照及分頁檔,LUN的大小500G就足夠了。
如果虛擬伺服器類似Exchange或者SQL Server需要外部儲存,那麼外部儲存單獨劃分LUN,並讓VM採用RDM方式掛載LUN。物理RDM喪失一些進階功能,如clone和snapshot等,但卻能稍微提高下效能。
至於軟碟機、印表機等虛擬設備,如果用不到,就不要選了吧。
虛擬桌面
每個LUN放置10~15個虛擬機器,不同的部門最好在不同的LUN,C盤大小30G足夠了,資料區考慮20G差不多,例如作為D盤,最好將資料區D盤放到單獨的LUN裡面。這樣有助於資料區備份和OS的快速恢複。
最好將相同類型的OS放到相同的資源集區裡面,採用相同的範本部署,這樣能有效利用透明頁面共用機制,也能快速的恢複虛擬OS。資源集區內的虛擬機器只在資源集區內部爭奪資源。
CPU越少越好,vCPU少能有效降低主機的CPU調度負擔及vmkernel維護VM的記憶體配置支出。Vmkernel保證每個vCPU調度獨佔邏輯CPU,當vCPUs過多時必然導致排隊。Cpu的調度是負載平衡的,所以某個VM的多個vCPUs可能會位於不同物理CPU的邏輯cpu上面。如果你觀察VMs的多個CPU某個vCPU空閑較高,請減少數量。我不清楚VM的多個vCPU是否可以被不同時段分別調度。請盡量將VMs的記憶體數量一致,因為在做HA的時候可能會導致槽slot的數量明顯減少。
虛擬記憶體可以過量分配,但是不能過分,因為一旦導致實體記憶體不足而啟用了swap記憶體交換,VMs的效能將顯著降低。儘可能的使用share,放棄Limit,可以用reserved。 如果某些VMs的確不重要,但是卻頻繁導致記憶體居高不下,方可以考慮Limit。在實體記憶體充足的情況下,VMs各取所需;在記憶體不足的情況下,依據share份額分配實體記憶體;vmkernel保證reserved部分會分配給虛擬機器,其他的VMs將採用swap。理想情況是將vm的swap檔案放到低效能的共用儲存上,這樣swap不會佔用高效能的儲存空間,對資料備份也不會浪費空間,而vMotion也不會有問題。
儲存採用分層設計,按不同的IO效能區分應用。如果你用View,那麼Replica當然要選擇在ssd儲存上,因為所有view desktop都會依賴它。 資料庫應用也應該在ssd上,至於你的vm,可以在scsi硬碟上就可以了。為了便於部署,最好劃分某個lun單獨放置iso等檔案以供host隨時使用,當然放在sata硬碟上就足夠了。
五一假期結束了,明天要上班。VCP、VCAP-DCD、VCAP-DCA、vpn呀虛擬說明呀,機房整改啊,弱點規劃啊,壓力真的很大,無法入睡,隨便寫點東西而已……