PR

[Linux] Xen イメージをVMware イメージに変換する

1台の物理マシンがあり、Xen がインストールされている。ここではXen のイメージファイル(.img)をVMware のイメージファイル(.vmdk)に変換する。

簡単な構成は以下のとおり。

  • 192.168.1.14 Domain0(ホスト) CentOS
    • 192.168.1.21 DomainU(ゲスト) CentOS
    • xx.xx.xx.xx DomainU(ゲスト) ほか
    • xx.xx.xx.xx DomainU(ゲスト) ほか
  • 192.168.1.17 WindowsXP
  • 192.168.1.19 Windows7

スポンサードリンク

準備(ホストで作業)

FTPやSFTP、WinSCP など何らかの手段でホストに接続し、Xen のイメージファイルをバックアップする。

参考:

ちなみに、構成ファイル「/etc/xen/SVVCO51」を開き、「disk = [ “tap:aio:/var/lib/xen/images/SVVCO501.img,xvda,w” ]」のような記述を見ると場所を知ることができる。この例の場合、「/var/lib/xen/images/SVVCO501.img」がイメージファイルの場所。

環境の変更(ゲストで作業)

現在のままではXen に対応したkernel や環境で起動してしまう。そこで、通常の環境で起動するように設定を変更する。

モジュールの準備

yum install -y grub kernel

vi /boot/grub/menu.lst

ファイルを開くと以下のようになっている。

title CentOS (2.6.18-194.26.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.26.1.el5 ro root=/dev/VolGroup00/LogVol00 console=xvc0
initrd /initrd-2.6.18-194.26.1.el5.img

上記を以下のように変更する

kernel /vmlinuz-2.6.18-194.26.1.el5 ro root=/dev/VolGroup00/LogVol00 console=xvc0

kernel /vmlinuz-2.6.18-194.26.1.el5 ro root=/dev/VolGroup00/LogVol00

vi /etc/inittab

# Run gettys in standard runlevels
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

上記のようになっているものを、以下のように変更する。

# Run gettys in standard runlevels
#co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

vi /etc/modprobe.conf

alias eth0 xennet
alias scsi_hostadapter xenblk

上記のようになっているものを、以下のように変更する。

alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix

イメージファイルの変換(ホストで作業)

モジュールの準備

yum install qemu

イメージファイルの変換

qemu-img convert /var/lib/xen/images/SVVCO501.img -O vmdk /root/SVVCO501.vmdk

※20Gのイメージファイルで30分程度かかった。
※次回以降でこのイメージファイルをVMware Server に読み込ませる作業に入るので、作成したSVVCO501.vmdk をWindows PC や共有ストレージなどに転送しておく。

参考文献

コメント