続・HDD 崩壊の前兆?, etc.
_ [vdr] 続・HDD 崩壊の前兆?
しばらく落ち着いたと思っていたら、
Feb 6 06:25:12 XXXXXXXX kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Feb 6 06:25:12 XXXXXXXX kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=237641434, sector=237641271
Feb 6 06:25:12 XXXXXXXX kernel: ide: failed opcode was: unknown
Feb 6 06:25:12 XXXXXXXX kernel: end_request: I/O error, dev hda, sector 237641271
また出ていた。さすがに対処しないとやばそうだ。
_ [comp] smartmontools
いろいろ検索していると Nano domain - diary: HDD破損、ハードディスクのS.M.A.R.T.情報を表示するには という記事を発見。紹介されている smartmontools を早速導入。
# smartctl -a /dev/hda
:
=== START OF INFORMATION SECTION ===
Model Family: Maxtor DiamondMax Plus 9 family
Device Model: Maxtor 6Y120P0
Serial Number: XXXXXXXX
Firmware Version: YAR41BW0
User Capacity: 122,942,324,736 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 0
Local Time is: Tue Feb 7 14:51:22 2006 JST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled
SMART Disabled. Use option -s with argument 'on' to enable it.
まずこんな感じ。SMART Disabled だそうなので有効にする。
# smartctl -s on /dev/hda
:
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
SMART を有効にした。エラーログを見てみる。
# smartctl -l error /dev/hda
:
=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 25 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 25 occurred at disk power-on lifetime: 111 hours (4 days + 15 hours)
When the command that caused the error occurred, the device was in an unknown state.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 4d 37 1e 2a ee Error: UNC 77 sectors at LBA = 0x0e2a1e37 = 237641271
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 f0 37 1e 2a ee 08 2d+22:20:48.128 READ DMA
c8 00 f8 2f 1e 2a ee 08 2d+22:20:47.120 READ DMA
c8 00 00 27 1e 2a ee 08 2d+22:20:46.096 READ DMA
c8 00 00 27 1d 2a ee 08 2d+22:20:46.080 READ DMA
c8 00 00 27 1c 2a ee 08 2d+22:20:46.064 READ DMA
:
先に記録されたセクタで UNC (UncorrectableError) と記録されている。ショートテストをしてみる。
# smartctl -t short /dev/hda
:
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Tue Feb 7 15:14:49 2006
Use smartctl -X to abort test.
テストに2分かかるようなので待つ。結果を表示。
# smartctl -l selftest /dev/hda
:
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 142 -
ショートテストではエラーは検出されなかったけど、やばそうなことに変わりはない。
_ [comp] dd でセクタ調査
最近記録されてるやばそうなセクタを調べてみる。
zcat /var/log/syslog*gz | grep "dev hda" | awk '{print $12}' | sort -n > /tmp/sectors
for i in `cat /tmp/sectors`
dd if=/dev/hda of=/tmp/dd-${i}.img bs=512 skip=${i} count=1
これで出てきた /tmp/dd-*.img を見てみると、/var/lib/apt/lists/ 以下のファイルと思しき断片が大量に出てきた。そういや apt-get update を実行した時間と syslog にエラーが記録された時間が一致する。他にも謎のバイナリデータの断片が出てきたけど、正体はわからず。 ひとまず /home ではないようなので安心したけど、早めに HDD を換装しなくては。
_ [debian] gkrellm 2.2.7-8
昨日の問題だけど、即 FIX された。 2.2.7-7vd1 を削除。
_ [debian] xft 2.1.8.2-3
pkg-config xft が freetype2 のパスを吐き出してくれない問題が FIX された。
_ [debian] firefox 1.5.dfsg+1.5.0.1-1vd1
- Bugzilla ORG 255990 の patch v3 (alt)
vd_firefox-1.5_without-gconf.patchvd_bugzilla-jp_bug-4575_attachment-3081_fx1.5.patch(Bugzilla-jp 4575 の Patch rv0.10 Fx1.5対応)
を当てて作成。
bugzilla-org_bug-316636_nsTableFrame.cpp-3.622vs3.623.patch (nsTableFrame.cpp: 3.622 vs. 3.623) は不要になったけど、続・MozFx 1.5 が落ちるページ の Bugzilla ORG 316636 は未だに見えない。
また、Pango サポートがデフォルトで有効になった。