%=============================================================== % 地球惑星専攻サーバ トラブルカルテ % 日付: 2002/01/04 % サーバ: www,news % 文責: 道政 広一 %--------------------------------------------------------------- ■症状 1) www サーバの /etc/cron.dairy/rsync による white(news) の外付けHDへの バックアップに失敗した旨が cron からのメールに書かれていた. 2) 去年起動した rsync のプロセスが未だに残っていた. ■原因 外付けHDの容量(17G)がいっぱいになってしまったため. (rsync の log を調べた所 2001/12/30 からエラーが出始めていた事がわかった.) ■対応 1) 残っている rsync 関係のプロセスを全て止める. 2) 外付けHDへのバックアップを停止する. 3) 安定稼動するまで見合わせていた /home.bk/ に /home/ のバックアップを取る. 4) /bk/ に /home/ , /home.bk/ , /bk/ を除いた / のバックアップを取る. (hde の全てのデータを hdg にバックアップする) ■作業手順 1) 残っているプロセスを止める 2) /etc/cron.dairy/rsync の編集 3) /var/rsync-log/ に新たな log ファイルの作成 4) /etc/cron.dairy/rsync の起動 (複数回行う) 5) 容量の確認 6) /etc/logrotate.d/rsync-log の編集 1) 残っているプロセスを止める 関係するプロセスを調べる. white の外付け HD へのバックアップのコマンドは以下. $ less /etc/cron.dairy/rsync rsync -e ssh -aqz /home/ epwww@white:/mnt/orange-bk/ rsync -e ssh -aqz /etc/ epwww@white:/mnt/orange-bk/ETC/ rsync -e ssh -aqz /var/ epwww@white:/mnt/orange-bk/VAR/ rsync -e ssh -aqz /usr/src/ epwww@white:/mnt/orange-bk/SRC/ rsync と white への ssh を 止めればよい事が解る. PID を ps で調べてプロセスを止める. $ ps aux|less # kill -KILL "PID" 当然 white の方の プロセスも残ったままなので white に login してから 同じ手順でプロセスを止める. 2) /etc/cron.dairy/rsync の編集 編集内容は以下. -- /etc/cron.dairy/rsync -- # # /home/ のバックアップ # date >> /var/log/rsync-log/home.log rsync -av --delete --exclude lost+found /home/ /home.bk/ >> /var/log/rsync-log/home.log 2>&1 echo "$n" >> /var/log/rsync-log/home.log # # /home/ 以外のバックアップ # date >> /var/log/rsync-log/bk.log rsync -av --delete --exclude /bk/ --exclude /home.bk/ --exclude /home/ / /bk/ >> /var/log/rsync-log/bk.log 2>&1 echo "$n" >> /var/log/rsync-log/bk.log -- /etc/cron.dairy/rsync -- 3) /var/rsync-log/ に新たな log ファイルの作成 # touch /var/rsync-log/home.log # touch /var/rsync-log/bk.log 4) /etc/cron.dairy/rsync の起動(複数回行う) # /etc/cron.dairy/rsync 5) 容量の確認 $ df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hde1 1922260 745244 1079368 41% / /dev/hde2 74987184 13428784 57748516 19% /home /dev/hdg1 1922260 1035680 788932 57% /bk /dev/hdg2 71967720 13428780 54883176 20% /home.bk /home/ から /home.bk/ へのバックアップは成功しているが / から /bk/ へのバックアップで /bk/ が 300M 近く サイズが大きくなっている. 主な要素は、/proc/ と /bk/proc/ のサイズの違いによるもの. # du -sh /proc 0 /proc # du -sh /bk/proc 266M /bk/proc 6) /etc/logrotate.d/rsync-log の編集 rsync を行うたびに log のサイズが大きくなるので logrotate で分割し 3ヶ月(12週)分の log を保存する. 編集内容は以下 -- /etc/logrotate.d/rsync-log -- /var/log/rsync-log/home.log { weekly create 0644 root root rotate 12 } /var/log/rsync-log/bk.log { weekly create 0644 root root rotate 12 } -- /etc/logrotate.d/rsync-log -- ■未処理の問題(2002/01/04 現在) white(news) の外付けHD の扱いをどうするのか.