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名