服務器上基於SR-IOV的IO虛擬化技術解讀

    

     虛擬化技術通過多年的發展,其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 設備上的資源的一組虛擬功能。這個簡化的服務器虛擬化架構以下圖所示。網絡

wKiom1RWUWPwYRnOAAE9N59bM20600.jpg


在這個模型中,不須要任何透傳,由於虛擬化在終端設備上發生,從而容許管理程序簡單地將虛擬功能映射到 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需求,最終致使線速性能根本不可能實現。

     wKiom1RWUyaQrNc1AAD7J32vQJc937.jpg

     經過實施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利用PCIe虛擬功能(Virtual Functions,VF)——分配給虛擬機的輕量PCI功能,同時由系統管理程序負責控制基礎PF。SR-IOV容許虛擬機高效地共享I/O設備,而直接I/O可提升性能。


SR-IOV 的優勢

具備 SR-IOV 功能的設備能夠利用如下優勢:

  • 性能-從虛擬機環境直接訪問硬件。

  • 成本下降-節省的資本和運營開銷包括:

    • 節能

    • 減小了適配器數量

    • 簡化了佈線

    • 減小了交換機端口


VSphere與SR-IOV技術:

要使用 SR-IOV 所需支持的配置

組件

要求

vSphere


配備 Intel 處理器的主機須要使用 ESXi 5.1 或更高版本。

配備 AMD 處理器的主機不受 SR-IOV 支持。

物理主機


必須與 ESXi 版本兼容。

必須配備 Intel 處理器。

不得配備 AMD 處理器。

必須支持輸入/輸出內存管理單元 (IOMMU),而且必須在 BIOS 中啓用 IOMMU。

必須支持 SR-IOV,而且必須在 BIOS 中啓用 SR-IOV。請聯繫服務器供應商以肯定主機是否支持 SR-IOV。

物理網卡


必須與 ESXi 版本兼容。

根據服務器供應商提供的技術文檔,必須支持用於主機和 SR-IOV。

必須在固件中啓用 SR-IOV。

對於物理網卡,在 ESXi 中使用 PF 驅動程序


必須通過 VMware 的認證。

必須安裝在 ESXi 主機上。對於某些網卡,ESXi 版本提供默認驅動程序,而對於其餘網卡,必須下載並手動安裝驅動程序。

客戶機操做系統


Red Hat Enterprise Linux 6.x

Windows Server 2008 R2 with SP2

客戶機操做系統中使用 VF 驅動程序


必須與網卡兼容。

根據網卡供應商提供的技術文檔,必須受客戶機操做系統版本的支持。

必須由 Microsoft WLK 或 WHCK 針對 Windows 虛擬機進行認證。

必須安裝在操做系統中。對於某些網卡,操做系統版本中包含默認驅動程序,而對於其餘網卡,則必須從網卡或主機供應商提供的位置下載並安裝驅動程序。


注:如下功能對配置了 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 功能才能運行。

相關文章
相關標籤/搜索