DriveReady SeekComplete DataRequest Error


ディスク異常?

/var/log/message を見ていたら、ディスクのエラーが出ていた。
Jun 16 03:06:32 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:32 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=282684, high=0, low=282684, sector=282621
Jun 16 03:06:32 link kernel: end_request: I/O error, dev 03:01 (hda), sector 282621
Jun 16 03:06:32 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:32 link kernel: hda: read_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282621
Jun 16 03:06:32 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:32 link kernel: hda: read_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282621
Jun 16 03:06:32 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:32 link kernel: hda: read_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282621
Jun 16 03:06:32 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:32 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=282684, high=0, low=282684, sector=282621
Jun 16 03:06:32 link kernel: end_request: I/O error, dev 03:01 (hda), sector 282621
Jun 16 03:06:37 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:37 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=283627, high=0, low=283627, sector=283564
Jun 16 03:06:37 link kernel: end_request: I/O error, dev 03:01 (hda), sector 283564
Jun 16 03:06:40 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:06:40 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=283627, high=0, low=283627, sector=283564
Jun 16 03:06:40 link kernel: end_request: I/O error, dev 03:01 (hda), sector 283564
Jun 16 03:24:54 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:24:54 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=1622390, high=0, low=1622390, sector=1622327
Jun 16 03:24:54 link kernel: end_request: I/O error, dev 03:01 (hda), sector 1622327
Jun 16 03:31:10 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:31:10 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=1150695, high=0, low=1150695, sector=1150632
Jun 16 03:31:10 link kernel: end_request: I/O error, dev 03:01 (hda), sector 1150632
Jun 16 03:31:12 link kernel: hda: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Jun 16 03:31:12 link kernel: hda: read_intr: error=0x40 { UncorrectableError }, LBAsect=1150695, high=0, low=1150695, sector=1150632
Jun 16 03:31:12 link kernel: end_request: I/O error, dev 03:01 (hda), sector 1150632
玄人志向にもらった 250GB HDD、WDC WD2500BB も、もうそろそろ寿命か??

fsck

fsck をかけてみる
[root@link /root]# df
ファイルシステム    1k-ブロック   使用中      空き 使用% マウント場所
/dev/hda1              2071384    874392   1091768  45% /
/dev/hda3            238158628  90277284 135783596  40% /mnt
[root@link /root]# umount /mnt
[root@link /root]# fsck /dev/hda3
fsck 1.29 (24-Sep-2002)
e2fsck 1.29 (24-Sep-2002)
/dev/hda3: clean, 5487/30244864 files, 23518405/60488741 blocks
[root@link /root]# fsck -y -f /dev/hda3
fsck 1.29 (24-Sep-2002)
e2fsck 1.29 (24-Sep-2002)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/hda3: 5487/30244864 files (3.3% non-contiguous), 23518405/60488741 blocks
[root@link /root]#
/dev/hda3 には特に問題ないようにみえる。
では、/dev/hda1?
[root@link /root]# fsck -n -f /dev/hda1
fsck 1.29 (24-Sep-2002)
e2fsck 1.29 (24-Sep-2002)
Warning!  /dev/hda1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/hda1: 28477/263296 files (0.8% non-contiguous), 226872/526120 blocks
[root@link /root]#
/dev/hda1 も fsck には引っ掛からない。

fsck -c

fsck に -c オプションをつけてみる。
[root@link /root]# fsck -y -f -c /dev/hda3
fsck 1.29 (24-Sep-2002)
e2fsck 1.29 (24-Sep-2002)
Checking for bad blocks (read-only test):
done
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/hda3: ***** FILE SYSTEM WAS MODIFIED *****
/dev/hda3: 5487/30244864 files (3.3% non-contiguous), 23518405/60488741 blocks
3時間ほどかかって fsck が終了。

復旧?

/var/log/message にエラーが出力された 03:06 頃は、 バックアップスクリプトを動作させている時刻。
hda3 をマウントしてバックアップスクリプトを手動で起動する。
[root@link /root]# mount -a
[root@link /root]# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda1              2071384    872204   1093956  45% /
/dev/hda3            238158628  90277284 135783596  40% /mnt
[root@link /root]# /bin/sh /usr/local/sbin/Backup
	:
もう一つ Tera Term を起動して telnet, /var/log/message を見ていたら、、
[root@link /root]# tail -f /var/log/messages
	:
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282600
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=282684, high=0, low=282684, sector=282600
Jun 17 18:02:18 link kernel: end_request: I/O error, dev 03:01 (hda), sector 282600
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282608
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=282684, high=0, low=282684, sector=282608
Jun 17 18:02:18 link kernel: end_request: I/O error, dev 03:01 (hda), sector 282608
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282616
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x01 { AddrMarkNotFound }, LBAsect=282684, high=0, low=282684, sector=282616
Jun 17 18:02:18 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:18 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=282684, high=0, low=282684, sector=282616
Jun 17 18:02:18 link kernel: end_request: I/O error, dev 03:01 (hda), sector 282616
Jun 17 18:02:24 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:24 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=283627, high=0, low=283627, sector=283544
Jun 17 18:02:24 link kernel: end_request: I/O error, dev 03:01 (hda), sector 283544
Jun 17 18:02:26 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:26 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=283627, high=0, low=283627, sector=283552
Jun 17 18:02:26 link kernel: end_request: I/O error, dev 03:01 (hda), sector 283552
Jun 17 18:02:28 link kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Jun 17 18:02:28 link kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=283627, high=0, low=283627, sector=283560
Jun 17 18:02:28 link kernel: end_request: I/O error, dev 03:01 (hda), sector 283560
	:
エラーは違うが、同じセクタでエラーが発生している。
fsck でチェックにひっかからなかった hda3 ではなく hda1 でエラーが発生している模様。

最初のエラーを良く見たら、"kernel: hda: read_intr"、 つまり読出し割り込みでエラーになっている。
バックアップしているときに読出しエラーになっているのだから、 「バックアップしている hda1 がおかしい」と 気が付かないといけないのに、、
まだまだ青い

/dev/hda1 の fsck

/dev/hda1 はルートファイルシステムとしてマウントされているので、 fsck をかけるわけにはいかない。
仕方がないので、分解して USB 経由で HD-HGLAN に接続し、 fsck をかける。

大量のエラーが出力された後、

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda1: ********** WARNING: Filesystem still has errors **********
だそう。ご臨終のようだ。


録画失敗
ハックの記録
LinkStation/玄箱 をハックしよう

TV 録画サーバのHDD交換

Copyright (C) 2006 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市