Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Vylepšení operací I/O síťového rozhraní SR-IOV ve virtualizovaném prostředí v systému Windows Server 2012

Summary: Řešení aplikací a operačního systému Dell na kanálu Dell TechCenter – Project Sputnik, Microsoft Windows, Red Hat Linux, SUSE, Ubuntu a další

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Tento příspěvek původně napsali Abhijit Khande a Vineeth V Acharya z týmu DELL Windows Engineering Team.

Komentáře jsou vítány! Chcete-li navrhnout téma nebo vznést jiné komentáře, kontaktujte
WinServerBlogs@dell.com.


S operačním systémem Microsoft® Windows Server® 2012 Beta zavedla společnost Microsoft podporu řady funkcí v síťovém prostoru. Jednou z takových významných a zajímavých vlastností je Virtualizace s jedním kořenem I/O (SR-IOV), který umožňuje virtuálním počítačům sdílet jedno zařízení PCI-e. Tento příspěvek poskytuje základní přehled funkce SR-IOV v systému Windows Server 2012 Beta a jak drasticky snižuje využití procesoru ve virtualizovaném prostředí během síťových vstupně-výstupních operací.

Rozhraní SR-IOV představuje rozšíření specifikací PCI Express (PCIe). Technologie SR-IOV umožňuje jednomu zařízení PCIe, například síťovému adaptéru, poskytnout více odlehčených hardwarových povrchů na sběrnici PCI a oddělit přístup k jejím zdrojům mezi různými instancemi. Toho je dosaženo použitím více virtuálních funkcí (VF) kromě (obvyklé) fyzické funkce (PF). Vzhledem k tomu, že je závislá na hardwaru, musí tuto funkci podporovat zařízení PCIe i platforma. 

Paket určený pro virtuální počítač je tradičně přijímán fyzickým síťovým adaptérem (pomocí fyzické funkce), který se nachází v hostitelském operačním systému. Tento paket je zpracováván modulem ovladače NDIS (Network Driver Interface Specification for NICs). Paket je pak poskytnut přepínači Hyper-V, který paket zpracuje (například směrování, filtrování VLAN) a předá paket do cílového virtuálního počítače prostřednictvím VMBus, jak je znázorněno na obrázku 1. Reverzní cesta bude následovat, když virtuální počítač musí odeslat paket.

 S nástrojem SR-IOV může virtuální počítač pomocí virtuální funkce (VF) odesílat a přijímat pakety přímo do fyzického síťového adaptéru a zcela obejít tradiční cestu, jak je znázorněno na obrázku 1. To nejen zvyšuje síťové vstupně-výstupní operace, ale také snižuje režii procesoru hostitelského počítače.
SLN312240_en_US__1i_OSandApplications_Virtualized_Environment1_2012_N_V1
Obrázek 1: Cesta k datům s funkcí SR-IOV a bez ní

Migrace za provozu a SR-IOV

V systému Windows Server 2012 Beta je možné migraci za provozu provádět pomocí funkce SR-IOV používané virtuálním počítačem. Pokud zdrojový a cílový systém podporují SR-IOV a cíl má k dispozici VF, virtuální počítač použije virtuální funkci. Pokud ne, virtuální počítač se vrátí k tradiční cestě (VM-Bus).

Každý síťový adaptér s podporou funkce SR-IOV zpřístupňuje pevný počet virtuálních funkcí, které lze získat spuštěním příkazu PowerShell "Get-NetAdapterSriov".


Analýza výkonu

V naší laboratoři jsme provedli několik testů, abychom porovnali výkon s technologií SR-IOV a bez jejího použití. Testovací prostředí se skládá z jednoho testovacího serveru (na kterém se testy provádějí) a jednoho souborového serveru. Testovacím serverem je Dell PowerEdge™ R710 II s 10GB ethernetovým adaptérem Intel® X520 a operačním systémem Windows Server 2012 Beta. Souborový server je hostitelem několika sdílených složek SMB a je připojen k testovacímu serveru pomocí 10GB sítě prostřednictvím přepínače Dell PowerConnect™ 8024.

Údaje o výkonu jsme zaznamenali z hlediska procesoru používaného DPC (Deferred Procedure Call) naplánovaným různými moduly ovladačů, které se účastní síťového přenosu dat. Tato data byla zachycena v hostovaném i hostitelském operačním systému, jak je popsáno v následujících scénářích. Testovací server má 4 identické virtuální počítače se systémem Windows Server 2012 Beta jako hostovaným operačním systémem. 4 virtuální počítače jsou připojeny k 10GB síti prostřednictvím virtuálního přepínače. Tato testovací konfigurace je znázorněna na obrázku 2.
SLN312240_en_US__2i_OSandApplications_Virtualized_Environment2_2012_N_V1
Obrázek 2: Konfigurace
testu Než si představíme údaje o výkonu, je důležité představit velmi důležitý parametr používaný pro toto testování. V dialogovém okně Microsoft Windows Existuje systémový mechanismus nazvaný Deferred Procedure Call (DPC), který umožňuje úlohy s vysokou prioritou (např. Obslužná rutina přerušení), chcete-li odložit požadované, ale úlohy s nižší prioritou na pozdější spuštění. To umožňuje ovladačům zařízení a dalším příjemcům událostí nízké úrovně rychle provádět část zpracování s vysokou prioritou a plánovat další zpracování s nižší prioritou.


1. scénář – výsledky výkonu ve virtuálním počítači (hostovaný operační systém):

Pro tento scénář jsme použili čtyři virtuální počítače (VM 1 až VM 4). Povolili jsme funkci SR-IOV na virtuálních počítačích 1 a 2 (zaškrtnutím možnosti "Enable SR-IOV" v nastavení virtuálního počítače) a zakázali jsme funkci SR-IOV na virtuálních počítačích 3 a VM 4 (zrušením zaškrtnutí stejné možnosti). Proto virtuální počítače 1 a VM 2 budou používat virtuální funkci (vystavenou adaptérem Intel), zatímco virtuální počítače 3 a VM 4 budou používat syntetickou cestu (VMBus) pro jakoukoli síťovou komunikaci, jak je znázorněno na obrázku 2.

Začali jsme kopírovat data (o velikosti 20 GB) z jedné sdílené složky SMB do virtuálních počítačů a zachytili jsme protokoly využití systémového procesoru v hostovaném operačním systému.
SLN312240_en_US__3i_OSandApplications_Virtualized_Environment3_2012_N_V1
Obrázek 3: Využití DPC CPU ve virtuálním počítači

Na obrázku 3 označuje SR-IOV průměrné využití DPC CPU ve VM-1 a VM-2 a Non-SR-IOV odkazuje na průměrné využití DPC CPU ve VM-3 a VM-4. Pokud se podíváme na graf, vidíme, že mezi těmito dvěma případy není velký rozdíl ve využití procesoru, ale ještě jsme nezohlednili využití procesoru v hostitelském počítači.


2. scénář - výsledek výkonu v hostitelském počítači (hostitelský operační systém):

Pro tento scénář jsme použili jeden virtuální počítač. Začali jsme kopírovat data (o velikosti 20 GB) ze sdílené složky SMB do virtuálního počítače a zaznamenali jsme využití DPC CPU 2 modulů, NDIS a VMBUS, které se používají v síťových I/O.
SLN312240_en_US__4i_OSandApplications_Virtualized_Environment4_2012_N_V1
Obrázek 4: Využití DPC CPU v hostitelském stroji
Výsledky jsou uvedeny na obrázku 4. Jak se dalo očekávat, využití procesoru se podle očekávání výrazně liší mezi těmito dvěma případy (SR-IOV a Non-SR-IOV). Využití procesoru je řádově 102 v případě SR-IOV a 103–104 v případě non-SR-IOV. Je to hlavně proto, že v případě SR-IOV virtuální počítač přímo komunikuje s fyzickou síťovou kartou prostřednictvím virtuální funkce. Cykly procesoru hostitele se proto nepoužívají ke zpracování žádných síťových paketů. V případě jiného typu než SR-IOV (jak je znázorněno na obrázku 1) komunikuje hostovaný operační systém s hostitelským operačním systémem prostřednictvím sběrnice virtuálního počítače, která následně zpracovává pakety a odesílá je prostřednictvím fyzické síťové karty. Proto se hojně používají moduly jako VM Bus a NDIS.

Při výpočtu celkového využití procesoru zjistíme, že při použití SR-IOV je využití procesoru během síťových I/O mnohem menší. Systém Windows Server 2012 Beta s povolenou funkcí SR-IOV proto pomůže zákazníkům snížit režii procesoru během síťových vstupně-výstupních operací, a tím zlepšit celkový výkon systému.

 

Cause

Konfigurace rozhraní SR-IOV pomocí prostředí PowerShell

Pomocí následujících příkazů PowerShell můžete vytvořit nový virtuální přepínač s povolenou funkcí SR-IOV a připojit virtuální přepínač k virtuálnímu síťovému adaptéru existujícího virtuálního počítače.

POZNÁMKA: Před spuštěním následujících příkazů je třeba v systému BIOS povolit následující možnosti
  • Technologie virtualizace
  • Povolit SR-IOV Global
(Za předpokladu, že je připojen jeden síťový adaptér (Intel X520))

$NetAdap = Get-NetAdapter | where-object { $_. Status -eq "Up"}(Přepínač -EnableIov se používá k povolení funkce SR-IOV ve virtuálním přepínači)

New-VMSwitch -Name "SRIOV Switch" -NetAdapterName $NetAdap.Name -AllowManagementOS $True -Notes "SRIOV Switch on X520" -EnableIov $True

$VMSw = Get-VMSwitch
Přidání nového síťového adaptéru k VM-1 a jeho připojení k virtuálnímu přepínači.





Add-VMNetworkAdapter -SwitchName $VMSw.Name -VMName VM-1 -Name "SRIOV Adapter"


POZNÁMKA:Aby tento příkaz fungoval, musí být virtuální počítač vypnutý
)Pomocí následujících příkazů můžete také použít již existující síťový adaptér virtuálního počítače)

$VMNet = Get-VMNetworkAdapter -VMName VM-1

Connect-VMNetworkAdapter -VMName VM-1 -SwitchName $VMSw.Name -Name $VMNet.Name

Každý síťový adaptér virtuálního počítače má dvě vlastnosti, IovWeight a VmqWeight, které odpovídají SR-IOV a VMQ.  Nastavením těchto vah tyto funkce povolíte nebo zakážete.

Resolution

Chcete-li povolit funkci SR-IOV, nastavte hodnotu IovWeight na hodnotu 100. Chcete-li zakázat funkci SR-IOV, nastavte hodnotu IovWeight na hodnotu 0 (výchozí)

Set-VMNetworkAdapter -VMName VM-1 -VMNetworkAdapterName $VMNetName -IovWeight 100

, kde $VMNetName je název síťového adaptéru virtuálního počítače připojeného k přepínači SRIOV.

 
Další informace naleznete na následujících odkazech:

Affected Products

Servers
Article Properties
Article Number: 000129905
Article Type: Solution
Last Modified: 20 Sept 2021
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.