WindowsServer上のHyper-V仮想マシン用にSR-IOVを構成する
SR-IOV (Single Root Input/Output Virtualization
)は、仮想マシンがホストデバイスに直接アクセスできるようにするホストハードウェアデバイス仮想化テクノロジです。さまざまなタイプのデバイスを仮想化できますが、ほとんどの場合、ネットワークアダプターを仮想化するために使用されます。この記事では、WindowsHyper-Vサーバー上の仮想マシンネットワークアダプターに対してSR-IOVを有効にして構成する方法を説明します。
SRV-IOVは、無料のWindowsHyper-Vサーバーを含むHyper-V2012+でサポートされています。 Webで完全なガイドラインを入手できるため、SR-IOVの原則については詳しく説明しません。実用的な理解のためには、SR-IOVを使用すると、VM用のホストの物理ネットワークアダプターへの直接アクセスを提供し、Hyper-V仮想スイッチによるトラフィック処理をバイパスできることを知っておくだけで十分です。 SR-IOVモードの1つの物理ネットワークアダプターは、複数の仮想マシンにサービスを提供できます。
Hyper-V仮想マシンにSR-IOVを使用することにより、スループットを大幅に向上させることができます。 、ネットワーク遅延とCPU負荷を削減 Hyper-Vソフトウェアによるネットワークトラフィックの処理によって引き起こされます。
SR-IOVはNICチーミングと互換性がありません。Hyper-VホストでSRV-IOVを有効にするには、いくつかの要件を満たす必要があります。
まず、サーバーのBIOSでSRV-IOVと仮想化のサポートを有効にします。ベンダーによっては、設定が異なる場合があります。
- 仮想化サポート:Intel(Virtualization Technology、Intel VT、VT-d、Vanderpool)、AMD(SVM、AMD-V)
- IOMMU
- SR-IOV
- ASPM
SR-IOVがなくても、すべてのアイテムがあるとは限りません。ただし、SR-IOVがサーバーでサポートされていないという意味ではありません。たとえば、SupermicroマザーボードのBIOSにはSR-IOVがない場合がありますが、デフォルトではASPMが無効になっています。 ASPMと仮想化のサポートを有効にすると、SR-IOVが自動的に有効になります。
BIOS設定でSR-IOVが無効になっているホストWindowsOSがインストールされている場合、それを有効にすると、システムはネットワークアダプターを交換したと見なします(現在の静的IPアドレスはリセットされます)。PowerShellを使用して、SR-IOVがHyper-Vサーバーでハードウェアレベルでサポートされているかどうかを確認できます。
(get-vmhost).IovSupport
(get-vmhost).IovSupportReasons
サーバーがこの機能をサポートしている場合、IovSupportにはTrue
が含まれます 。そうでない場合は、False
になります 。この場合、 IovSupportReasons 項目は、SR-IOVがサポートされていない理由を示しています。通常、理由は詳細に説明されています。一般的な理由は次のとおりです。
- システム上のチップセットは割り込みの再マッピングを行わないため、SR-IOVをサポートできません。
- プロセッサは第2レベルのアドレス変換(SLAT)をサポートしていないため、このコンピュータではSR-IOVを使用できません。 Intelプロセッサの場合、この機能は拡張ページテーブル(EPT)と呼ばれることがあります。 AMDプロセッサの場合、この機能はRapid Virtualization Indexing(RVI)またはNested Page Tables(NPT)と呼ばれる場合があります。
- PCI Expressハードウェアはルートポートでアクセス制御サービス(ACS)をサポートしていないため、このシステムではSR-IOVを使用できません。詳細については、システムベンダーにお問い合わせください。
- このコンピューターでSR-IOVを使用するには、ハードウェア機能を説明する誤った情報が含まれているため、BIOSを更新する必要があります。アップデートについては、コンピュータの製造元にお問い合わせください。
- システム上のチップセットはDMA再マッピングを行わないため、SR-IOVをサポートできません。
- SR-IOVは、I / O再マッピングハードウェアの使用を無効にするように構成されているため、このシステムでは使用できません。
- このシステムでSR-IOVを使用するには、WindowsがPCIExpressを制御できるようにシステムBIOSを更新する必要があります。アップデートについては、システムの製造元にお問い合わせください。
- システムでSR-IOVのチップセットがサポートされていること、およびBIOSでI/O仮想化が有効になっていることを確認してください。
- SR-IOVは、PCI Expressバスがないことを報告しているため、このシステムでは使用できません。詳細については、システムの製造元にお問い合わせください。
get-vmswitch | fl *iov*
コマンドにはいくつかの有用な情報が含まれています。例:
IovVirtualFunctionCount : 6 IovVirtualFunctionsInUse : 3
数値は、使用可能なIOV仮想デバイスの数と、仮想マシンで使用されているIOV仮想デバイスの数を示しています。
Hyper-V仮想スイッチを作成するときは、SR-IOVサポートオプションをオンにします—シングルルートI/O仮想化(SR-IOV)を有効にする 。
または、PowerShellを使用して仮想スイッチを作成するときにEnableIOVオプションを有効にします。
New-VMSwitch -Name "VMNetExt" -NetAdapterName "Ethernet 2" -EnableIov 1
SR-IOVがハイパーバイザーホストによってサポートされている場合、それが特定の仮想スイッチで機能することを意味するわけではありません。スイッチは、SR-IOVをサポートするネットワークアダプタにバインドする必要があります。
もう一つ重要なことがあります。マザーボードには複数のネットワークアダプタが搭載されている場合がありますが、SR-IOVはそれらの一部でのみサポートされている場合があります。さらに、SR-IOVがそのデータシートに従ってアダプタによってサポートされている場合、それがマザーボード上で機能していることを意味するわけではありません。
したがって、スイッチを構成した後、次のコマンドを使用してスイッチを確認します。
get-vmswitch | select IovSupport, IovSupportReasons, IovEnabled
IovEnabledオプションは、SR-IOVが有効かどうかを示します。
PowerShellを使用してSR-IOVをサポートするネットワークアダプターのリストを表示できます:
Get-NetAdapterSriov | sort name | ft Name, InterfaceDescription, SriovSupport
ハイパーバイザーおよび仮想スイッチレベルでSR-IOVを有効にした後、仮想マシンでSR-IOVを有効にできます(デフォルトでは無効になっています)。 SR-IOVを有効にするを見つけることができます ハードウェアアクセラレーションのオプション 仮想マシンネットワークアダプタのセクション。
または、PowerShellを介して仮想マシンのネットワークアダプターに対してSR-IOVを有効にすることができます:
Set-VMNetworkAdapter -VMName mytestvm -VMNetworkAdapterName “Network Adapter” -IovWeight 100
別のイベントビューアログを使用して、Hyper-VのすべてのSR-IOVエラーとイベントを見つけることができます:
アプリケーションとサービスのログ->Microsoft->Windows->Hyper-V-SynthNic->管理者。
SR-IOVが正常に機能している場合、仮想マシンの起動時にイベントビューアに次のエントリが表示されます。
12597 Network adapter (%NIC_ID%) Connected to virtual network. 12582 Network adapter (%NIC_ID%) started successfully. 12584 Network adapter (%NIC_ID%) allocated a virtual function. 12588 Network adapter (%NIC_ID%) assigned a virtual function.
SR-IOVは、仮想マシンとハイパーバイザーのネットワークパフォーマンスを向上させます。仮想マシンのトラフィックが多く、ホストCPUに大きな負荷がかかるHyper-VホストでSR-IOVを使用すると、最高の結果が得られる場合があります。
-
ステップバイステップ:Hyper-V Windows 10 を有効にして構成し、仮想マシンを実行する
Windows オペレーティング システムに Linux をインストールして実行する必要がありましたか? Windows PC で別の OS を実行するために、サードパーティの仮想化ソフトウェア (VirtualBox など) をインストールする必要がないことを知ってうれしいです。 組み込みの Hyper-V Windows 10 は、仮想マシンを作成して実行するために設計された専用ツールです。この機能は、Windows 10、8.1、7、または Linux を含むその他の OS の他のインスタンスを実行する仮想マシンを作成するために必要なすべての要素とインターフェイスをインストールする仮
-
3 Windows 10、8、7 向けのベスト レジストリ オプティマイザー
ウィンドウ システムのレジストリは、システムにインストールされているソフトウェアのすべての構成設定を格納するために使用される重要な階層データベースです。しかし、この情報はシステムのパフォーマンスを高速化するはずですが、時間の経過とともに圧倒される可能性があり、クリーンアップする必要があります.これは非常に重要な役割を果たしているため、専門家でない限り手動で変更しようとすると、システムに回復不能な損傷を与える可能性があります。そのため、Windows システムに最適なレジストリ オプティマイザが必要です。 使用できなくなった家庭用品を捨てる場合、製品に付属していた付属品を手放すことはありません