第5章 Q35 マシンタイプへの仮想マシンの変換
RHEL 10 では、i440fx マシンタイプが非推奨になりました。このタイプは今後の RHEL メジャーバージョンで削除される予定です。また、q35 マシンタイプを使用すると、i440fx と比較して、Advanced Host Controller Interface (AHCI) や仮想入出力メモリー管理ユニット (vIOMMU) エミュレーションなど、追加の利点が得られます。
したがって、Red Hat では、i440fx を使用する仮想マシン (VM) を、q35 を使用するように変換することを推奨しています。なお、まだ定義していない仮想マシン設定を変換することもできます。
仮想マシンのマシンタイプを変更することは、物理マシンのマザーボードを変更することに似ています。そのため、仮想マシンのマシンタイプを i440fx から q35 に変換すると、場合によってはゲストオペレーティングシステムの機能に問題が発生する可能性があります。
前提条件
RHEL 10 ホスト上の仮想マシンが
i440fxマシンタイプを使用している。これを確認するには、次のコマンドを使用します。virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='pc-i440fx-10.0.0'>hvm</type>
# virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='pc-i440fx-10.0.0'>hvm</type>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンの元の設定がバックアップ済みであり、その設定を必要に応じて変換や障害復旧に使用できる。
virsh dumpxml <vm-name> > <vm-name>-backup.xml
# virsh dumpxml <vm-name> > <vm-name>-backup.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
未定義の仮想マシンについては、次の手順を実行します。
Q35 を使用するように仮想マシンの設定を調整します。元の設定として、以前に作成したバックアップファイルを使用します。
cat <vm-name>-backup.xml | virt-xml --edit --convert-to-q35 > <vm-name-q35>.xml
# cat <vm-name>-backup.xml | virt-xml --edit --convert-to-q35 > <vm-name-q35>.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンを定義します。
virsh define <vm-name-q35>.xml
# virsh define <vm-name-q35>.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
定義済みの仮想マシンについては、次の手順を実行します。
Q35 を使用するように仮想マシンの設定を調整します。
virt-xml <vm-name> --edit --convert-to-q35
# virt-xml <vm-name> --edit --convert-to-q35Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンが実行中の場合はシャットダウンします。
virsh shutdown <vm-name>
# virsh shutdown <vm-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
仮想マシンのマシンタイプを表示します。
virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='q35'>hvm</type># virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='q35'>hvm</type>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 仮想マシンを起動し、ゲストオペレーティングシステムにログインできることを確認します。
トラブルシューティング
マシンタイプを変更したことにより仮想マシンが機能しなくなった場合は、バックアップした設定に基づいて新しい仮想マシンを定義します。
virsh define <vm-name>-backup.xml
# virsh define <vm-name>-backup.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow