移行対象の仮想マシンはこれまで colinux 上で動作していたものです。元々は VMware Workstation 上で作成した仮想マシンを colinux 用に変換したものでしたので、以下の手順で再度 VMware 用に変換できました。
VMware で仮想マシンを動作させる際に注意が必要な点としては 2.6 カーネルをゲストに使用すると時刻が進んでしまったり、遅れてしまったりする現象があります(このあたりはcoLinuxやXenなど、ハードウェアエミュレーションではなく準仮想化的アプローチのほうがホストとの時刻同期は正確です)。この問題については、もちろんハードウェア構成やホスト OS 構成、使用する Linux カーネルなどの条件がからむため一概には言えないようですが、 Linux カーネル時のオプション指定(※1)と VMware Tools に含まれる vmware-guestd の時刻同期機能(※2)の設定を行ったところ、今回のケースでは他のシステムと最大でも2~3秒程度のズレの範囲で維持できるようになりました(実際のところ、先走ったり遅れたりはしています...)。
nosmp noapic nolapic clock=pit … (※1) tools.syncTime = "TRUE" … (※2)
【作業概要】
- 適当な Linux ベースの仮想マシン(以後作業用VM)に、マイグレーション先の仮想ハードディスクを設定
- 作業用VMを起動
- 作業用VMでマシン上にファイルシステムを作成
# fdisk /dev/sdb ※パーティーション sdb1 (Linux), sdb2 (Linux swap) を設定 # mkfs.ext3 /dev/sdb1 # mkswap /dev/sdb2 # mkdir /mnt/new_image # mount /dev/sdb1 /mnt/new_image
- 作業用VMから Windows Server 2003 上の仮想マシンイメージをマウント
# mkdir /mnt/foo /mnt/orig_image # mount -t msdos -o username=administrator //ws2003/foo /mnt/foo # mount -o ro,loop /mnt/foo/hoge.ext3 /mnt/orig_image
- 作業用VMにて、仮想マシンのイメージを新しいディスクイメージにコピー
# cd /mnt/orig_image; tar cf - * | tar xvf - -C /mnt/new_image
- fstab, grub.lst などの設定見直し
GRUB起動パラメータ (Linux 2.6カーネルの時刻ズレ対策) kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/sda1 ro (続) nosmp noapic nolapic clock=pit
- 作業用VMからディスクイメージをアンマウントし、新しいVMにマウント
- GRUB ISOイメージで起動し、ブートローダをインストール
- VM起動確認
- VMware Toolsのインストール
- VM の .vmx ファイルに以下の設定を追加(変更)
tools.syncTime = "TRUE"
0 件のコメント:
コメントを投稿