2018/11/26

Hyper-V Tips: vTPM が有効な仮想マシンのエクスポート/インポート

Windows Server 2016 以降の Hyper-V(および Windows 10 のクライアント Hyper-V)は、UEFI ベースの第 2 世代仮想マシンで仮想的な TPM (vTPM) を有効化できます (ホストに物理 TPM がなくても)。この TPM は主に Host Guardian Service (HGS) によるシールドされた VM (Shielded VM) のために追加された機能なんですけど、HGS を展開していなくても、シールドしなくても (VHD(x) の暗号化しなくても)、ゲストで TPM 2.0 を使いたいというためだけにも有効化できます。でも、HGS を展開していない環境だと(シールドもしていない仮想マシンでも)、仮想マシンの vTPM は基本的にその Hyper-V ホストだけで有効なデバイスであって、vTPM が有効化された仮想マシンを他のホスト (UntrustedGuardian なホスト) に移動すると次のようなメッセージを表示して起動してくれません。そして、移動先で vTPM をオフ/オンしても状況は変わりません(Set-VMKeyProtector とかで再設定しても NG でした)。

'vmname' は起動できませんでした。
'vmname' は初期化できませんでした。
キーの保護機能をラップ解除できませんでした。詳細は HostGuardianService-Client イベント ログに含まれています。
...
'vmname' は、ワーカー プロセスを開始できませんでした: 無効な引数があります (0x80080057)。..
..



仮想マシンのエクスポート/インポートとかして(たぶん、非 HGS なクラスター環境のライブ マイグレーションでも)、このメッセージに出会うたびに、そういえばそうだったと思い、結局 TPM をオフにして起動できるようにしていたのですが、別の方法があることを見つけました。


移動元(エクスポート元)の Hyper-V ホストのローカル コンピューターの証明書ストア(Certlm.msc)の「シールド VM のローカル証明書」にある 2 つの証明書 (Shielded VM Encryption/Signing Certificate (UntrustedGuardian) (ホスト名))を選択して PFX ファイルにエクスポート(秘密キー付き、パスワード付きで)。ニコイチで 1 つの PFX ファイルにエクスポートできます。

移動先 (インポート先) の Hyper-V ホストのローカル コンピューターの証明書ストアの同じ場所に PFX ファイルをインポートして、仮想マシンをオン!


Windows Server 2016 Hyper-V から Windows Server 2019 Hyper-V に仮想マシンを移行する作業を今後、実施する場合に、知っておくとよいかも。注:移動元の Hyper-V ホストを撤去してしまった場合は、もう遅い。TPM オフでやるか、仮想マシンを新規作成して VHD(x) をくっつけるか...


以上

参考:
Hyper-V 2016 Shielded Virtual Machines on Stand-Alone Hosts
https://www.altaro.com/hyper-v/hyper-v-2016-shielded-virtual-machines-stand-alone-hosts/

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。