一、基礎(chǔ)概念
SR-IOV全稱為Single Root I/O Virtualization(單根輸入/輸出虛擬化),是一種硬件加速的虛擬化技術(shù),它允許多個虛擬機同時訪問物理設(shè)備,從而提高虛擬機的性能和可靠性。
SR-IOV技術(shù)是通過將單個物理設(shè)備劃分為多個虛擬設(shè)備或虛擬端口(即一張物理網(wǎng)卡虛擬化成多個虛擬網(wǎng)卡給虛擬機(VM)用),為每個虛擬機提供獨立的物理通道 。
這樣,每個虛擬機可以直接訪問獨立的虛擬設(shè)備或虛擬端口,而無需在主機操作系統(tǒng)和虛擬化層之間進行上下文切換。
SR-IOV中有兩個PCIe的function types:
1)物理功能 (Physical Function, PF):用于支持 SR-IOV 功能的 PCI 功能,每個PF都可以被物理主機發(fā)現(xiàn)和管理。PF 包含 SR-IOV 功能結(jié)構(gòu),用于管理 SR-IOV 功能。 PF 擁有完全配置資源,可以用于配置或控制 PCIe 設(shè)備 。進一步講,借助物理主機上的PF驅(qū)動可以直接訪問PF所有資源,并對所有VF并進行配置,比如:設(shè)置VF數(shù)量,并對其進行全局啟動或停止。
2)虛擬功能 (Virtual Function, VF): PF虛擬出來的功能,VF 是一種輕量級 PCIe 功能,僅允許擁有用于其自身行為的配置資源 。一個或者多個VF共享一個PF,其驅(qū)動裝在虛擬機上,當VF分配給虛擬機以后,虛擬機就能像使用普通PCIe設(shè)備一樣初始化和配置VF。 如果PF代表的是一張物理網(wǎng)卡,那么VF則是一個虛擬機可以看見和使用的虛擬網(wǎng)卡 。
每個 SR-IOV 設(shè)備都可有一個物理功能 (Physical Function, PF),并且每個 PF 最多可有 64,000 個與其關(guān)聯(lián)的虛擬功能 (Virtual Function, VF)。
PF 可以通過寄存器創(chuàng)建 VF,這些寄存器設(shè)計有專用于此目的的屬性。只要在 PF 中啟用了 SR-IOV,就可以通過 PF 的總線、設(shè)備和功能編號(路由 ID)訪問各個 VF 的 PCI 配置空間。
每個 VF 都具有一個 PCI 內(nèi)存空間,用于映射其寄存器集。VF 設(shè)備驅(qū)動程序?qū)拇嫫骷M行操作以啟用其功能,并且顯示為實際存在的 PCI 設(shè)備。
創(chuàng)建 VF 后,可以直接將其指定給 IO 或各個應(yīng)用程序(如裸機平臺上的 Oracle Solaris Zones)。
此功能使得虛擬功能可以共享物理設(shè)備,并在沒有 CPU 和虛擬機管理程序軟件開銷的情況下執(zhí)行 I/O,即可跳過中間的虛擬化堆棧(即VMM層),以達到近乎于純物理環(huán)境的性能。
二、SR-IOV技術(shù)的優(yōu)缺點及應(yīng)用場景
SR-IOV的缺點:
1.高性能:SR-IOV技術(shù)可以降低虛擬機與物理設(shè)備之間的通信延遲,提高虛擬機的性能和響應(yīng)速度。
2.簡化管理:SR-IOV技術(shù)可以使虛擬機直接訪問物理設(shè)備,從而簡化了虛擬化環(huán)境的管理。
3.提高可靠性:SR-IOV技術(shù)可以將物理設(shè)備的錯誤隔離到虛擬機級別,從而提高了系統(tǒng)的可靠性。
4.提高安全性:SR-IOV技術(shù)將物理設(shè)備劃分成多個虛擬設(shè)備,可以使不同虛擬機之間的數(shù)據(jù)傳輸更加安全。
SR-IOV的缺點: 使用了VFs的虛擬機不能在線遷移。
應(yīng)用場景: SR-IOV技術(shù)在云計算、虛擬化、服務(wù)器應(yīng)用等領(lǐng)域得到了廣泛應(yīng)用。在云計算數(shù)據(jù)中心中,SR-IOV技術(shù)可以提高虛擬機的網(wǎng)絡(luò)和存儲性能,允許靈活的分配和管理資源,從而降低了資源消耗和成本。在服務(wù)器應(yīng)用中,SR-IOV技術(shù)可以支持高密度虛擬化、高性能計算和大規(guī)模分布式存儲。
三、如何實現(xiàn)SR-IOV功能?
前提首先SR-IOV需要軟硬都支持才行:
1)一臺支持SR-IOV的主機或服務(wù)器(主板),SR-IOV功能在BIOS中已開啟;
2)一塊支持SR-IOV且能安裝于上述設(shè)備的網(wǎng)卡。
步驟如下:確認測試的設(shè)備在BIOS打開VT-D及SRIOV支持選項;進入ESXi硬件配置頁面,找到我們需要進行配置的SR-IOV網(wǎng)卡;兩個網(wǎng)口,配置某一個網(wǎng)口為SR-IOV口。并設(shè)置虛擬VF的數(shù)量;保存配置之后,重新啟動ESXi,就可以看到硬件上出現(xiàn)對應(yīng)的虛擬網(wǎng)卡設(shè)備。這樣子我們就完成了SR-IOV配置。
-
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120230 -
BIOS
+關(guān)注
關(guān)注
5文章
469瀏覽量
45683 -
虛擬機
+關(guān)注
關(guān)注
1文章
914瀏覽量
28160 -
PCIe接口
+關(guān)注
關(guān)注
0文章
120瀏覽量
9702 -
vfs
+關(guān)注
關(guān)注
0文章
14瀏覽量
5255
發(fā)布評論請先 登錄
相關(guān)推薦
評論