個別のデバイスの割り当てを使用して NVMe 記憶装置を展開する
Windows Server 2016 以降では、個別のデバイスの割り当て (DDA) を使用して、PCIe デバイス全体を VM に渡すことができます。 これにより、デバイスのネイティブ ライバーを利用できる一方、VM 内から NVMe 記憶域やグラフィックス カードなどのデバイスに高パフォーマンスでアクセスできるようになります。 どのデバイスが動作するか、セキュリティ上どんな問題が考えられるかなどの詳細については、「個別のデバイスの割り当てを使用したデバイスのデプロイの計画」をご覧ください。DDA でデバイスを使用するには、次の 3 つの手順があります。
- DDA 用に VM を構成する
- ホスト パーティションからデバイスのマウントを解除する
- ゲスト VM にデバイスを割り当てる
すべてのコマンドは、Windows PowerShell コンソール上のホストで管理者として実行できます。
DDA 用に VM を構成する
個別のデバイスの割り当てでは、VM にいくつかの制限が課され、次の手順を実行する必要があります。
- 以下のコマンドを実行して、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
次に、デバイス マネージャーでデバイスを再度有効にすると、ホスト オペレーティング システムが再びデバイスと対話できるようになります。