%=============================================================== % 地球惑星専攻サーバ トラブルカルテ % 日付: 2001/12/28 % サーバ: mail % 文責: 田中 伸 %--------------------------------------------------------------- ■症状 メールサーバの IDE ハードディスク(/dev/hde)にアクセスするたびに, I/O error の表示がでた. ディスクが破損した模様. ■対応 バックアップ用のハードディスク(/dev/hdg) を破損したディスクと 交換しメインのディスクとする. SCSI ディスクを 2 台接続してそれ ぞれにシステム領域とホーム領域のバックアップをとる. ■作業手順(二日に分けて作業した) 1 日目 ・qmail 停止 ・ネットワークケーブルを外す ・hde から hdg へのバックアップ # rsync -av --delete --exclude /bk/ --exclude /home.bk/ --exculde /home/ / /bk/ # rsync -av --delete --exclude lost+found /home/ /home.bk/ ・qmail 起動スクリプトの実行属性を 000 にする # chmod 000 /etc/init.d/qmail # chmod 000 /etc/init.d/tcpserver ・カーネル再構築 - kernel-source-2.2.19 kernel-source-2.2.19-ide パッケージなど をインストール - パッチを当てる # cd /usr/src/linux # ../kernel-patches/i386/2.2.19/apply/ide - SCSI カードを使えるように設定(SCSI support -> SCSI low-level drivers -> Adaptec AIC7xxxsupport) - その他の設定(Codematurity Option や UDMA, Block Devices 等) 忘れずに. - 起動ディスクは作成する ・シャットダウン ・SCSI カード, ディスク(2 台)をつける.SCSI カードと UDMA カード の挿す位置は逆にした.SCSI カードは一番目のバスに挿してある. ・起動 ・SCSI ディスクの認識を確認 # dmesg | less ・パーティションを作成 # cfdisk /dev/*** (SCSIディスク) - パーティション構成は システム領域 2 G, ホーム領域は残り(約 15 G)とする ・ディスクフォーマット # mke2fs /dev/*** ・マウントポイントをつくる. # mkdir /bk1 # mkdir /bk2 # mkdir /home.bk1 # mkdir /home.bk2 ・ディスクのマウント # mount /dev/** /bk1 # mount /dev/*** /home.bk1 # mount /dev/** /bk2 # mount /dev/*** /home.bk2 ・/etc/fstab 編集 /dev/hde1 / ext2 defaults,errors=remount-ro 0 1 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto defaults,user,noauto 0 0 /dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0 /dev/hde2 /home ext2 defaults,usrquota 0 2 # ここから SCSI ディスクのマウント /dev/**1 /bk1 ext2 defaults 0 2 /dev/**2 /home.bk1 ext2 defaults 0 2 /dev/***1 /bk2 ext2 defaults 0 2 /dev/***2 /home.bk2 ext2 defaults 0 2 ・/etc/cron.daily/rsync に以下を追加. rsync -av --delete --exclude /bk/ --exclude /bk1/ --exclude /bk2/ --exclude /home.bk/ --exclude /home.bk1/ --exclude /home.bk2/ --exculde /home/ / /bk1/ rsync -av --delete --exclude lost+found /home/ /home.bk1/ rsync -av --delete --exclude /bk/ --exclude /bk1/ --exclude /bk2/ --exclude /home.bk/ --exclude /home.bk1/ --exclude /home.bk2/ --exculde /home/ / /bk2/ rsync -av --delete --exclude lost+found /home/ /home.bk2/ ・システムを再起動した後, qmail を起動.ネットワークケーブルの 接続も忘れずに. ・時計が 9 時間程進んでいたので直した(CMOS のせい?) ・ここで /etc/cron.daily を実行しSCSI および/dev/hde2 へのコピー を行ったが,途中で /dev/hde の破損状況がひどくなったようなので, /home.bk を /home としてマウントしなおすことにした.ここでは, /etc/fstab を書き換えて再起動することにした. ・/etc/cron.daily/rsync で SCSI, IDE へのコピーをとりなおす. (※)このコピー作業後にエディタが使えないなどのトラブルがあった. 詳しくは 2001-12-29 のトラブルカルテを参照. 2 日目 ・qmail 停止(システム起動時にも起動しないようにする) ・ネットワークケーブルを外す ・/dev/hdg および SCSI ディスクへのバックアップを取る # /etc/cron.daily/rsync ・/dev/hdg をアンマウントする # cd / # umount /bk ・# umount /home が device is busy となってできなかったので, fstab を書き換え, /home のマウント先を一時的に /dev/hdg2 から /dev/sda2 とする ・再起動 ・/dev/hdg のディスク(壊れていないほう)にブートフラグをたてる. # cfdisk /dev/hdg ・/dev/hdg を再度マウントする # mount /dev/hdg1 /mnt ・/mnt/etc/fstab と /mnt/etc/cron.daily/rsync の /dev/hdg に関する部分を削除. /mnt/home, /mnt/bk1, /mnt/bk2, /mnt/home.bk1 /mnt/home.bk2 ディレクトリを作っておく. ・シャットダウン ・ディスク入れ換え ・起動 ・lilo を再インストール # lilo -v ・ネットワークケーブルをつなぎ,qmail を起動する. 起動スクリプトのパーミッションも元に戻す.