網(wǎng)絡,無論是存儲還是IP,是邁向完整的虛擬數(shù)據(jù)中心階梯的下一步驟。當虛擬服務器和桌面產(chǎn)生的新的I/O需求轉(zhuǎn)向存儲系統(tǒng)時,虛擬I/O逐漸轉(zhuǎn)變?yōu)闈M足這些新的需求的關(guān)鍵,以交付更具成本效率的基礎設施。虛擬I/O既可以部署在連接存儲系統(tǒng)到網(wǎng)絡的主機之上,或者它也可以部署在基礎設施中。它所部署的位置會略微影響到虛擬I/O的定義。讓我們來看一下這兩種方式,并探尋一下它們之間的區(qū)別以及它們是如何共同工作的。
服務器或主機與它們在四五年前的早期形式相比幾乎沒有什么相似之處。在過去,一個服務器僅支持一個應用,所有的I/O能力都為這一個應用所保留。而在今天的虛擬數(shù)據(jù)中心,主機系統(tǒng)中用于存儲的主機總線適配器(HBA)和網(wǎng)絡接口卡(NIC)為多個虛擬主機(VM)所共享。在傳統(tǒng)的服務器架構(gòu)中,NIC和HBA是分開的,而因為有了iSCSI,網(wǎng)絡附加存儲(NAS)和以太網(wǎng)光纖通道(FCoE),它們可以運行在主機中的同一物理適配器上。
歡迎來到I/O融合時代
由于虛擬化和聚合,每一個虛擬機都必須競爭I/O資源,使得適配器必須處理多種類型的網(wǎng)絡和存儲I/O流量。容量的提升如10 Gpbs以太網(wǎng),10 Gbps FCoE,和8 Gbps 或16 Gbps光纖通道(FC)提供了足夠的帶寬來滿足主機上所有這些虛擬機的需求。挑戰(zhàn)在于如何確保正確的虛擬機在正確的時間得到正確的可用帶寬容量。
實現(xiàn)虛擬I/O的三條路徑
所有的I/O虛擬化方法都具有相同的目標:減少由于虛擬服務器競爭通向存儲系統(tǒng)的網(wǎng)絡資源所引起的瓶頸。雖然它們的目標是一致的,對于存儲I/O的虛擬化通常有三種方法:
1. 使用網(wǎng)絡適配器
2. 使用存儲網(wǎng)絡交換機
3. 使用I/O網(wǎng)關(guān)設備
當服務器虛擬化到達它的第三階段,即對于關(guān)鍵任務型應用的需求時,正確的VM/正確的容量/正確的時間的過程變得日益重要。虛擬化的第一階段通常包括測試和開發(fā)服務器。第二階段則是低優(yōu)先級,負載較輕的服務器。對于這些階段,使用簡單的中斷驅(qū)動,或通過虛擬機I/O的平均分布都是可以接受的。
當關(guān)鍵任務型和高性能要求的應用被虛擬化時,所有的虛擬機并不能同等看待,I/O也不能簡單的在虛擬機間共享。特定的虛擬機必須確保得到更高級別的服務,中斷影響到CPU的利用率。可預知的性能成為生產(chǎn)應用遷移到虛擬環(huán)境的關(guān)鍵因素。
對于關(guān)鍵任務工作負載,解決可預知的I/O需求的一種方法是為每一個虛擬機安裝NIC或HBA,并為每一個關(guān)鍵任務VM做硬設置。當然,這可以工作,但既不經(jīng)濟,空間上也不實用,最終將限制在每一主機上運行的虛擬機數(shù)量。
另一種方法是過量供應可用的存儲和網(wǎng)絡帶寬,使得主機擁有足夠的I/O來處理其上不同虛擬機的性能需求。不過這種方法并不經(jīng)濟有效,因為大多的虛擬機并非在所有時間都需要全量的I/O。此外,虛擬機監(jiān)控器用來共享可用帶寬的中斷驅(qū)動的循環(huán)隊列機制也會帶來效率的損失。