存儲網(wǎng)絡(luò)中的虛擬I/O技術(shù)(上)

責(zé)任編輯:vivian

2012-05-24 08:45:33

摘自:TechTarget中國

當(dāng)下,數(shù)據(jù)中心的全面虛擬化成為一種趨勢,無論是存儲網(wǎng)絡(luò)還是IP網(wǎng)絡(luò),其發(fā)展目標(biāo)都必須適應(yīng)這一潮流,因此虛擬I/O(Virtual I/O)技術(shù)便有了廣闊的應(yīng)用前景。

當(dāng)下,數(shù)據(jù)中心的全面虛擬化成為一種趨勢,無論是存儲網(wǎng)絡(luò)還是IP網(wǎng)絡(luò),其發(fā)展目標(biāo)都必須適應(yīng)這一潮流,因此虛擬I/O(Virtual I/O)技術(shù)便有了廣闊的應(yīng)用前景。如果我們希望在服務(wù)器虛擬化和桌面虛擬化應(yīng)用場景中,創(chuàng)建一個更高效且更經(jīng)濟(jì)的存儲基礎(chǔ)架構(gòu),并滿足虛擬化應(yīng)用的I/O請求特點的話,虛擬I/O是必不可少的核心技術(shù)。虛擬I/O是一種網(wǎng)絡(luò)連接技術(shù),既可以用在主機(jī)端,也可以在存儲網(wǎng)絡(luò)端實現(xiàn),當(dāng)然這兩種模式還可以一起使用,貫穿整個基礎(chǔ)架構(gòu)環(huán)境。在不同的應(yīng)用模式之間虛擬I/O的定義會稍有差異。下文中我們會就此展開分析,看看這兩種模式之間的差異以及它們二者是如何協(xié)同工作的。

今天,服務(wù)器(主機(jī))所使用的處理器與4、5年前截然不同。過去,一臺服務(wù)器上只需要運行一個應(yīng)用程序,因此這臺服務(wù)器上所有的I/O處理能力可以被單個應(yīng)用程序所獨享。但今天,在虛擬化的數(shù)據(jù)中心里,主機(jī)上的網(wǎng)卡和HBA卡是被多個虛擬機(jī)所共享的。在傳統(tǒng)的服務(wù)器平臺體系結(jié)構(gòu)中,網(wǎng)卡和HBA卡這兩種I/O適配器是相互獨立的,但現(xiàn)在,伴隨著iSCSI、NAS和FCoE等技術(shù)的發(fā)展,網(wǎng)卡和HBA卡有逐漸統(tǒng)一的趨勢,或者叫融合。未來的趨勢很明顯,主機(jī)上將只有一種物理I/O端口,所有的協(xié)議都通過它來進(jìn)行通信。

 混合I/O時代已經(jīng)來臨

在虛擬化和網(wǎng)絡(luò)融合的環(huán)境中,虛擬機(jī)之間要競爭I/O資源,I/O適配器也必須處理多種類型的網(wǎng)絡(luò)I/O流量和存儲I/O流量。問題看起來很好解決,我們只需要配置高性能、高帶寬的10 Gbps以太網(wǎng)卡、10 Gbps FCoE卡、以及8 Gbps或16 Gbps的光纖通道卡,就能讓主機(jī)端更好地處理虛擬機(jī)的I/O請求。但事實上更大的挑戰(zhàn)在于,如何確保主機(jī)能夠?qū)⒑线m的帶寬資源在合適的時間分配給需要它的虛擬機(jī)。

服務(wù)器虛擬化應(yīng)用如今已發(fā)展到第三個階段。在最初的時期,通常只有測試和開發(fā)系統(tǒng)才使用虛擬機(jī);后來,人們開始在虛擬機(jī)上部署一些優(yōu)先級較低的系統(tǒng)和負(fù)載較輕的應(yīng)用。因此在前兩個階段,通過簡單的輪詢、將I/O資源平均分配給每個虛擬機(jī)的機(jī)制是可行的。但進(jìn)入到第三階段,當(dāng)關(guān)鍵應(yīng)用和復(fù)雜應(yīng)用開始部署到服務(wù)器虛擬化平臺之后,如何將合適的帶寬資源在合適的時間分配給需要它的虛擬機(jī)就顯得越發(fā)重要。

當(dāng)那些關(guān)鍵的以及對性能有較高要求的應(yīng)用系統(tǒng)虛擬化之后,I/O資源就不能再簡單的共享,并在虛擬機(jī)之間平均分配了。某些虛擬機(jī)需要更高的服務(wù)級別保證,需要獨享固定的帶寬。另一方面,輪詢機(jī)制會造成頻繁的系統(tǒng)中斷,對CPU的利用率產(chǎn)生負(fù)面影響。因此,確保I/O請求的及時響應(yīng),已成為重要應(yīng)用程序能否成功遷移到虛擬化環(huán)境的關(guān)鍵因素。

有一個方法可以讓關(guān)鍵業(yè)務(wù)擁有充足的I/O資源,即為每個虛擬機(jī)都配置一個網(wǎng)卡或HBA卡,并將運行關(guān)鍵業(yè)務(wù)的虛擬機(jī)與該接口卡綁定。這樣工作是沒問題,但這種方法既不經(jīng)濟(jì),可能也沒有足夠的物理空間,而且,如果采用這個方案,那么每臺主機(jī)上運行的虛擬機(jī)的數(shù)量也會受到限制。

另一個可用的方案是為主機(jī)準(zhǔn)備足夠的,甚至是超出需求的可用存儲和網(wǎng)絡(luò)帶寬,以便主機(jī)能夠有充足的I/O資源處理請求,并滿足其上運行的每個虛擬機(jī)的性能要求。但這種方法也不是非常劃算,因為大部分虛擬機(jī)并非每時每刻都需要較高I/O性能。此外,Hypervisor通常使用循環(huán)的排隊策略來分配共享的可用的帶寬,因此這種方法也需要頻繁的系統(tǒng)中斷操作,效率方面也有損失。

基于網(wǎng)絡(luò)適配器的虛擬I/O技術(shù)

網(wǎng)絡(luò)適配器層的I/O虛擬化技術(shù)主要由Brocade、Emulex和QLogic等幾家公司提供,他們都可以提供支持虛擬I/O功能的高速網(wǎng)絡(luò)適配器產(chǎn)品。雖然這種適配器仍然要被多個虛擬機(jī)所共享,但它仍然能夠保證運行關(guān)鍵業(yè)務(wù)的虛擬機(jī)有較高的服務(wù)級別。比如說,一個支持虛擬I/O功能的10GigE物理網(wǎng)絡(luò)適配器既可以劃分成多個虛擬網(wǎng)絡(luò)適配器,也可以為指定的虛擬機(jī)群組按百分比分配固定的帶寬。

在以上場景中,單塊10 GigE的物理網(wǎng)卡可以分成10個1GigE的虛擬網(wǎng)卡并靈活使用。比如,一個虛擬網(wǎng)卡專門用于虛擬機(jī)的遷移;另外幾個指定分配給那些特殊的虛擬機(jī),以便保證關(guān)鍵應(yīng)用的性能水平;而其余的虛擬網(wǎng)卡則納入資源池,供其它的虛擬機(jī)共享使用。

因為所有的I/O虛擬化工作都由硬件適配器處理,因此主機(jī)端hypervisor虛擬化管理軟件層的負(fù)擔(dān)相當(dāng)小,主機(jī)可以回收大量的CPU資源。換句話說,CPU的內(nèi)核不需要為管理I/O共享而進(jìn)行頻繁的中斷操作。這種虛擬I/O技術(shù),不僅自身可以支持更大密度的虛擬機(jī)數(shù)量,而節(jié)約的CPU處理能力也可以用來運行更多的虛擬機(jī)。

基于網(wǎng)絡(luò)適配器的虛擬I/O技術(shù)的另一個特性是可以在網(wǎng)卡上創(chuàng)建一個虛擬交換機(jī)。這個技術(shù)非常有價值,尤其是在服務(wù)器虛擬化環(huán)境中,它可以極大地降低出入服務(wù)器的網(wǎng)絡(luò)流量。利用這個功能,同一臺主機(jī)上的兩個虛擬機(jī)可以直接相互通訊(這種情況很常見)。以往,這種流量都需要經(jīng)過外部的物理交換機(jī)處理。現(xiàn)在,虛擬交換機(jī)可以識別本地流量,并將這些流量限制在物理主機(jī)的內(nèi)部。這個功能不但可以為主機(jī)內(nèi)部的虛擬機(jī)提升性能,而且還可以提高整個網(wǎng)絡(luò)環(huán)境的效率。

最后要說的是,那些支持I/O虛擬化的網(wǎng)絡(luò)適配器還可以虛擬所用存儲協(xié)議的類型。例如,有些卡同時支持FC、FCoE、10Gbps以太網(wǎng)和iSCSI協(xié)議,那么用戶就能夠在不中斷服務(wù)器或虛擬機(jī)運行的前提下隨時變更端口的用途。今天,有些適配器還需要reboot才能變更配置,不過這種情況未來肯定會得到改變。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號