失敗失敗

サーバーの引越しを行なおうとして、既存サーバーの /user/home ディレクトリを新サーバーに nfs でマウントし、ユーザーのホームディレクトリにあるメールボックス ~/Maildir をコピーしようとした。
 
 # mount -t nfs choro_server:/usr/home/ /home/mnt/
 # cp -R /home/mnt/choro_master/.Maildir /usr/home/choro_master/
 
コピー失敗...ファイルシステムが一杯だというメッセージ。
「何で何で何で〜!/usr/home/ ディレクトリは、20GB程確保してるはず〜!」
と思いながら、調べてみる。
 
おりょりょ?
20GBで確保していたのは /usr/home ではなくて /usr/ports だった....。
インストールの時に間違えたんだ....今更気付くとは....。
サーバー機に /usr/ports を 20GB 割り当てる必要は無い....。
一瞬、FreeBSD-5.3 の再インストールという言葉が頭に浮かんだが、すぐに再インストールしないで対処する作業に移った。
 
まず、/usr/ports ディレクトリを別名でコピーし、終わったら /usr/ports 内のディレクトリ及びファイルを全て削除。
次に /usr/ports をアンマウントし、/usr/ports ディレクトリを削除。
そして、コピーしたディレクトリを /usr/ports にリネームする。
 
 # cp -R /usr/ports /usr/portsbak
 # rm -rf /usr/ports/*
 # umount /usr/ports/
 # mv /usr/portsbak /usr/ports
 
これで /usr/ports ディレクトリが /usr パーティション内に引越しした。
 
次に /usr/home のお引越し。
/mnt に、元 /usr/ports をマウントしていたパーティションをマウントし、そこに /usr/home/ 内のユーザーディレクトリをコピーする。
ディレクトリの所有者が root になってしまうので、所有者変更をする。
その後、/usr/home をリネームし、新たな /usr/home を作成する。
 
 # mount -t ufs /dev/ad3s1d /mnt
 # cp -R /usr/home/choro_master /mnt
 # chmod -R choro_master:choro_group /mnt/choro_master
 # mv /usr/home /usr/homebak
 # mkdir /usr/home
 
後は、再起動後に 20GB のパーティションが新たな /usr/home にマウントされるように /etc/fstab を書き換える。
 
 # vi /etc/fstab
 
 /dev/ad3s1d  /usr/home  ufs rw  2  2
 
再起動してみる。
 
 # shutdown -r now
 
無事起動し、/usr/home に 20GB を割り当てる事が出来た。
 
さて、早速新サーバーにメールボックスをコピーする。
当然 .spamassassin フォルダと .fetchmailrc、.procmailrc もコピー。
コピーをした後は、所有者変更を忘れずに。
 
これで新サーバーをしばらく本格稼動させ、問題が無ければ旧サーバーをフォーマットする。
旧サーバーは、省電力を考慮していたので、Pentium166MHz から AMD-K6 533MHz のCPUアクセラレータを取り外していたが、今度は 533MHz で動作させる予定。
FreeBSD + X Window にするか、VineLinux にするか、GentooLinux にするか...。
新サーバーのバックアップやテスト環境ということも考慮すると FreeBSD-5.3-STABLE が有力だけど、Linux も触りたいしなぁ。悩むなぁ。