Edited at

XenからKVMへのゲストイメージ変換

More than 3 years have passed since last update.

RedHatがRHEL6系から仮想化ソフトウェアがXenからKVMに変更されたため

古いサーバで動作しているゲストOSを、KVMに変換しつつホストOSを引越しする。

旧ホスト(CentOS5)から新ホスト(CentOS7)へ移行する手順。

参考サイトに情報があったが、多少変わっている部分もあったので手順を載せておく。

https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Virtualization_for_Desktops/2.2/html/Administration_Guide/virt-v2v-scripts.html

http://blog.tsunokawa.net/entry/20111109/p1

https://blog.tnmt.info/2010/02/08/migrate-vm-xen-to-kvm-on-centos5/


旧ホスト(Xen)作業 「CentOS5」


1.ミドルウェアインストール

Xenで動作しているゲストOSに、インストールしておく。

yum install kernel grub


2.設定の変更

この設定を行った後シャットダウンすると、Xen側では起動しなくなるので注意。

vi /boot/grub/grub.conf

kernel /vmlinuz-2.6.18-238.el5xen ro root=/dev/VolGroup00/LogVol00 consoole=xvc0


kernel /vmlinuz-2.6.18-238.el5xen ro root=/dev/VolGroup00/LogVol00 consoole=xvc0 console=ttyS0,115200n8

vi /etc/inittab

co:2345:respawn:/sbin/agetty xvc0 115200 vt100-nav


co:2345:respawn:/sbin/agetty ttyS0 115200 vt100-nav

(もしくは追記)

vi /etc/securetty

ttyS0

(追記)


3.定義ファイルの出力

virsh dumpxml VM名 > /tmp/VM名.xml

以上の3点を行い、ゲストOSをシャットダウンさせたら

xmlファイル、imgファイルを新ホストにコピーする。

(imgファイルを退避させる場所があれば、1台のサーバで新OSをインストールし直して移行する事も出来る)


新ホスト(KVM)作業 (CentOS7)

CentOS7をインストールする時に、パッケージ「仮想化」をインストールしておく。


1.ストレージプールの作成

作成する

virsh pool-create-as default --print-xml dir null null null null /var/lib/libvirt/images > default.xml

virsh pool-create default.xml

確認する

virsh pool-list


2.イメージのコンバート

旧OS側で作成した、xmlファイルを編集しておく。


  • 新ホスト側のimgファイルのパスに変更する

  • brigeの名前を変更する(xenbr0→virbr0など)

virt-v2v -v -x -i libvirtxml VM名.xml -os default

コンバートが終わったら起動するはず。

virsh start VM名

virsh console VM名