個別のデバイスの割り当てを使用して NVMe 記憶装置を展開する

適用対象: Windows Server 2022、Windows Server 2019、Microsoft Hyper-V Server 2016、Windows Server 2016

Windows Server 2016 以降では、個別のデバイスの割り当て (DDA) を使用して、PCIe デバイス全体を VM に渡すことができます。 これにより、デバイスのネイティブ ライバーを利用できる一方、VM 内から NVMe 記憶域やグラフィックス カードなどのデバイスに高パフォーマンスでアクセスできるようになります。 どのデバイスが動作するか、セキュリティ上どんな問題が考えられるかなどの詳細については、「個別のデバイスの割り当てを使用したデバイスのデプロイの計画」をご覧ください。DDA でデバイスを使用するには、次の 3 つの手順があります。

  • DDA 用に VM を構成する
  • ホスト パーティションからデバイスのマウントを解除する
  • ゲスト VM にデバイスを割り当てる

すべてのコマンドは、Windows PowerShell コンソール上のホストで管理者として実行できます。

DDA 用に VM を構成する

個別のデバイスの割り当てでは、VM にいくつかの制限が課され、次の手順を実行する必要があります。

  1. 以下のコマンドを実行して、VM の「自動停止アクション」を TurnOff に設定します
Set-VM -Name VMName -AutomaticStopAction TurnOff

ホスト パーティションからデバイスのマウントを解除する

デバイスのロケーション パスを特定する

デバイスをマウント解除してホストからマウントするには、PCI ロケーション パスが必要です。 ロケーションパスの例は次のようになります。"PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)" 検索されたロケーション パスの詳細については、「個別のデバイスの割り当てを使用したデバイスのデプロイの計画」を参照してください。

デバイスを無効にする

デバイス マネージャーまたは PowerShell を使用して、デバイスが無効になっていることを確認します。

デバイスのマウントを解除する

Dismount-VMHostAssignableDevice -LocationPath $locationPath

ゲスト VM にデバイスを割り当てる

最後ステップでは、VM がデバイスにアクセスする必要があることを Hyper-v に指示します。 上記で見つかったロケーション パスに加えて、VM の名前を把握しておく必要があります。

Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName

次の内容

デバイスが VM に正常にマウントされると、その VM を起動して、ベア メタル システムで実行されていた場合と同じように、通常どおりにデバイスと対話できるようになります。 これを確認するには、ゲスト VM でデバイス マネージャーを開き、ハードウェアが表示されていることを確認します。

デバイスを削除してホストに戻す

デバイスを元の状態に戻す場合は、VM を停止し、以下のコマンドを発行する必要があります。

#Remove the device from the VM
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
#Mount the device back in the host
Mount-VMHostAssignableDevice -LocationPath $locationPath

次に、デバイス マネージャーでデバイスを再度有効にすると、ホスト オペレーティング システムが再びデバイスと対話できるようになります。