KVMでのゲストマシンをCentOS6ホストからCentOS7ホストへ移行


はじめに

KMVを用いた仮想マシンにおけるゲストマシンをCentOS6ホストからCentOS7ホストへ移行させたときのメモをまとめます。

移行元マシン(CentOS6)での操作

現在のゲストマシンを確認

$ virsh list --all

移行対象マシンが停止していることを確認する

移行対象のゲストマシンのXMLを出力

$ virsh dumpxml guest_machine01 > guest_machine01-backup.xml

guest_machine01は登録されているゲストマシン名

qcow2ファイルとXMLファイルを移行先マシンへ移動

移行先マシン(CentOS7)での操作

XMLファイルの修正

XMLファイルからマシンを立ち上げるためにコピーしてきたXMLファイルを修正する

<address type='pci'/>のタグを全て削除

仮想マシンに対するPCIデバイスの割り当てはマシンで異なるので削除

後述のvirsh defineで自動で新たに割り当てられる。

driverタグ内のcacheアトリビュートとnativeアトリビュートを削除

<driver name='qemu' type='qcow2' cache='writeback' io='native'/>

<driver name='qemu' type='qcow2'/>

sourceタグbridgeアトリビュートを移行先マシンのブリッジに修正

<source bridge='lan_br'/>
sourceタグfileアトリビュートのqcow2ファイル保存先を移行先マシンのものへ修正

<source file='/storage/qcow2/guest_machine01.qcow2'/>

XMLファイルからゲストマシンをドメイン登録

$ virsh define guest_machine01.xml

XMLファイルから仮想マシンを立ち上げる

$ virsh create guest_machine01.xml

仮想マシンが起動されます