Nested VMのkvm_buf_set_msrsエラー

KVMでNested VMを動かそうとした際に以下のエラーを吐いて動かなかったので備忘録.

1
qemu-kvm: ../target/i386/kvm/kvm.c:2996: int kvm_buf_set_msrs(X86CPU *): Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed

経緯

oVirtと呼ばれる仮想マシン管理ソフトウェアがどんなものか試そうとしていました.
実機で検証する環境が手元になかったので既にあるQEMU/KVM上でVMとして動かしました.
状況は以下の通り

oVirt Manager(Nested VM)
-———————–
oVirt(VM)
-———————–
Host(QEMU/KVM)

Hostで適当にVMを作っただけではoVirtのインストール時に途中で
oVirt Manager VMをデプロイするタイミングでエラーを吐いて終了する事態となりました.

エラーの内容は冒頭の通りでKVMへのアクセスができていないような感じです.

1
qemu-kvm: ../target/i386/kvm/kvm.c:2996: int kvm_buf_set_msrs(X86CPU *): Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed

原因と解決

Nested VMの設定が不完全だったのが原因でした.
cpuのmodeを”host-passthorugh”とすることで動くようになりました.

単純なミスでしたが気づくまでに時間がかかってしまいました.

関連記事