FreeBSD(物理)をVMware ESXi(仮想)へ移行する[P2V]
手順を簡単にメモ(抜けがあるかも。。)
VMware ESXiに作業用FreeBSDを作成する。
作業用FreeBSDは移行元のFreeBSDと同じバージョンにした。
VMware ESXiに移行先用の仮想マシン(OSはインストールしない)を作成し、
さきほど作成した作業用FreeBSDにハードディスクとして追加する。
作業用FreeBSDからsysinstallを実行。
Select Driveで追加したハードディスク(da1)を選択しスライス、パーティションを作成する。
wで書き込んだらctrl+cで終了する。
df -h でマウントされているのを確認
# df -h /dev/da1s1a 669M 20k 615M 0% /mnt /dev/da1s1e 426M 8.0k 392M 0% /mnt/tmp /dev/da1s1f 4.3G 8.0k 3.9G 0% /mnt/usr /dev/da1s1d 1.7G 8.0k 1.5G 0% /mnt/var
作業用FreeBSDにrootでsshログインできるようにしておく。
移行するFreeBSD(物理サーバ)からデータを作業用FreeBSDへコピー
# dump -0aLf - /dev/ad0s1a | gzip -2| ssh root@作業用FreeBSDのIP "dd of=/tmp/dump-root.gz" # dump -0aLf - /dev/ad0s1e | gzip -2| ssh root@作業用FreeBSDのIP "dd of=/tmp/dump-tmp.gz" # dump -0aLf - /dev/ad0s1d | gzip -2| ssh root@作業用FreeBSDのIP "dd of=/tmp/dump-var.gz" # dump -0aLf - /dev/ad0s1f | gzip -2| ssh root@作業用FreeBSDのIP "dd of=/tmp/dump-usr.gz"
※Lオプションが使えるのはFreeBSD5.0以降
このデータをマウントしている移行先FreeBSDへリストア
# cd /mnt/tmp && gzip -dc < /tmp/dump-tmp.gz | restore -rf - # cd /mnt && gzip -dc < /tmp/dump-root.gz | restore -rf - # cd /mnt/var && gzip -dc < /tmp/dump-var.gz | restore -rf - # cd /mnt/usr && gzip -dc < /tmp/dump-usr.gz | restore -rf -
リストアしたら、マウントするデバイス名も適宜変更しておく
# vi /mnt/etc/fstab /dev/ad0s1b none /dev/ad0s1a / /dev/ad0s1e /tmp /dev/ad0s1f /usr /dev/ad0s1d /var
↓
/dev/da0s1b none /dev/da0s1a / /dev/da0s1e /tmp /dev/da0s1f /usr /dev/da0s1d /var
終わったらマウントを解除し、このハードディスクも削除(取り外す)する
# umount /mnt # umount /mnt/tmp # umount /mnt/var # umount /mnt/usr
取り外したものを仮想サーバとして起動する。
/tmpが755になっているため777に修正する。
# chmod 777 /tmp
ネットワークインターフェースを変更し反映させる。
# vi /mnt/etc/rc.conf
ifconfig_fxp0=”inet xxx.xxx.xxx.xxx netmask 255.255.255.xxx”
↓
ifconfig_em0=”inet xxx.xxx.xxx.xxx netmask 255.255.255.xxx”
# /etc/netstart
あとは疎通を確認し、問題なければ終了。
作業で使用した仮想サーバの削除、
作業用FreeBsdのを残すのであれば、sshの設定を元に戻すなどやっておく。