VMware Server上で動いている仮想マシンからXen on Debianへの移植作業に成功したので、手順を晒しておきます。
元環境:VMware Server on Vine3.1 (PentiumM)
新環境:Xen 3 on Debian etch(Athlon X2)
移行対象:Debian etch
ステップ1:VMware Serverから仮想サーバーのディスクイメージを取り出す
まずは、必要なパッケージのインストール。カーネルは不要だが、/lib/modules/2.6.18-5-xen-686以下は必要。またlibc6-xenがないと、”4gb seg fixup”なるメッセージがこれでもかっ!というくらい出てくるので入れておく。
$ sudo aptitude install xen-linux-system-2.6.18-5-xen-686 libc6-xen
ターゲットのサーバーを停止します。
$ sudo shutdown -h now
シャットダウンしたらVMwareコンソールからsnapshotを取っている場合はsnapshotを削除しておく。
次は、イメージの変換でVMware独自のvmdkファイルをrawフォーマットに変換する。Linux上で作業したい場合は、QEMUのホームページからダウンロードしてビルドする。ただ欲しいのは、eqmu-imgコマンドだけなので次で十分である。
./configure –disable-gfx-check
make qemu-img
Windowsで変換するのであれば、QEMU on Windows
からバイナリーを落とせばよい。
で、次のとおり変換する。出力されるサイズが大きいので要注意。
qemu-img convert -f vmdk hoge.vmdk -O raw hoge.img
そんでもってそれをXenのサーバーにコピーして適当な場所に配置する。ネットワーク経由だとこれがまた時間がかかる。
ステップ2:Xen Serverの構成
これは、Xen on etchのページを参考にした。
まずは必要なパッケージをインストール
$ sudo aptitude xen-linux-system-2.6.18-5-xen-686 libc6-xen
Domain0のメモリーを制限する。/boot/grub/menu.datを次のようにする
kernel /xen-3.0.3-1-i386-pae.gz dom0_mem=524288
xend-config.sxpの次の行のコメントをはずしてブリッジを使えるようにする。
(network-script network-dummy)
ステップ3:新しいDomainUサーバーの構成
そして次のような設定ファイルを/etc/xen/hoge.cfgとして作成
#
# Configuration file for the Xen instance hoge, created on
# Sun Dec 9 18:46:42 2007.
##
# Kernel + memory size
#
kernel = ‘/boot/vmlinuz-2.6.18-5-xen-686′
ramdisk = ‘/boot/initrd.img-2.6.18-5-xen-686′memory = ’128′
#
# Disk device(s).
#
root = ‘/dev/sda1 ro’
#root = ‘/dev/sda1 rw’disk = [ 'file:/home/xen/domains/hoge/hoge.img,sda,w' ]
#
# Hostname
#
name = ‘hoge’#
# Networking
#
vif = [ '' ]#
# Behaviour
#
on_poweroff = ‘destroy’
on_reboot = ‘restart’
on_crash = ‘restart’
最後に起動する。そのままコンソールが使えるのでrootでログインする。
$ sudo xm create -c /etc/xen/hoge.cfg
起動すると、新しいインターフェースが eth1になったりしているのでもうVMware Serverに戻るつもりがないのなら、新しい仮想イーサカードをeth0にする。/etc/udev/rules.d/z25_persistent-net.rulesを開いて新しいMACアドレスをeth0にして古いエントリーはコメントアウトしておく。
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.# PCI device 0x10ec:0×8167 (r8169)
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==“xx:xx:xx:xx:xx:xx”, NAME=”eth0“
上の、xx…の部分が新しいMACアドレスなので次回以降も同じMACアドレスになるように、Domain0上の/etc/xen/hoge.cfgに書いておく。
vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=xenbr0' ]
最後に、 keymap.shが起動時にエラーが出るので無効にしておく。
$ sudo update-rc.d -f keymap.sh remove
これでDomainUを再起動すると移植完了である。試していないが、逆の手順でやればXen→VMware Serverも可能だろう。
よろしければ、コメントをどうぞ。トラックバックはこちら
このエントリーのコメントの購読
次のHTMLタグが使えます。: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">