Windows 7 上執行虛擬化, 不可不知的三大要點
要在Windows 7上實現虛擬化,還是需要注意很多內容。具體的說,需要注意以下幾個方面的內容。
一、需要注意CPU的最大利用率。
現在大多數企業的伺服器,其CPU處理器的使用率只有5%左右,很少有伺服器的CPU使用率會長期在10%以上。為此,這也就意味著伺服器上有過多的處理能力未被利用。通過虛擬伺服器,將多個應用服務合併在一台伺服器上,可以幫助企業降低信息化專案上的支出,提高資源的利用率。但是需要注意的是,在伺服器上實現虛擬化伺服器之後,這個CPU的使用率達到多少是合適的呢?有些系統管理員在這方面可能會有誤區,他們會認為達到80%或者90%以上才是合理的。其實不然。根據筆者的經驗,無論是否採用虛擬伺服器,伺服器的CPU最大的負荷只有60%左右。如果超過這個負荷的話,那麼就會對伺服器上部署的應用服務產生不利影響。用戶訪問伺服器上的資源速度會明顯下降。所以要在Windows 7上實現虛擬化應用時,一定要注意這一點。不要把CPU的負荷設置的太高。通常情況下,如果在Windows7作業系統上實現虛擬化應用,集成多個應用服務後,CPU的平均負荷最好能夠控制在60%左右。最高(如對應用伺服器上的資料進行備份等等)不能夠超過80%。否則的話,應用伺服器的性能會急劇下降。
二、要注意I/O對虛擬伺服器性能的影響。
從理論上講,Windows 7作業系統支援多達十幾個的CPU處理器,支援的記憶體也很大。但是需要注意的是,有時候這個CPU越多或者記憶體越大,並不能夠代表伺服器的性能越好。有時候,即使配置了很多的CPU或者記憶體,其實際的負荷率都很低。但是應用伺服器的性能仍然不是很理想。這是怎麼回事情呢?因為CPU與記憶體的大小雖然在很大程度上決定了伺服器的性能,但是並不是唯一的確定因素。當CPU與記憶體不再是左右伺服器性能的因素時,I/O能力對伺服器性能的影響就會很突出。特別是在虛擬伺服器的環境下。
如現在要把分佈在五個伺服器上的應用服務利用hyper-v技術集中在一台伺服器上實現。此時會出現什麼情況呢?首先,本來分散在五台伺服器上的網路流量都要集中在一台伺服器上來。也就是說,現在虛擬伺服器處理CPU與記憶體的負擔加重之外,更重要的是同一塊網卡、同一根網線需要傳輸更多的資料。其次使用 hyper-v虛擬伺服器後,資料的讀取也是在原先的硬碟上完成。這也就是說,硬碟的I/O負擔也會成倍的增加。為此如果虛擬伺服器的CPU和記憶體配置確實比較好,在部署虛擬伺服器之前其負荷率只有3%。即使實現了虛擬伺服器集成多個應用伺服器後,其負荷率也只有達到40%左右,也是可以接受的。但是此時很可能性能沒有系統管理員想像的那麼好。這主要是因為現在影響虛擬伺服器上應用服務性能的瓶頸因素是I/O能力(網路網路的吞吐量與硬碟的吞吐量),而不是CPU或者記憶體。
這就好像商品房開發中的房間與電梯的關係。開發商有這個實力的話,儘管可以造高樓大廈,造的越高,房間越多。這就好像虛擬伺服器配置越高,可以合併的應用伺服器越多。但是此時進出這幢大樓的人多,此時大樓即使可以容納數以百萬計的人,但是由於電梯數量有限,他們的出入將收到很大的限制。他們不得不花很長的時間來等待電梯。這就使I/O能力不足的表現。為此有些訪問量高的大樓,如商場等等,即使面積不大,也必須配置多部電梯來分散客流。這跟虛擬伺服器是相同的道理。
為此如果在伺服器上利用虛擬化技術合併了多個應用服務的話,系統管理員就有可能需要視情況來調整一下硬體配置。如採用I/O性能更好的硬碟。或者採用磁碟陣列技術來提高硬碟的I/O能力。再或者在虛擬伺服器上配置多塊網卡或者將虛擬伺服器部署在主幹路由器上來提高網路傳輸的性能。總之,無論是採用哪一家的虛擬化軟體,其伺服器的性能優化就會變得更加的複雜。為此在使用Hyper-V,筆者對各位系統管理員的建議是慎重。特別是企業已經有多台實體伺服器的情況下,不要為了趕時髦,而利用Hyper-V虛擬化技術將他們集成在同一台伺服器上。
三、善於使用快照技術。
快照技術是Hyper-V虛擬化軟體的一個非常強大的功能。Hyper-V中的客戶會話快照使用的是微軟的VSS技術,來抓取伺服器上的檔印象。這種快照技術,不僅在單一伺服器上可以使用,在虛擬化伺服器環境中也可以工作的很好。在實際生產環境中,快照常被用來進行容錯與災難恢復。
通過客戶映射快照可以將一個映射回滾到前一個狀態。如有時候系統管理員在測試部署方案的時候,這個客戶映射快照就非常的有用。當應用環境搭建好之後,系統管理員需要進行詳細的測試,以判斷這個方案的可用性。但是可惜的是,在測試的過程中會產生很多的垃圾資料。為此當測試完之後,刪除這些垃圾資料需要花費系統管理員很多的時間。為此有些系統管理員寧願冒著應用環境不完善的危險,也不願意隊搭建好的應用環境進行詳細的測試。為此在實現虛擬化的過程中,系統管理員就需要善於使用客戶映射快照的功能。當有了快照技術之後,用戶測試過程中產生的垃圾資料或者進行的一些破壞性測試不需要手工清楚。可以通過快照技術將一個印象回滾到前一個狀態。
另外快照技術在軟體演示的時候也非常有用。如筆者因為工作的關係,經常需要給客戶作培訓與演示。如果有了快照技術的支援,那麼筆者就可以添加刪除資訊、調整軟體設置、修改客戶印象上軟體的資訊等等。完成培訓或者演示之後,筆者不需要再反過來操作一遍。即不需要回過頭來刪除更改。或者說再進行下一次演示時,不需要從頭開始重建印象以再一次進行演示。此時筆者只需要將映射回滾到對印象做出變更前的快照即可。如此重複的回滾印象,則筆者就可以重複的執行相同的過程,而不用進行反向的操作。據筆者所知,現在不少的微軟系統培訓師或者銷售人員在培訓與演示的時候,都採用了這種快照技術,以方便資源的重複利用。所以無論企業是否需要實現虛擬化策略,但是這個Hyper-V虛擬化軟體的快照技術系統管理員還是有必要掌握。因為無論是在方案測試還是在系統培訓或者演示上都用的著。
不過對於生產型的虛擬伺服器來說,快照的主要用途還在於容錯與災難性恢復。如在系統故障前有個快照的話,那麼系統管理員就可以憑藉這個快照將伺服器恢復到伺服器失效或者問題發生的那個點上。如果沒有快照,即使有系統備份檔案,系統管理員也可能需要花費幾個小時的時間才能夠恢復資料。因為不僅需要恢復作業系統與應用軟體,還有其中的重要資料。而採用快照的話,系統管理員所要做的僅僅是選擇故障發生之前的那個快照,並選擇啟動這個客戶映射即可。當系統啟動客戶映射之後,虛擬伺服器就處在快照創建時印象所處的狀態。