四種主要的網(wǎng)絡(luò)IO虛擬化模型

責(zé)任編輯:vivian

2012-12-01 16:43:18

摘自:比特網(wǎng)

本文主要為大家簡要介紹VMware、Redhat、Citrix、Microsoft主要虛擬化廠商使用的4種主要的虛擬化IO模型(emulation、para-virtualization、pass-through、SR-IOV)。

本文主要為大家簡要介紹VMware、Redhat、Citrix、Microsoft主要虛擬化廠商使用的4種主要的虛擬化IO模型(emulation、para-virtualization、pass-through、SR-IOV)。

本文主要為大家穿針引線,信息量比較大,組織排版有限,看官們將就點(diǎn)看著。

網(wǎng)絡(luò)I/O不但是物理服務(wù)器最容易出現(xiàn)的瓶頸,也是現(xiàn)在虛擬化技術(shù)最大的硬傷。隨著硬件虛擬化對(duì)網(wǎng)絡(luò)I/O的支持,虛擬化的網(wǎng)絡(luò)I/O模型也不斷的進(jìn)化,虛擬化的I/O性能也不斷提升。

今天給大家分享VMware、Redhat、Citrix、Microsoft主流虛擬化解決方案采用的4種主流網(wǎng)絡(luò)I/O模型,主要包括模型原理、模型優(yōu)點(diǎn)、模型缺點(diǎn)、模型對(duì)虛擬化遷移的支持。

這4個(gè)主流網(wǎng)絡(luò)I/O模型分別是:

1、Emulation

原理:仿真(emulation)是一個(gè)完全通過軟件程序來模擬硬件的技術(shù)。早期虛擬化都才采用這種方案來虛擬網(wǎng)絡(luò)設(shè)備。常見仿真軟件有QEMU、VMware WorkStation、VirtualBox。Emulation網(wǎng)絡(luò)模型圖如下:

 image001

不同虛擬化廠商的虛擬網(wǎng)卡產(chǎn)品都不盡相同。

VMware Emulation類型網(wǎng)卡有:E1000(仿真intel 82545M千兆網(wǎng)卡)、Flexible、Vlance(仿真AMC 79C970 PCnet32 LANCE 10M網(wǎng)卡)、VMXNET(VMXNET一共有3個(gè)版本,分別是VMXNET、VMXNET2、VMXNET3;暫時(shí)沒有找到VMware的明確資料對(duì)這三個(gè)版本進(jìn)行分類。個(gè)人暫把VMXNET定為emulation、VMXNET2和VMXNET3定義為para-virtualization類型。VMXNET3也支持部分SR-IOV功能)。

Redhat的KVM和Citrix的XEN這類型網(wǎng)卡都是采用QEMU實(shí)現(xiàn),在KVM和XEN上面可用的emulation網(wǎng)卡有:RTL8139(仿真RealTek Link 8139 100M網(wǎng)卡)、E1000(仿真intel 82545M千兆網(wǎng)卡)。

Microsoft Hyper-V Emulation類型網(wǎng)卡有:Intel/DEC 21140 100M網(wǎng)卡

優(yōu)點(diǎn):軟件模擬不需要硬件支持,通過CPU計(jì)算來模擬,跟宿主機(jī)物理網(wǎng)卡隔離,沒有平臺(tái)要求。

虛擬機(jī)操作系統(tǒng)不需要修改,模擬的都是常見網(wǎng)卡(比如:Intel E1000、RTL8139等),主流操作系統(tǒng)都已經(jīng)自帶這些驅(qū)動(dòng),因此默認(rèn)情況下虛擬機(jī)不需要再安裝驅(qū)動(dòng)。

缺點(diǎn):CPU資源消耗大,尤其當(dāng)虛擬機(jī)數(shù)量多的時(shí)候。網(wǎng)卡性能一般,由于是軟件模擬,只能模擬常見的、功能比較簡單的網(wǎng)卡。

虛擬機(jī)遷移支持:

剝離了硬件要求,使用這類型可遷移性強(qiáng)。由于XEN和KVM都是使用qemu仿真,所以這類型虛擬機(jī)在XEN和KVM之間混合遷移實(shí)現(xiàn)難度也不大。

2、para-virtualization

原理:Para-virtualization又稱半虛擬化,最早由Citrix的Xen提出使用。在半虛擬化模型中,物理硬件資源統(tǒng)一由Hypervisor管理,由Hypervisor提供資源調(diào)用接口。虛擬子機(jī)通過特定的調(diào)用接口與Hypervisor通信,然后完整I/O資源控制操作。Para-virtualization模型圖如下:

image002


Para-virtualization又稱半虛擬化,最開始由XEN提出的,XEN本身就是從虛擬化起家的。Para-virtualization模型下,虛擬子機(jī)的網(wǎng)卡驅(qū)動(dòng)只能有Hypervisor廠商來開發(fā),Redhat、VMware、Citrix、Microsoft這幾大虛擬廠商都有各自的para-virtualization驅(qū)動(dòng)。比如Redhat的KVM就叫virtio,VMware的有VMXNET2、VMXNET 3,Citrix的XEN叫xen-pv,Mircrosoft暫時(shí)沒有找到(歡迎朋友們補(bǔ)充)。

優(yōu)點(diǎn):個(gè)人認(rèn)為是一種改進(jìn)版的emulation模型,但是由于子機(jī)和Hypervisor之間通信,性能比emulation要很多。

缺點(diǎn):需要修改虛擬子機(jī)操作系統(tǒng)內(nèi)核,添加不同Hypervisor廠商的網(wǎng)絡(luò)驅(qū)動(dòng)。比如Linux(Redhat和Novell)就在發(fā)行版里面添加了Mircosoft的para-virtualizaiton網(wǎng)絡(luò)驅(qū)動(dòng),同樣Microsoft也在自己發(fā)行版里面添加對(duì)KVM的virtio和xen-pv驅(qū)動(dòng)支持。

虛擬機(jī)遷移支持:雖然不同虛擬化廠商的para-virtualization方案都不相同,由于主流操作系統(tǒng)都同時(shí)提供對(duì)這些方案的支持;所以這類型虛擬子機(jī)可遷移性也比較容易實(shí)現(xiàn)。

3、pass-through

 image003

原理:Hypervisor將一個(gè)PCI設(shè)備(可以是網(wǎng)卡、USB、光驅(qū))直接分配給指定虛擬子機(jī)單獨(dú)訪問。為了安全和穩(wěn)定性考慮,pass-through使用通常結(jié)合intel VT-D(AMD也有類似技術(shù))來使用,通過iommu保證虛擬子機(jī)之間內(nèi)存訪問不沖突。這種技術(shù)在VMware上叫VMDirectPath I/O,其他方案中沒有找到相關(guān)專門名詞。

優(yōu)點(diǎn):性能好。單獨(dú)PCI設(shè)備分配給虛擬子機(jī),虛擬子機(jī)直接跟物理設(shè)備通信。

缺點(diǎn):設(shè)備只能被一個(gè)虛擬子機(jī)使用,配置也比較復(fù)雜,首先需要在hypervisor將指定設(shè)備通過PCI id方式分配給指定虛擬子機(jī),然后虛擬子機(jī)識(shí)別到設(shè)備再安裝驅(qū)動(dòng)來使用。

遷移性:遷移性方面待研究,有興趣的朋友可以補(bǔ)充完善。

4、SR-IOV

背景:pass-through模型讓虛擬子機(jī)直接使用物理設(shè)備,這樣使得虛擬子機(jī)的網(wǎng)絡(luò)性能達(dá)到最優(yōu)。SR-IOV主要用來解決pass-through只能被一臺(tái)虛擬子機(jī)訪問的問題。SR-IOV標(biāo)準(zhǔn)由PCI-SIG,這個(gè)標(biāo)準(zhǔn)實(shí)現(xiàn)需要CPU、芯片組和PCI設(shè)備(主要是網(wǎng)卡等I/O資源)協(xié)同在硬件層面實(shí)現(xiàn),SR-IOV被很多人認(rèn)為是解決了虛擬化最后一公里的問題。模型圖如下:

 image004

原理:SR-IOV需要網(wǎng)卡硬件支持,支持SR-IOV功能的網(wǎng)卡可以在Hypervior里面注冊(cè)成多個(gè)網(wǎng)卡(每個(gè)網(wǎng)卡都獨(dú)立的中斷ID、收發(fā)隊(duì)列、QOS管理機(jī)制)。每個(gè)設(shè)備可以通過pass-through方式分配給虛擬子機(jī)。

產(chǎn)品:常見就是基于intel 82599和82598芯片組的10Gb網(wǎng)卡。VMware、Redhat、Citrix和Microsoft都已經(jīng)或者正在Hypervisor里面添加這個(gè)功能的支持。下面是一篇基于KVM的SR-IOV性能測(cè)試報(bào)告。(http://www.principledtechnologies.com/clients/reports/Red%20Hat/RHEL6_SR-IOV_DB0111.pdf),不同廠商虛擬化方案都不盡相同,有興趣可以在google里面搜索到更多資料。

優(yōu)點(diǎn):優(yōu)點(diǎn)不用說,X86虛擬化最新的IO虛擬化模型;虛擬機(jī)不但性能好,而且結(jié)合硬件功能,為虛擬機(jī)IO管理提出了一個(gè)新方案。

缺點(diǎn):待定

遷移性:SR-IOV同時(shí)需要硬件和軟件兩個(gè)層面支持,虛擬子機(jī)在相同網(wǎng)卡主機(jī)之間遷移時(shí)理論上不會(huì)有問題。具體還要看虛擬化廠商實(shí)現(xiàn)。

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

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