《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 存儲(chǔ)網(wǎng)絡(luò)中的虛擬I/O技術(shù)
存儲(chǔ)網(wǎng)絡(luò)中的虛擬I/O技術(shù)
來源:TechTarget中國(guó)
作者:George Crump
摘要: 在服務(wù)器虛擬化環(huán)境中,I/O流量的暴增往往導(dǎo)致存儲(chǔ)網(wǎng)絡(luò)不堪重負(fù)。而I/O虛擬化技術(shù)則可以幫助系統(tǒng)減少資源競(jìng)爭(zhēng)、保證服務(wù)質(zhì)量而且顯著提高性能。
Abstract:
Key words :

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

今天,服務(wù)器(主機(jī))所使用的處理器與4、5年前截然不同。過去,一臺(tái)服務(wù)器上只需要運(yùn)行一個(gè)應(yīng)用程序,因此這臺(tái)服務(wù)器上所有的I/O處理能力可以被單個(gè)應(yīng)用程序所獨(dú)享。但今天,在虛擬化的數(shù)據(jù)中心里,主機(jī)上的網(wǎng)卡和HBA卡是被多個(gè)虛擬機(jī)所共享的。在傳統(tǒng)的服務(wù)器平臺(tái)體系結(jié)構(gòu)中,網(wǎng)卡和HBA卡這兩種I/O適配器是相互獨(dú)立的,但現(xiàn)在,伴隨著iSCSI、NAS和FCoE等技術(shù)的發(fā)展,網(wǎng)卡和HBA卡有逐漸統(tǒng)一的趨勢(shì),或者叫融合。未來的趨勢(shì)很明顯,主機(jī)上將只有一種物理I/O端口,所有的協(xié)議都通過它來進(jìn)行通信。
混合I/O時(shí)代已經(jīng)來臨
在虛擬化和網(wǎng)絡(luò)融合的環(huán)境中,虛擬機(jī)之間要競(jìng)爭(zhēng)I/O資源,I/O適配器也必須處理多種類型的網(wǎng)絡(luò)I/O流量和存儲(chǔ)I/O流量。問題看起來很好解決,我們只需要配置高性能、高帶寬的10 Gbps以太網(wǎng)卡、10 Gbps FCoE卡、以及8 Gbps或16 Gbps的光纖通道卡,就能讓主機(jī)端更好地處理虛擬機(jī)的I/O請(qǐng)求。但事實(shí)上更大的挑戰(zhàn)在于,如何確保主機(jī)能夠?qū)⒑线m的帶寬資源在合適的時(shí)間分配給需要它的虛擬機(jī)。
服務(wù)器虛擬化應(yīng)用如今已發(fā)展到第三個(gè)階段。在最初的時(shí)期,通常只有測(cè)試和開發(fā)系統(tǒng)才使用虛擬機(jī);后來,人們開始在虛擬機(jī)上部署一些優(yōu)先級(jí)較低的系統(tǒng)和負(fù)載較輕的應(yīng)用。因此在前兩個(gè)階段,通過簡(jiǎn)單的輪詢、將I/O資源平均分配給每個(gè)虛擬機(jī)的機(jī)制是可行的。但進(jìn)入到第三階段,當(dāng)關(guān)鍵應(yīng)用和復(fù)雜應(yīng)用開始部署到服務(wù)器虛擬化平臺(tái)之后,如何將合適的帶寬資源在合適的時(shí)間分配給需要它的虛擬機(jī)就顯得越發(fā)重要。
當(dāng)那些關(guān)鍵的以及對(duì)性能有較高要求的應(yīng)用系統(tǒng)虛擬化之后,I/O資源就不能再簡(jiǎn)單的共享,并在虛擬機(jī)之間平均分配了。某些虛擬機(jī)需要更高的服務(wù)級(jí)別保證,需要獨(dú)享固定的帶寬。另一方面,輪詢機(jī)制會(huì)造成頻繁的系統(tǒng)中斷,對(duì)CPU的利用率產(chǎn)生負(fù)面影響。因此,確保I/O請(qǐng)求的及時(shí)響應(yīng),已成為重要應(yīng)用程序能否成功遷移到虛擬化環(huán)境的關(guān)鍵因素。
有一個(gè)方法可以讓關(guān)鍵業(yè)務(wù)擁有充足的I/O資源,即為每個(gè)虛擬機(jī)都配置一個(gè)網(wǎng)卡或HBA卡,并將運(yùn)行關(guān)鍵業(yè)務(wù)的虛擬機(jī)與該接口卡綁定。這樣工作是沒問題,但這種方法既不經(jīng)濟(jì),可能也沒有足夠的物理空間,而且,如果采用這個(gè)方案,那么每臺(tái)主機(jī)上運(yùn)行的虛擬機(jī)的數(shù)量也會(huì)受到限制。
另一個(gè)可用的方案是為主機(jī)準(zhǔn)備足夠的,甚至是超出需求的可用存儲(chǔ)和網(wǎng)絡(luò)帶寬,以便主機(jī)能夠有充足的I/O資源處理請(qǐng)求,并滿足其上運(yùn)行的每個(gè)虛擬機(jī)的性能要求。但這種方法也不是非常劃算,因?yàn)榇蟛糠痔摂M機(jī)并非每時(shí)每刻都需要較高I/O性能。此外,Hypervisor通常使用循環(huán)的排隊(duì)策略來分配共享的可用的帶寬,因此這種方法也需要頻繁的系統(tǒng)中斷操作,效率方面也有損失。
基于網(wǎng)絡(luò)適配器的虛擬I/O技術(shù)
網(wǎng)絡(luò)適配器層的I/O虛擬化技術(shù)主要由Brocade、Emulex和QLogic等幾家公司提供,他們都可以提供支持虛擬I/O功能的高速網(wǎng)絡(luò)適配器產(chǎn)品。雖然這種適配器仍然要被多個(gè)虛擬機(jī)所共享,但它仍然能夠保證運(yùn)行關(guān)鍵業(yè)務(wù)的虛擬機(jī)有較高的服務(wù)級(jí)別。比如說,一個(gè)支持虛擬I/O功能的10GigE物理網(wǎng)絡(luò)適配器既可以劃分成多個(gè)虛擬網(wǎng)絡(luò)適配器,也可以為指定的虛擬機(jī)群組按百分比分配固定的帶寬。
在以上場(chǎng)景中,單塊10 GigE的物理網(wǎng)卡可以分成10個(gè)1GigE的虛擬網(wǎng)卡并靈活使用。比如,一個(gè)虛擬網(wǎng)卡專門用于虛擬機(jī)的遷移;另外幾個(gè)指定分配給那些特殊的虛擬機(jī),以便保證關(guān)鍵應(yīng)用的性能水平;而其余的虛擬網(wǎng)卡則納入資源池,供其它的虛擬機(jī)共享使用。
因?yàn)樗械腎/O虛擬化工作都由硬件適配器處理,因此主機(jī)端hypervisor虛擬化管理軟件層的負(fù)擔(dān)相當(dāng)小,主機(jī)可以回收大量的CPU資源。換句話說,CPU的內(nèi)核不需要為管理I/O共享而進(jìn)行頻繁的中斷操作。這種虛擬I/O技術(shù),不僅自身可以支持更大密度的虛擬機(jī)數(shù)量,而節(jié)約的CPU處理能力也可以用來運(yùn)行更多的虛擬機(jī)。
基于網(wǎng)絡(luò)適配器的虛擬I/O技術(shù)的另一個(gè)特性是可以在網(wǎng)卡上創(chuàng)建一個(gè)虛擬交換機(jī)。這個(gè)技術(shù)非常有價(jià)值,尤其是在服務(wù)器虛擬化環(huán)境中,它可以極大地降低出入服務(wù)器的網(wǎng)絡(luò)流量。利用這個(gè)功能,同一臺(tái)主機(jī)上的兩個(gè)虛擬機(jī)可以直接相互通訊(這種情況很常見)。以往,這種流量都需要經(jīng)過外部的物理交換機(jī)處理。現(xiàn)在,虛擬交換機(jī)可以識(shí)別本地流量,并將這些流量限制在物理主機(jī)的內(nèi)部。這個(gè)功能不但可以為主機(jī)內(nèi)部的虛擬機(jī)提升性能,而且還可以提高整個(gè)網(wǎng)絡(luò)環(huán)境的效率。
最后要說的是,那些支持I/O虛擬化的網(wǎng)絡(luò)適配器還可以虛擬所用存儲(chǔ)協(xié)議的類型。例如,有些卡同時(shí)支持FC、FCoE、10Gbps以太網(wǎng)和iSCSI協(xié)議,那么用戶就能夠在不中斷服務(wù)器或虛擬機(jī)運(yùn)行的前提下隨時(shí)變更端口的用途。今天,有些適配器還需要reboot才能變更配置,不過這種情況未來肯定會(huì)得到改變。
 
基于(網(wǎng)絡(luò))設(shè)施的虛擬I/O技術(shù)
在基礎(chǔ)網(wǎng)絡(luò)架構(gòu)層同樣可以實(shí)現(xiàn)I/O虛擬化?;诰W(wǎng)絡(luò)設(shè)施的虛擬化既可以單獨(dú)使用,也可以與支持虛擬化的網(wǎng)絡(luò)適配器協(xié)同工作。在基礎(chǔ)網(wǎng)絡(luò)設(shè)施層,I/O的虛擬化有兩種實(shí)現(xiàn)方式。第一種是交換機(jī)自身支持虛擬化,本質(zhì)上是主機(jī)適配器端虛擬I/O功能的延伸與擴(kuò)展;另一種則以網(wǎng)關(guān)設(shè)備的形式出現(xiàn),它需要在主機(jī)端與網(wǎng)關(guān)之間構(gòu)建出一個(gè)私有的I/O通道網(wǎng)絡(luò),能夠?qū)崿F(xiàn)更廣泛的I/O虛擬化功能,所以它通常也叫I/O網(wǎng)關(guān)。
基于交換機(jī)的虛擬I/O。由于能夠控制并分配網(wǎng)絡(luò)帶寬,主機(jī)內(nèi)部的虛擬I/O網(wǎng)絡(luò)適配器無疑具有相當(dāng)重要的價(jià)值。但是,如果另一端的交換機(jī)設(shè)備不知道如何管理它的話,那么其中很多優(yōu)化功能將無法發(fā)揮作用。因此,像Brocade和Cisco等公司都推出了支持虛擬I/O的交換機(jī)產(chǎn)品,能夠在網(wǎng)絡(luò)層的各個(gè)方面確保虛擬機(jī)的性能保持在所需的水平。通過這些交換機(jī),用戶可以識(shí)別虛擬機(jī)并且設(shè)置一定的策略,包括那些與性能相關(guān)的參數(shù),比如設(shè)置QoS的低/中/高,或者調(diào)整總體可用帶寬的百分比。
只不過,虛擬I/O的管理策略不僅僅涉及性能部分,還可以針對(duì)每個(gè)虛擬機(jī)甚至是每個(gè)物理端口設(shè)置安全部分和其他參數(shù)。在服務(wù)器虛擬化應(yīng)用環(huán)境里,當(dāng)一個(gè)虛擬機(jī)從一臺(tái)主機(jī)遷移到另一臺(tái)主機(jī)時(shí),這些網(wǎng)絡(luò)設(shè)置也能夠同虛擬機(jī)一起遷移。
讓人興奮的是,一些廠商開發(fā)的虛擬I/O解決方案支持交換機(jī)端與網(wǎng)絡(luò)適配器端相互通訊,那些在網(wǎng)絡(luò)適配器層設(shè)置的策略就可以在主機(jī)和交換機(jī)之間移動(dòng),甚至可達(dá)網(wǎng)絡(luò)設(shè)施的任何層面。如果沒有這些通訊機(jī)制,那么針對(duì)虛擬機(jī)的虛擬I/O設(shè)置將無法隨虛擬機(jī)一同遷移。(比如在某主機(jī)上針對(duì)某個(gè)虛擬機(jī),我們將可用網(wǎng)絡(luò)I/O帶寬的25%分配給其專用,但當(dāng)該虛擬機(jī)從本機(jī)遷移到另一臺(tái)主機(jī)之后,以上配置將丟失)。交換機(jī)層的虛擬I/O技術(shù)能夠支持這類配置隨虛擬機(jī)一起在虛擬化環(huán)境中任意遷移。
像服務(wù)器虛擬化一樣,有些交換機(jī)產(chǎn)品甚至可以實(shí)現(xiàn)交換機(jī)虛擬化。在這樣的場(chǎng)景中,網(wǎng)絡(luò)中的多個(gè)獨(dú)立的交換機(jī)看起來就好像一臺(tái)大的交換機(jī),因?yàn)橛脩艨梢栽谝稽c(diǎn)登錄并實(shí)施管理,而不需要登錄到每一臺(tái)獨(dú)立的交換機(jī), 所以執(zhí)行系統(tǒng)配置和策略管理都更加簡(jiǎn)單。交換機(jī)虛擬化還可以提供更好的網(wǎng)絡(luò)可用性,即使其中一臺(tái)交換機(jī)發(fā)生故障,整個(gè)網(wǎng)絡(luò)環(huán)境依然可用。
虛擬I/O網(wǎng)關(guān)。業(yè)內(nèi)提供虛擬I/O網(wǎng)關(guān)設(shè)備的公司包括Xsigo System公司以及Virtensys公司(Virtensys近期被Micron Technology公司收購)。虛擬I/O網(wǎng)關(guān)設(shè)備是一種類似于交換機(jī)的裝置,里面安裝了存儲(chǔ)接口卡和網(wǎng)絡(luò)接口卡,該裝置(及其上的I/O卡)可以被網(wǎng)絡(luò)中多臺(tái)服務(wù)器所共享。如果使用了虛擬I/O網(wǎng)關(guān),那么多臺(tái)服務(wù)器之間的通訊就鎖定在一個(gè)由網(wǎng)關(guān)構(gòu)建的私有的平面網(wǎng)絡(luò)體系之內(nèi)。從某種程度上說,我們可以把虛擬I/O網(wǎng)關(guān)設(shè)備看成是服務(wù)器總線向外的擴(kuò)展,I/O網(wǎng)關(guān)相當(dāng)于服務(wù)器外部的PCI Express總線插槽,只不過這個(gè)擴(kuò)展的總線是被多個(gè)主機(jī)所共享的。
用戶需要在服務(wù)器端安裝一個(gè)專用接口卡,用于與I/O網(wǎng)關(guān)互聯(lián)。有些廠商用的是PCIe總線擴(kuò)展卡,但大部分廠商選擇使用Infiniband適配器或10Gbps以太網(wǎng)適配器。無論在服務(wù)器上安裝什么卡,其目的都是為了以相對(duì)較低的成本獲得最高的性能,以便實(shí)現(xiàn)PCI總線的對(duì)外擴(kuò)展。
虛擬I/O網(wǎng)關(guān)與支持虛擬I/O的網(wǎng)絡(luò)適配器之間最主要的差別在于,多個(gè)服務(wù)器可以共享一塊安裝在虛擬I/O網(wǎng)關(guān)上的接口卡。從這個(gè)意義上來說,虛擬I/O網(wǎng)關(guān)在連接的靈活性以及資源優(yōu)化方面具有比較明顯的優(yōu)勢(shì)。
服務(wù)器上究竟要插哪種接口卡(連到I/O網(wǎng)關(guān)),這取決于廠商的技術(shù),既可以是定制的專用卡,也可以是現(xiàn)成的PCIe接口卡。通常,基于專用卡(的網(wǎng)關(guān))具有更好的多主機(jī)共享能力。而基于現(xiàn)成PCI卡的網(wǎng)關(guān)則可以提供更多的靈活性,不過受限于今天所能采用的PCI卡的類型,其共享能力會(huì)受到一定的限制。
虛擬I/O網(wǎng)關(guān)的另一個(gè)好處是在未來升級(jí)時(shí)可以保護(hù)現(xiàn)有投資。因?yàn)榻涌诳ê蛙浖?qū)動(dòng)都由I/O網(wǎng)關(guān)廠商提供,所以實(shí)現(xiàn)不同網(wǎng)絡(luò)和存儲(chǔ)協(xié)議之間的轉(zhuǎn)換是很容易的事情。
舉個(gè)例子,如果當(dāng)前存儲(chǔ)系統(tǒng)與服務(wù)器之間的連接通過光纖通道,那么當(dāng)增加一個(gè)新的iSCSI存儲(chǔ)之后,主機(jī)端就需要換掉原來的光纖通道接口卡,或者在原有通道卡之外再增加以太網(wǎng)卡(除非服務(wù)器上已經(jīng)使用了前文提到的支持虛擬I/O的網(wǎng)絡(luò)適配器)。而如果使用虛擬I/O網(wǎng)關(guān)方案,那么服務(wù)器上的接口卡可以保持不變,只需要在網(wǎng)關(guān)設(shè)備上安裝一塊共享的iSCSI卡即可。所以說,主機(jī)端只需要一塊卡就能實(shí)現(xiàn)光纖通道和iSCSI兩種連接功能。主機(jī)端唯一需要做的變化是軟件配置的升級(jí),而任何一臺(tái)主機(jī)的物理配置都可以保持不動(dòng)。這種方式不僅為網(wǎng)絡(luò)類型和協(xié)議的變更提供了最大的靈活性,而且因配置變更導(dǎo)致的服務(wù)器本身的宕機(jī)時(shí)間也更少。
虛擬I/O技術(shù)的選擇策略
用戶究竟應(yīng)該選擇哪種虛擬I/O策略用于他們的數(shù)據(jù)中心,很大程度上取決于用戶眼前的需求以及長(zhǎng)期的業(yè)務(wù)目標(biāo)。比方說,如果用戶把提高主機(jī)端存儲(chǔ)和網(wǎng)絡(luò)I/O的性能作為首要改造目標(biāo)的話,那么最佳方案是直接購買支持I/O虛擬化的網(wǎng)絡(luò)接口卡,而不是購買普通的(沒有I/O虛擬化功能)10GigE網(wǎng)卡。這個(gè)方案能夠幫助用戶更有效地利用萬兆網(wǎng)絡(luò)的帶寬,并且保證其中關(guān)鍵業(yè)務(wù)的優(yōu)先服務(wù)水平。
如果用戶正在更新或者擴(kuò)展他們的網(wǎng)絡(luò)和存儲(chǔ)基礎(chǔ)設(shè)施,那么增加一些I/O虛擬化組件是很值得考慮的事情。交換機(jī)層的虛擬I/O技術(shù)可以逐步升級(jí),并且作為(支持虛擬I/O的)網(wǎng)絡(luò)接口卡方案的完美補(bǔ)充。
當(dāng)企業(yè)中已有設(shè)施面臨升級(jí)時(shí),利用虛擬I/O網(wǎng)關(guān)構(gòu)建私有的I/O平面網(wǎng)絡(luò)的方案也是值得考慮的。因?yàn)樗梢杂行У母倪M(jìn)性能并且獲得更大的靈活性。在日新月異的I/O技術(shù)市場(chǎng)中,網(wǎng)關(guān)類產(chǎn)品具有更好的投資保護(hù)性。
總之,不論我們選擇哪種虛擬I/O方案,都可以明顯改進(jìn)現(xiàn)有基礎(chǔ)設(shè)施的靈活性,獲得一個(gè)動(dòng)態(tài)性更強(qiáng)的架構(gòu),從而讓我們的服務(wù)器基礎(chǔ)架構(gòu)能夠適應(yīng)不斷變化的應(yīng)用需求。本文提及的三種方案都具有較好的投資收益、也能夠保證關(guān)鍵應(yīng)用優(yōu)先獲得資源以維持高性能,更可貴的是,對(duì)于服務(wù)器虛擬化項(xiàng)目來說,它們都可以幫助用戶獲得更多的投資回報(bào)(ROI)。
相關(guān)鏈接一:I/O虛擬化的三種主流方案
不論哪種I/O虛擬化解決方案,其最終的目標(biāo)都是一個(gè):即解決服務(wù)器虛擬化環(huán)境中網(wǎng)絡(luò)資源競(jìng)爭(zhēng)問題,減少主機(jī)和存儲(chǔ)之間的訪問瓶頸。這里我們羅列了三種常見的虛擬I/O解決方案:
• 基于網(wǎng)絡(luò)適配器的虛擬I/O技術(shù)
• 基于存儲(chǔ)網(wǎng)絡(luò)交換機(jī)的虛擬I/O技術(shù)
• 基于I/O網(wǎng)關(guān)設(shè)備的虛擬I/O技術(shù)
相關(guān)鏈接二:I/O虛擬化常見術(shù)語
我們列出那些與I/O虛擬化相關(guān)的常見關(guān)鍵術(shù)語:
• Converged Network Adapter (CNA,融合網(wǎng)絡(luò)適配器),融合網(wǎng)絡(luò)適配器同時(shí)兼有以太網(wǎng)卡和光纖通道HBA卡的功能。
• Fibre Channel over Ethernet (FCoE),是一種新的存儲(chǔ)協(xié)議,其本質(zhì)是利用以太網(wǎng)來承載光纖通道協(xié)議。
• Network Interface Card Partitioning (NPAR),是一種由QLogic公司開發(fā)的高效分區(qū)技術(shù),可以將一個(gè)物理網(wǎng)卡切成幾個(gè)分區(qū)(相當(dāng)于虛擬出多個(gè)網(wǎng)卡),以便分配給多個(gè)虛擬機(jī)使用。
• PCI-SIG I/O Virtualization (IOV),是PCI組織旗下的一個(gè)特別興趣小組,主要工作是開發(fā)基于PCI-E的共享設(shè)備技術(shù)規(guī)范。
• Single Root I/O Virtualization (SR-IOV),是一種由PCI-SIG(PCI組織特別興趣小組)提出的,關(guān)于單臺(tái)主機(jī)內(nèi)部使用共享虛擬化PCI設(shè)備的技術(shù)規(guī)范。
• Multi-Root IOV (MR-IOV),是一種由PCI-SIG(PCI組織特別興趣小組)提出的,關(guān)于跨多臺(tái)主機(jī)(比如在一個(gè)刀片機(jī)箱中的多臺(tái)刀片服務(wù)器)使用共享虛擬化PCI設(shè)備的技術(shù)規(guī)范。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。