% 表題: www トラブルシューティング % % 履歴: 2007/05/18 山下 達也 % 本ドキュメントは,2007/04/14 から 2007/04/18 にかけて発生した,www サーバ のハードディスクで相次いで発生した I/O error に関する復旧作業報告である. ■ 症状 04/14 12:00 頃,/home.bk (/home のバックアップ) において I/O error の発生を 確認. 調査の結果,/home の複数のファイルが破損していることが判明. /home と /home.bk を新しく取り替えた後,システム領域(/ および /bk)にお いても I/O error が発生. ■ 原因 取り付けるべき SCSI ケーブルの種類が誤っており,ターミネーションが出来てい なかった. その結果 I/O error が次々と発生してしまったと考えられる. 結局 I/O error が発生したハードディスクは旧 /home のものを除いて無事であっ た. ■ 作業方針 □ 04/16 … 下準備 ; 作業内容 0 〜 3 + IO DATA 160 GB HDD に 2007/04/15 時点での /home データを保存 + 入れ替え準備 - ネットワークカードの交換 - 重要ファイル群のバックアップ + 破損ファイルのバックアップ □ 04/18 … 本格的な作業 ; 作業内容 4 〜 15 + orange, sango の入れ替え - 物理的な入れ替え - ユーザ情報の更新 + 新しいハードディスクを /home.bk にマウント ■ 作業内容 [ 4/16(月)の作業(下準備) ] 0. IO DATA 160 GB HDD に 2007/04/15 時点での /home データを保存 1. ネットワークカードの交換 - シャットダウン # halt. - ネットワーク線を抜く - orange と sango のネットワークカードを交換. - その後起動. 2. 現 sango(旧 orange)の重要ファイル群をバックアップ - /etc/passwd /etc/shadow /etc/gshadow /etc/group /etc/sudoers /etc/ssh/ /etc/skel/ /etc/cron.daily/rsync /var/spool/cron/ /var/lib/canna/dic/user/ - # cp -pr [files/directory] 所有者・グループなどを保って cp 3. 破損ファイルのバックアップ - 破損ファイル(nonregular file)リストの作成 # grep nonregular /usr/local/apache/logs/rsync.log >> /root/nonregularfile.list - USB メモリにバックアップ - 最初に I/O error が起きた ハードディスク(旧 /home.bk) から バックアップ [ 4/18(水) の作業] 4. 外付け SCSI HD 接続 - SCSI HD (/home) を付けかえて, sango を起動 - /home.bk の IO DATA 160GB HDD は接続しない - /etc/fstab 変更 - /dev/sdc1 (/home) の記述追加 - df で確認 - マウントは後で 5. /etc/shadow の復旧 - /etc/shadow を orange からコピー - USB メモリ (/dev/sdd1 として認識)を sango に接続してマウント # mount /dev/sdd1 /mnt/ - /root/ 下に遺失データ及び重要ファイル群をコピー # mkdir /root/tmp # cp -rp /mnt/xxxx /root/tmp/ # umount /mnt/ - USB メモリを外す - /etc/shadow の更新 1. /etc/shadow (orange のもの)を別ファイルにコピー # cp /root/tmp/wwwfile_20070418/etc/shadow /root/shadow.tmp 2. エディタで不必要な部分を削除 # vi /root/shadow.tmp User UID 1000 -- 29999 以外を全て消す (gate 関連のユーザ情報を残す) 3. sango の /etc/shadow 内に ID 1000--29999 を消去 4. 新 /etc/shadow へ追加 # cat /root/shadow.tmp >> /etc/shadow ^^^^ 5. オペレーション終了.旧 shadow のコピーを削除 # rm /root/shadow.tmp - 外付け SCSI をマウント. # mount -a - gate-daily を実行 - /etc/shadow, passwd, group, sudoers に .bk をつけて /etc/ 以       下にバックアップ. - # telnet localhost 8888 - /etc/shadow, passwd, group, sudoers が書き換えられる - 他サーバにはデータ転送されないのでエラーメッセージが出るが気       にしない 6. その他の設定ファイルの復旧 - /root/tmp/ 以下にコピーした次のファイルを復旧 - /var/spool/cron/ - バックアップと既存のファイルとの diff をとって違いがなかっ たので作業をスキップ - /var/lib/canna/dic/user/ - epmail, gcoe, kouhou, netcom 以外のファイルについては diff をとって違いがなかったので作業をスキップ - epmail, gcoe, kouhou, netcom はディレクトリごとコピーして 所有者, グループ, パーミッションを他と揃える. # cp -r /root/tmp/wwwfile_20070418/var/lib/canna/dic/user/epmail /var/lib/canna/dic/user/ # cd /var/lib/canna/dic/user/ # chown -R canna.canna epmail # chmod g+w epmail # chmod 664 epmail/* 7. ホスト名、IP アドレスの確認 - orange のパラメータになっているか. + /etc/hosts /etc/hostname /etc/motd /etc/network/interfaces /etc/mailname - orange: 133.50.160.51 sango : 133.50.160.53 8. 破損ファイルの復旧 - /root/tmp/ 以下から /home/ 以下に戻す - 所有者,グループ,パーミッションを保持 - morikawa - 復旧できなかったファイル - ~morikawa/Documents_bk/bin/cdhist2.sh 9. /home.bk 用 HDD を取り付け - shutdown # shutdown -h now - /home.bk 用 HDD を取り付け - 再起動 10. アクセス制御設定 サービスの起動を確認するため, /etc/hosts.deny と /etc/hosts.allow を編集 - /etc/hosts.deny ALL: ALL - /etc/hosts.allow ALL: airnote.ep.sci.hokudai.ac.jp 11. ネットワーク線の付け替え - ip と 大計ハブポートの対応に注意 - orange: 133.50.160.51 G0916.10 sango: 133.50.160.53 G0916.12 12. 各ソフトウェアの動作確認 - apache, apache-ssl, - http://www.ep.sci.hokudai.ac.jp/ - http://www.ep.sci.hokudai.ac.jp/~epcore/ - https://www.ep.sci.hokudai.ac.jp/ - https://www.ep.sci.hokudai.ac.jp/~epcore/ - http://www.ep.sci.hokudai.ac.jp/~hoge/ - error message の確認(server name, sever admin の記述) - apache-status + http://www.ep.sci.hokudai.ac.jp/server-status/ - ... - gate の動作確認 13. アクセス制御設定の解除 - /etc/hosts.deny "ALL: ALL" の行を消す 14. 復旧完了をメールで報告, WWW サーバ再開 ! 15. テプラ貼り 以下貼りなおし - /dev/sdc1 : /home - /dev/sdd1 : /home.bk - IO DATA 160 GB HDD には, 「2007/04/15 日付 /home 塩漬けデータ」 とラベル