虛擬化技術通過多年的發展,其CPU虛擬化和內存虛擬化均已成熟,但I/O虛擬化技術卻變化不大。INTEL公司提出的SR-IOV技術經過在硬件層增長虛擬支持,極大的提升了物理設備的使用效率和I/O性能。安全
SR-IOV 技術標準容許在虛擬機之間高效共享 PCIe(Peripheral Component Interconnect Express,快速外設組件互連)設備,而且它是在硬件中實現的,能夠得到可以與本機性能媲美的 I/O 性能。SR-IOV 規範定義了新的標準,根據該標準建立的新設備可容許將虛擬機直接鏈接到 I/O 設備。服務器
通 過 SR-IOV,一個 PCIe 設備不只能夠導出多個 PCI 物理功能,還能夠導出共享該 I/O 設備上的資源的一組虛擬功能。這個簡化的服務器虛擬化架構以下圖所示。網絡
在這個模型中,不須要任何透傳,由於虛擬化在終端設備上發生,從而容許管理程序簡單地將虛擬功能映射到 VM 上以實現本機設備性能和隔離安全。架構
SR-IOV技術的目標是在繞過虛擬機參與數據遷移過程當中實施標準化,爲每一個虛擬機提供獨立內存空間、中斷和Direct Memory Access (DMA)流。SR-IOV架構的設計容許一個I/O設備支持多個虛擬功能,同時將每一個功能的硬件成本降至最低。SRIOV引入了兩個新的功能類型:ide
物理功能 (Physical Function, PF)性能
用於支持 SR-IOV 功能的 PCI 功能,如 SR-IOV 規範中定義。PF 包含 SR-IOV 功能結構,用於管理 SR-IOV 功能。PF 是全功能的 PCIe 功能,能夠像其餘任何 PCIe 設備同樣進行發現、管理和處理。PF 擁有徹底配置資源,能夠用於配置或控制 PCIe 設備。spa
虛擬功能 (Virtual Function, VF)操作系統
與物理功能關聯的一種功能。VF 是一種輕量級 PCIe 功能,能夠與物理功能以及與同一物理功能關聯的其餘 VF 共享一個或多個物理資源。VF 僅容許擁有用於其自身行爲的配置資源。設計
每一個 SR-IOV 設備均可有一個物理功能 (Physical Function, PF),而且每一個 PF 最多可有 64,000 個與其關聯的虛擬功能 (Virtual Function, VF)。PF 能夠經過寄存器建立 VF,這些寄存器設計有專用於此目的的屬性。3d
一旦在 PF 中啓用了 SR-IOV,就能夠經過 PF 的總線、設備和功能編號(路由 ID)訪問各個 VF 的 PCI 配置空間。每一個 VF 都具備一個 PCI 內存空間,用於映射其寄存器集。VF 設備驅動程序對寄存器集進行操做以啓用其功能,而且顯示爲實際存在的 PCI 設備。建立 VF 後,能夠直接將其指定給 IO 來賓域或各個應用程序(如裸機平臺上的 Oracle Solaris Zones)。此功能使得虛擬功能能夠共享物理設備,並在沒有 CPU 和虛擬機管理程序軟件開銷的狀況下執行 I/O。
同時,咱們看到虛擬化技術正從根本上轉變數據中心,將網絡接入層轉移到服務器中。除了對I/O設備進行虛擬化,使它們能夠由虛擬機共享外,系統管理程序必然地成了基於軟件的以太網交換機,爲虛擬機提供網絡服務,佔用了大量CPU週期並阻礙着虛擬化可擴展性和性能。即便採用最強大的處理器,使用16 Gbps光纖通道,速度爲10 GbE時,系統管理程序也不能跟上I/O需求,最終致使線速性能根本不可能實現。
經過實施Virtual Machine Optimized Ports(VMOP),Brocade 1860網絡適配器利用VMware NetQueue和Microsoft VMQ等系統管理程序(hypervisor)多隊列技術,來將入站網絡數據包分類等任務從系統管理系統卸載到適配器上,從而節約CPU資源,實現線速性能。
Brocade 1860網絡適配器還支持博科的虛擬Fabric Link(vFLink)技術。這種技術能夠將單一適配器分爲最多8個虛擬適配器,而這些虛擬適配器能夠配置爲虛擬HBA(vHBA,用於光纖通道或FCoE)或虛擬NIC(vNIC,用於以太網)。這一操做在PCIe總線級別經過多種物理功能(Physical Function,PF)在硬件中實現;在操做系統級別,這些虛擬適配器看起來就像獨立的物理設備。帶寬可以以100 Mbps的增量分配給這些虛擬Fabric鏈路,光纖通道和以太網分別最多可分配到16 Gbps或10 Gbps的帶寬。這有助於避免虛擬環境中適配器的迅速增加,同時可實現不一樣網絡的全面管理隔離和微調,包括生產、備份、管理或實時遷移。
具備 SR-IOV 功能的設備能夠利用如下優勢:
性能-從虛擬機環境直接訪問硬件。
成本下降-節省的資本和運營開銷包括:
節能
減小了適配器數量
簡化了佈線
減小了交換機端口
VSphere與SR-IOV技術:
組件 |
要求 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
vSphere |
|
||||||||||
物理主機 |
|
||||||||||
物理網卡 |
|
||||||||||
對於物理網卡,在 ESXi 中使用 PF 驅動程序 |
|
||||||||||
客戶機操做系統 |
|
||||||||||
客戶機操做系統中使用 VF 驅動程序 |
|
注:如下功能對配置了 SR-IOV 的虛擬機不可用:
■ |
vMotion |
■ |
Storage vMotion |
■ |
vShield |
■ |
Netflow |
■ |
虛擬線纜 |
■ |
High Availability |
■ |
Fault Tolerance |
■ |
DRS |
■ |
DPM |
■ |
掛起和恢復 |
■ |
快照 |
■ |
用於直通虛擬功能的基於 MAC 的 VLAN |
■ |
熱添加和刪除虛擬設備、內存和 vCPU |
■ |
加入到羣集環境 問題: 受支持的網卡 配置了 SR-IOV 的虛擬機支持如下網卡:全部網卡必須具備支持 SR-IOV 的驅動程序和固件。某些網卡可能須要在固件上啓用 SR-IOV。 從 vSphere 的較早版本升級 若是從 vSphere 5.0 或更早的版本升級到 vSphere 5.1 或更高的版本,則在爲 vSphere 版本更新網卡驅動程序以前,沒法取得 SR-IOV 支持。網卡必須具有支持已啓用 SR-IOV 的固件和驅動程序,SR-IOV 功能才能運行。 |