IO虛擬化的優勢與需求分析

muchlab12發表於2014-04-24
  伺服器虛擬化通常關注於對CPU或記憶體資源進行抽象及分配,但伺服器I/O仍舊面臨瓶頸,這可能會限制伺服器的儲存及網路流量--最終限制伺服器整合的最高水平。CPU以及hypervisor的最新技術使對伺服器的I/O子系統進行更近一步的抽象成為了可能,和以往相比,伺服器能夠更好地共享I/O資源,處理更多的工作負載產生的I/O流量。但最新的硬體輔助I/O虛擬化技術並非信手拈來。
 
什麼是I/O虛擬化?其如何使虛擬伺服器或者工作負載受益?
 
      虛擬化是一個軟體層,將計算負載從底層的計算硬體中抽象出來。hypervisor將伺服器的物理資源轉換為虛擬資源,透過部署或調整虛擬資源以滿足所有工作負載對計算資源的需求,實現虛擬伺服器支援的工作負載的最大化。該工作機制非常適用於CPU和記憶體資源。
 
      然而,伺服器I/O在頻寬方面一直面臨著問題。例如,伺服器的單個千兆乙太網埠肯定能夠支援單個應用,但是當被分割為10個、15個或者更多的伺服器負載時(這其中包括網路、儲存以及伺服器之間的流量)可能就不夠用了。當遇到I/O瓶頸時,CPU會空閒下來等待資料,計算效率會大大降低--I/O瓶頸最終會打敗虛擬化所帶來的資源使用效率的提升。
 
      將虛擬化擴充套件至I/O子系統,在工作負載、儲存以及伺服器之間動態共享頻寬,能夠最大化地利用網路介面。透過緩解伺服器I/O潛在的效能瓶頸,伺服器能夠承載更多的工作負載並提升其效能。
 
      儘管I/O虛擬化一個潛在的重要優勢就是提高整合率或者提升效能,但IT專業人員應該考慮管理簡化所帶來的其他優勢。例如,I/O虛擬化使I/O管理變得更簡單。正如虛擬化使得CPU以及記憶體配置變得更簡單,I/O虛擬化簡化了網路卡以及HBA卡的配置、提升了伺服器硬體的使用效率。管理變化出現在hypervisor而不是單個硬體裝置上,管理I/O活動所需要的時間更少了。提升I/O硬體利用率同樣能夠降低I/O硬體成本,因為需要的網路卡或者HBA卡變少了。對多種型別的I/O流量使用情況(例如應用、儲存)進行改進,使得更多的流量能夠在更少的網線上傳輸,降低了網路的複雜性。
I/O虛擬化對系統或者處理器的要求有哪些?如何啟用?
 
      一般來說,I/O虛擬化需要本地處理器提供硬體支援。這包括採用VT-c以及VT-d技術對基本的VT-x虛擬化功能進行補充的Intel VT處理器。AMD處理器使用AMD-V基線虛擬化以及啟用AMD-Vi的晶片提供了類似的功能。
 
      例如,VT-c使用虛擬機器裝置佇列在物理網路卡上解除安裝I/O任務,使虛擬I/O的連線速度接近於物理網路卡固有的速度。VT-c還允許虛擬機器使用單根I/O虛擬化直接訪問網路。支援VT-d技術的處理器晶片進行I/O裝置的分配並隔離共享I/O資源的工作負載。採用上述技術減少了與hypervisor以及虛擬機器監控相關的處理開銷,Intel 至強5500及後續的伺服器處理器通常都具備這一特性。
 
      儘管處理器及晶片支援對伺服器虛擬化至關重要,但更為關鍵的是在伺服器的BIOS設定中啟用該特性。例如,基於Intel的伺服器可能會提供大量可以透過BIOS啟用或禁用的虛擬化特性。這些BIOS特性包括主虛擬機器比如“啟用Intel虛擬化技術”以及子特性的集合比如“啟用Intel VT-d”或者“啟用AMD IOMMU”來啟用對處理器I/O虛擬化的支援。
 
      在大多數情況下,BIOS預設啟用了I/O虛擬化設定,但是IT員工應該檢查所有伺服器的虛擬化設定以確定系統配置合理。否則,系統硬體可能無法支援I/O虛擬化的高階功能(虛擬工作負載將會降低系統的總體效能)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29622450/viewspace-1148259/,如需轉載,請註明出處,否則將追究法律責任。

相關文章