linuxにてディスクの不良セクタを修復する
新しくlinuxサーバ機に取り付けたディスク(HDDやSSD)は必ずsmartctlのセルフテストを行ってから使っているのですが、過去に不良セクタが出て外していたディスクを一時的に再利用する機会があったので、不良セクタの修復を行ってみました。
[html] # smartctl --test=long /dev/sda [/html]
にての結果が
[html] # smartctl -l selftest /dev/sda smartctl 6.4 2014-10-07 r4002 [i686-linux-3.16.0-4-686-pae] (local build) Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed: read failure 90% 20372 2063521237 [/html]
こんな感じだったりします。
もちろんのことCurrent_Pending_Sectorも
[html] # smartctl -a /dev/sda .....(略) ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 11 .....(略) [/html]
の様にカウントがあります。
幸いにもまっさらにしたディスクでしたので不良セクタを潰してしまう事にしました。
selftestの結果からもLBA:2063521237が引っかかっているのが分かっておりますので、ここを潰してしまいましょう。
[html] # tune2fs -l /dev/sda | grep Block Block count: 488378646 Block size: 4096 Blocks per group: 32768 [/html]
これよりBlock sizeが4096と分かりましたので、該当のブロック番号を求めましょう。
2063521237 × 512 ÷ 4096 = 257940154.625
端数は切り捨ててブロック番号は257940154が求められました。
では実際に潰す作業に入ります。
[html] # dd if=/dev/zero of=/dev/sda bs=4096 count=1 seek=257940154 1+0 レコード入力 1+0 レコード出力 4096 バイト (4.1 kB) コピーされました、 0.000574828 秒、 7.1 MB/秒 # sync [/html]
最後のsyncまででワンセットです。
では、再度Current_Pending_Sectorの値を見てみましょう。
[html] # smartctl -a /dev/sda .....(略) ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 10 .....(略) [/html]
先ほど11だったものが10に減りました。
あと10回繰り返せば無事に0になります。
最終的にselftestにて
[html] # smartctl -l selftest /dev/sda smartctl 6.4 2014-10-07 r4002 [i686-linux-3.16.0-4-686-pae] (local build) Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed without error 00% 20372 - # 2 Extended offline Completed: read failure 90% 20372 3739365679 # 3 Extended offline Completed: read failure 90% 20372 3624092793 # 4 Extended offline Completed: read failure 90% 20372 3426810975 # 5 Extended offline Completed: read failure 90% 20372 3164456058 ......(略) [/html]
Completed without errorとなれば完了です。
ディスカッション
コメント一覧
まだ、コメントがありません