對(duì)于hypervisor來說虛擬NIC與交換機(jī)都是由軟件來實(shí)現(xiàn)的,所以這必將會(huì)造成系統(tǒng)的CPU占用率上升。因此更好的辦法是將NIC做成一個(gè)特殊的虛擬機(jī),直接訪問NIC從而獲得更高的性能??傊m然是在一個(gè)虛擬環(huán)境中,但對(duì)于NIC來說是處在物理環(huán)境之中。
為了解決這個(gè)問題,Intel從至強(qiáng)5500開始的芯片組中加載了向虛擬機(jī)直接分配I/O設(shè)備的VT-d功能。這個(gè)VT-d不僅可以與NIC直接連接,而且也可以使用I/O設(shè)備。
如果使用VT-d,可通過hypervisor從虛擬機(jī)直接使用這個(gè)設(shè)備
VMDq的結(jié)構(gòu)。通過在NIC方面替代TCP/IP的發(fā)送和接收來實(shí)現(xiàn)有效通信
如果使用VT-c的VMDq,網(wǎng)絡(luò)效率將提升90%
同時(shí)Intel還對(duì)虛擬NIC提供了所謂的VT-c功能。VT-d,是用于芯片組的功能,而VT-c則是用于NIC的功能。
VT-c大體上由I/O Acceleration Technology(I/OAT)、Virtual Machine Device Queues(VMDq)和Single Root I/O Virtualization(SR-IOV)三個(gè)功能構(gòu)成。
I/OAT可以使用NIC處理復(fù)雜的TCP/IP協(xié)議。因此,即使網(wǎng)絡(luò)使用頻繁的情況下CPU也不會(huì)負(fù)載過大,因?yàn)椴恍枰贑PU方面進(jìn)行TCP/IP協(xié)議處理。
Intel在NIC上的虛擬機(jī)設(shè)備隊(duì)列(VMDq)技術(shù)提供了多個(gè)硬件隊(duì)列,通過在多個(gè)虛擬機(jī)上共享一個(gè)網(wǎng)絡(luò)設(shè)備來減少了軟件的負(fù)載,實(shí)現(xiàn)更高效的通信。
SR-IOV是對(duì)PCIe的擴(kuò)展,可以在虛擬化服務(wù)器環(huán)境下讓單個(gè)適配器象多個(gè)物理適配器一樣使用。
在虛擬化環(huán)境下,不可能為每個(gè)虛擬機(jī)都配備一個(gè)網(wǎng)絡(luò)適配器(NIC),因此網(wǎng)絡(luò)性能將會(huì)因?yàn)樽芳拥奶摂M化網(wǎng)絡(luò)功能而獲得最大的受益。當(dāng)具備網(wǎng)卡虛擬化功能后,允許多臺(tái)虛擬機(jī)共享一塊NIC,它是通過在虛擬化管理器Hypervisor上建立一個(gè)軟件仿真層來實(shí)現(xiàn)資源的共享,并幫助虛擬機(jī)更快速的訪問網(wǎng)絡(luò),同時(shí)也將減輕CPU的負(fù)荷。
如果使用SR-IOV,可以從多個(gè)虛擬機(jī)器訪問一個(gè)NIC
使用SR-IOV時(shí)的存儲(chǔ)I/O性能
不過,現(xiàn)在所提到的VT-c標(biāo)準(zhǔn),英特爾自身的網(wǎng)絡(luò)芯片和網(wǎng)卡以外的同類產(chǎn)品并不支持。但是,在其他的網(wǎng)絡(luò)芯片供應(yīng)商的產(chǎn)品中也都有各自相類似的功能,只是名稱不同而已。比如英特爾的I/OAT(I/O加速)技術(shù),與其他廠商的TCP/IP Off Load(TOE)技術(shù)基本就是同一個(gè)東西。所以,即使不使用英特爾的芯片,虛擬化的功能仍然可用,只是對(duì)于虛擬化管理器平臺(tái)的支持,一個(gè)整體打包的稱呼–VT-c更容易讓人理解。
另外,VMware ESX、Windows Server 2008 R2 Hyper-V和Xen等hypervisor也都支持VR-c功能。
Intel計(jì)劃在2010年發(fā)布代號(hào)為Westmere、用于服務(wù)器主板的網(wǎng)絡(luò)芯片Intel 82599。這款網(wǎng)絡(luò)芯片采用了10Gb的雙端口。因此,支持10Gb也不會(huì)花費(fèi)太多成本。Intel解釋說,架構(gòu)10Gb環(huán)境的成本相當(dāng)于現(xiàn)在的千兆以太網(wǎng)。而且,825PP網(wǎng)絡(luò)芯片還是一個(gè)可以同時(shí)兼容iSCSI、FCoE和LAN的統(tǒng)一網(wǎng)絡(luò)解決方案。因此,NIC可以同時(shí)處理光纖通道存儲(chǔ)和iSCSI存儲(chǔ)。
這樣,用一臺(tái)服務(wù)器就可以簡單地處理光纖通道和iSCSI兩種存儲(chǔ)。
由于使用82599網(wǎng)絡(luò)芯片,一個(gè)NIC可以同時(shí)處理FCoE和iSCSI
一個(gè)NIC同時(shí)支持FCoE和iSCSI
Nehalem(至強(qiáng)5500)的虛擬化功能帶來CPU和存儲(chǔ)方面性能的提升。因此,如何利用VT-d和VT-c來提升外部網(wǎng)絡(luò)存儲(chǔ)就成為下一個(gè)話題。VT-d和VT-c將成為虛擬化方面兩個(gè)重要的技術(shù)。