会社で使っているRedMine,Subversion用のサーバを今より高機能のサーバに移設してもよいよという許可が下りたので、それを楽にするためにMondo Rescueを使ってみることにした。Mondo Resqueは様々なデバイスにバックアップを取ることが可能、かつ、フルバックアップ可能で、しかもハードウェア環境に依存せずにサーバを移動させることができるということだった!ここに惚れた!
インストールについては、日を改めて書くとして、今は、P2P(Physical to Physical)リストアが成功したので、その方法を刻む。
■移動元のサーバ構成
Pen4 1.4G
メモリ 512MB
HDD 40GB
■移動先のサーバ構成
PenD 2.0G
メモリ 2GB
HDD 500GB
【参考URL】
Mondo Rescueを使ってXenServerの仮想ホストへ
KnoppixなどのCDブートLinuxで、移動先サーバのHDDを初期化する。
fdisk /dev/sda
----以下 fdiskコマンド----
Command (m for help): n
Command action: p
Partition number (1-4): 1
First cylinder : enter
Last cylinder: +256M
Command (m for help): n
Command action: p
Partition number (1-4): 2
First cylinder : enter
Last cylinder: enter
Command (m for help): t
Partition number (1-4): 2
Hex Code: 8e
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
# 構成を確認
Command (m for help): w
----ここまで----
パーティションの作成ができたので、次はLVMで論理ボリュームを作成する。
ボリュームグループ名は、移動元のボリュームグループ名にしておく。
# 物理ボリュームの作成
pvcreate /dev/sda2
pvdisplay /dev/sda2
# ボリュームグループの作成
vgcreate VolGroup00 /dev/sda2
vgdisplay
# 論理ボリュームの作成
lvcreate -L 38912m -n LogVol00 VolGroup00
lvcreate -L 2048m -n LogVol01 VolGroup00
lvdisplay /dev/VolGroup00/LogVol00
lvdisplay /dev/VolGroup00/LogVol01
# 各パーティションのフォーマット
mkfs.ext3 -j /dev/sda1
mkfs.ext3 -j /dev/VolGroup00/LogVol00
mkswap /dev/VolGroup00/LogVol01
以上が、Knoppixでの作業。
次に、mondoarchiveコマンドで作成されたisoファイルをDVDに焼いて、移動先サーバをDVDでブートする。
boot:と表示されたところで、
interactive ramdisk_blocksize=1024 quiet textonly
で起動させる。(別に、expertでも大丈夫だと思うけど。)
DVDからリストアを選択。
mountlistの書き換えを行う。
移動元がhdaだったので、移動先のsdaに書き換えを行う。
Device Mountpoint Format Size(MB)
/dev/sda2 lvm lvm 0
/dev/VolGroup00/LogVol00 / ext3 0
/dev/sda1 /boot ext3 0
/dev/VolGroup00/LogVol01 swap swap 0
---
Are you sure want to save your mountlist and continue?: yes
Do you want to erase and partition your hard drivers?: no
Do you want to format your hard drivers?: no
Do you want to restore all of your data?: yes
Initiarize the boot loader?: yes
Did you change the mountlist?: yes
# あと何種類かあったが、思い出せない…
# multipath.confを修正しろとか。でも、何も書き換えずにすぐq!で終了。
# mkinitrd -f -v initrd-2.6.x.y.img 2.6.x.yみたいなのをしろとかあった。
# fstabで書き換え
vi /etc/fstab
LABEL=/boot → /dev/sda1
# grubのパスを変える
grub-install --recheck /dev/sda
grub-install /dev/sda
cd /boot
mkinitrd -f -v initrd-2.6.18.164.6.1.el5.centos.plus.img 2.6.18.164.6.1.el5.centos.plus
# 再起動。-fがないと再起動しなかったので、-fを付けた。
reboot -f
走り書きで書いたが、こんな感じだった。
うまくP2Pでサーバの移設ができたっぽい。ハードウェア構造が全く異なるのに、OSが動いて感動。実際は、grubのあたりでいろいろとトラブったんで、すごく感動した。
今回は実験だったので、本番移設はまだだが、この経験を生かしたい。