2009/12/29

Alixで動いているCFカード上のDebianを別カードに引っ越してみる

家のDNSサーバーにしているalixのCFカードは実験的に使った古い512MBのカードだったので手狭になってしまいました。 そこで手持ちのTrancend 2GB 266x (SLC)なCFカードに引っ越す事にしました。

TrancendのCFカードは133xがMLC, 266xがSLCですが、hdparm等でスピード自体に違いがある事はわかりますが、メモリ上で動く小さいサーバープロセスでは体感できるほどの速度差はないと思います。

動かすサーバーの種類に依りますが、耐久性以外の理由でSLCなCFカードを選択する必要性は低いのかもしれません。

待ち受けカードを準備

稼働中の512MB CFカードは最後まで抜かずに、新しく置き換える2GBのCFカードを準備する事にしました。 最終的にはrsyncを使って、ファイルをコピーしようと思います。 新しく準備した2GB CFカードの作業はUbuntu 8.04にUSB接続のCFカードリーダーを接続して行なっています。

GRUBのインストール

とりあえず Ubuntu 7.10からALIXでブート可能なCFカードを作成する の手順に従って、Ubuntu上でgrubを導入するところの作業を行なっています。

認識したCFカードが"/dev/sdg1"だとすると、次のようなコマンドになります。

$ sudo /sbin/mke2fs /dev/sdg1
$ sudo /sbin/tune2fs -c 0 -i 0 /dev/sdg1
$ sudo mount /dev/sdg1 /mnt/cf
$ sudo grub-install --root-directory=/mnt/cf /dev/sdg

rsyncを使ったファイルコピー

稼働中のalixサーバーからファイルをコピーしてくるためには、一般ユーザーIDではアクセスできないファイルが出てきます。 そのためrootでのsshアクセスを一時的に許可することにしました。

root@alix:# vi /etc/ssh/sshd_config
PermitRootLogin yes

上記のように"PermitRootLogin"に"yes"を設定します。 続いて、Ubuntu上で作業を続けます。

$ sudo rsync -av root@alix:/. /mnt/cf/.

"root@alix"はユーザーID:root, ホスト名:alixの意味で、"alix"の部分はIPアドレスにする方が良いかもしれません。(e.x. "root@192.168.1.2")

/procやら/sysは不要なので、 --exclude で指定するべきだったのですが手で削除し、作りかえました。

$ sudo rm -rf /mnt/cf/proc
$ sudo mkdir /mnt/cf/proc

CFカードの交換

こんな感じで、とりあえずDNSサーバーなalixを止めてCFカードを交換しました。

CPU, Memoryに余裕があるので、CFカードのサイズが4倍になったことですし、 いろいろパッケージも導入して試していこうと思います。

0 件のコメント: