failed HDD
この時更新したRAID5のその後。
Debianで運用してるfileserverのディスクアクセスがやたら遅くなった。そういえば、logcheckからata関係のエラーが送られてきたのを思い出す。logを見てみると、RAID5の3台のうちの1台がおかしい。
このときのSMARTはまだPASSだったのが、次の日にはもうFAILEDになって、症状悪化。smartctl –all /dev/sdc のoutput。
% mdadm --manage /dev/md1 --fail /dev/sda1 % mdadm --manage /dev/md1 --remove /dev/sda1 % swapoff /dev/sda2
このdiskをofflineにして、新しいのを発注。新しいのもまたWD Green、だけど3TのWD30EZRX。他の2TB 2台もいずれ3TBに交換して、そのときにextendする。後で調べたら、NAS用にTLERを変更可能なWD Redって出てるのを知った。値段もあんまり変わらないし、こっちにすれば良かった。。。
WD Caviar Greenはデフォルトでは8秒アクセス無いとheadをparkするようになってるが、Linuxで使ってるとlogの書き出しのために、parkしてはすぐ戻してという繰り返しになる。これのデフォルト8秒を延ばすユーティリティがある。idle3ctl。 これやったはずだと思ったが、8秒のままだった。影響無いと思って変えなかったか? smartの Load_Cycle_Count 1673180回というのを見ると、さすがに延ばした方が良いな。2年ちょいの連続稼働で、Power_On_Hours 2万時間。まだ壊れるには早い。やはり過度のLoad_Cycle_Countが原因になってる可能性は高いか。
% idle3ctl -s 255 /dev/sdb
これで、3810秒。power on時に新しい設定が反映される。
ここで新しいdiskをpartitionを切ってRAIDに組み込む前にfull backup取った。
partition切るところでまず引っかかる。今まではmsdos partition labelで切ってたが、それでは2TB以上のdiskには対応出来ない。gpt labelを使う。また、4KB sectorのdiskなのでpartitionは4096/512=8の倍数で始める。64で良いのだけど、partedが2048の倍数じゃないと alignしてないとwarning出すので、2048にしとく。
(parted) unit s (parted) print Model: ATA WDC WD30EZRX-00A (scsi) Disk /dev/sda: 5860533168s Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 2048s 5858435071s 5858433024s primary 2 5858435072s 5860532223s 2097152s linux-swap(v1) primary
raid5 rebuild。
% mdadm --add /dev/md1 /dev/sda1
6時間位はかかるので放置しといて、次見てみるとなんとfailして、U__ になってる。いろいろ試行錯誤した結果、既存のさらにもう一台の/dev/sdbも問題有った。diskのlow level surface scan(long test)でerror見つかって、sector remapされた。使ったtoolは、UBCDに入ってる、WD純正のDLG Diagnostic。2TBのcheckに約6時間で、sdb と sdcの2台に合計12時間かかった。ちなみに、short testではerrorは検知されなかった。
これで、今度はちゃんとrebuild、というか最初からRAID5組み直したので普通のbuild出来て、LVM構築し直して、formatして、backupからrestore。作業はUSB flashに入れたKnoppix 7でbootして行った。
設定変更。
/etc/mdadm/mdadm.conf /etc/fstab
initrdを更新。(本番システムになる、今コピーしてた先が/target)
% mount --bind /dev /target/dev % mount --bind /sys /target/sys % mount --bind /proc /target/proc % chroot /target % dpkg-reconfigure linux-image-2.6.32
という事で、RAIDのrebuildの前には
- full backup
- degradedで動いてるdiskのlow level format check&remap
が必須。







