2008年06月26日
引退させたいサーバを引退させる1つの解決策
古いマシンでサービス中のコンテンツが存在する。
もう、何年も前のサーバだ。
昨今のマシンであれば仮想環境で運用させられる。
Xenへ移行させてしまおう。
そんな事例を聞いた事が無い…気がする。
まずはやってみよう。
軽い乗りで移行作業が進められた。
作業概要
古いサーバ側
- 論理移転用ディスクイメージdisk.img作成
- 作成したイメージdisk.imgをマウント
- 「/」からrsyncしてレプリカを作成
- rsync済のdisk.imgを移転先へ転送
- 受け入れ用DomainUを構築しておく
- 古いサーバ側で生成したイメージをdisk.imgとして配置
- DomainUを起動
いざ、論理移転
dfで容量を確認。
30G以内だったので、今回は30Gとする。
# cd /tmp # mkdir xen # cd xen # df # dd if=/dev/zero of=disk.img count=$((1024 * 30)) bs=1Mext3でフォーマット
# mkfs.ext3 disk.imgdisk.imgをマウント
# mount -t ext3 -o loop ./disk.img /mnt/looprsyncで「/」から同期。
この時、disk.imgは同期対象外とする。
# cd / # rsync -Hax / /mnt/loop --exclude tmp/xen/disk.img # umount /mnt/loopXen環境サーバへイメージファイルを転送
# scp tmp/xen/disk.img $(remote):/tmp/.方法は何でも良い。
今回はxen-create-imageで環境を構築して、disk.imgを入れ替えた
$ sudo xen-create-image --ip=192.0.2.21 --netmask=255.255.255.0 --gateway=192.0.2.1 --broadcast=192.0.2.255 --hostname=skel --size=2Gb --memory=256Mb --swap=1024Mbdisk.imgを入れ替える
$ cd /home/xen/domains/skel $ sudo mv -i /tmp/disk.img ./.一時的にdisk.imgをマウント
$ sudo mkdir /mnt/loop $ sudo mount -o loop disk.img /mnt/loopchroot(chrootしなくても良い。必須作業ではない。)
$ sudo chroot /mnt/loop /bin/bashゴッソリ書き換えてしまう。
swapと「/」パーティションである事が前提
# vi /etc/fstab proc /proc proc defaults 0 0 /dev/sda1 none swap sw 0 0 /dev/sda2 / ext3 noatime,nodiratime,errors=remount-ro 0 1Xen環境にあわせる
# vi /etc/network/interfaces不要なので2〜6はコメントアウト
# cp -p /etc/inittab /tmp/inittab.$$ # vi /etc/inittab # diff /tmp/inittab.$$ /etc/inittab < 2:23:respawn:/sbin/getty 38400 tty2 < 3:23:respawn:/sbin/getty 38400 tty3 < 4:23:respawn:/sbin/getty 38400 tty4 < 5:23:respawn:/sbin/getty 38400 tty5 < 6:23:respawn:/sbin/getty 38400 tty6 --- > #2:23:respawn:/sbin/getty 38400 tty2 > #3:23:respawn:/sbin/getty 38400 tty3 > #4:23:respawn:/sbin/getty 38400 tty4 > #5:23:respawn:/sbin/getty 38400 tty5 > #6:23:respawn:/sbin/getty 38400 tty6chrootから抜ける
# exitDomainUを起動
$ sudo xm create /etc/xen/domains/skel.cfg -c起動して来る事を確認出来たら作業完了。
無事に引退。振り返り
Xenは便利でお手軽だ。
- 静かになった
- サーバ稼動時はファンとディスクが五月蝿かった。
- パフォーマンス向上
- 嬉しい誤算
- よく考えてみると、ハードウェアが良くなったから当たり前か。
あくしゅでは積極的にXenを使って開発して行く。
開発環境だけでなく、本番環境共にXenで良いと思う。
面白い検証データが取れたら随時公開予定。