Edited at

QEMU/KVM の環境をCentOSからDebianに移設するときのポイント

CentOS6.9の環境を捨て、Debian9に移行しました。

そのとき、仮想環境の持ち出し、移植をしたので、そのときのメモです。


移設のポイント

3つだけ。ディレクトリ構成を変えなければ、2つだけ。さらに、そのうち1つは、kvmのバージョンの影響。

- emulatorの変更 (centosとdebianの違いから、ほぼほぼmust)

- machineの変更 (選択したマシーンによるけど、無意識に使っていたなら、ほぼmust)

- source fileの変更 (引っ越し後のディレクトリ構成を変更したなら、must)

なお、/etc/libvirt/qemuというフォルダ構成は、centos/debianともに同じです。


emulatorの変更

Before

    <emulator>/usr/libexec/qemu-kvm</emulator>

After

    <emulator>/usr/bin/kvm</emulator>

変更するコマンドはこちら。xmlファイルへのパスは、適当に設定してください。root権限がいります。

# sed -i".bk" -e "s/libexec\/qemu-kvm/bin\/kvm/" *.xml


machineの変更

Before

    <type arch='x86_64' machine='rhel6.6.0'>hvm</type>

After

    <type arch='x86_64' machine='pc-i440fx-2.8'>hvm</type>

変更するコマンドはこちら。

# sed -i".bk" -e "s/rhel6\.6\.0/pc-i440fx-2\.8/g" *.xml


source fileの変更

変更対象は、ここです。

    <source file='/dir/to/my/myvirt.raw'/>

移設先のフォルダ構成が同じなら、変更の必要はないです。

今回は、同じ構成なのでしたので、設定例は割愛。


おまじない#1 - virtに登録

変更したxmlの情報を、登録し、実行可能状態にします。

ここでは、myvirt.xmlとします。

# virsh define myvirt.xml


おまじない#2 - virt-managerを再起動

GUIとして、virt-managerを使っている場合は、デーモンの再起動をしたほうがよい。

しなくても、いける

# systemctl restart libvirtd

これで、移植作業は終わり

テキスト操作ばかりなので、バッチ化すれば、多くの仮想マシンの移設も簡単


おまじない#3 TAPの準備

VMのwindows remote desktopを使う場合は、TAPgないと、つながらない。

よって、tapの準備もしておく

auto br0

iface br0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
bridge_ports eth0 tap0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
pre-up ip tuntap add dev tap0 mode tap user root
pre-up ip link set tap0 up
post-down ip link set tap0 down
post-down ip tuntap del dev tap0 mode tap

[EOF]