如果只有兩個GuestOS,以規格來看,瓶頸應不會在CPU性能上,反而是硬盤I/O跟網絡速度的性能比較有可能,而內存數量及使用規劃也要注意。另外如果是無法長期停機的機器,需要評估備份或后備規劃,以及后備系統版權授權規定及費用。
關鍵瓶頸是磁盤I/O,并非CPU.需要跟進的事情是:
1.在舊主機上面,先監測出跑報表所需要的IOPS有多少?并精算VM硬盤。
2.如果文檔復制會占用主機所有的IOPS,這種工作不適合跟其他VM共享磁盤。
所以,如果要拆開,主因并不是CPU不夠用(跑報表跟文檔復制,根本用不到多少CPU資源),而是磁盤的I/O資源會被文檔復制全部占用,造成其他的VM排隊等候。
想想看,一個VMHost上面有多少VMGuest,要同時存取I/O?
而且,在VMHost可以設定分配給每個VMGuest服務器的CPU、Memory資源量(Min/Max),以及VMHost保留多少自己用(如果VMHost自己都跑不動,要怎么去管理VMGuest)。
在虛擬化軟件的選擇上,如果是VMwareESX(i),可以透過vSphereClient或vCenter新增Resourcepool,來設定GuestOS的CPU資源。
可以測試一下:報表跑數據大量擇取的時候,使用“Windows工作管理員/處理程序”查看CPU與內存以及I/O的狀態。
雖然將它們放在同一臺主機,但是文檔服務給它一個完全獨立的磁盤子系統,不跟其他VM共用,那這樣就不會有以上的顧慮,還是可以放在一起。
例如,你可以買一臺SAN給文檔服務的VM專用,但另買一臺SAN給其他的VM共用,最后,數據庫的問題還是要回到IOPS上來。我遇過80%以上想做虛擬化的新手,都不知道原本舊主機上數據庫的瓶頸是在DiskI/O.一般說來,跑ERP報表吃掉1,000~3,000IOPS是很常見的狀況,這代表RAID至少要5到15顆以上來組合,才足夠應付這樣的IOPS.
根據以往的經驗,在看到這個數據之前,用戶都一直認為瓶頸是CPU,所以要換新主機來提升CPU,但看過監測數據之后才知道,其實瓶頸都在IOPS.
補充一下,一般狀況下,一顆SATA硬盤的IOPS只有70到80左右,一顆15KSAS硬盤的IOPS,大約200到240左右。組成RAID多顆硬盤時,IOPS會跟著你的硬盤數量而增加,例如使用96顆硬盤組成RAID-5的一臺DellMD3200i,實測數據上,IOPS可以高達40,000.