ZFSに使おうと思って確保していたHDDが、思いもよらない故障でPT1マシンに行ってしまって
仕方が無く修理に出したWDC WD10EADSがやっと帰ってきた。
丁度Sofmapの初期不良期間が終わった後に問題が発覚したので、修理扱い・・・
結局16日ぐらいで戻って来たっぽい
なので、一台だけあるEACSをEADSに置き換える作業のメモ書き
ATA channel 3:
Master: ad6 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 4:
Master: ad8 <WDC WD10EACS-00D6B0/01.01A01> Serial ATA II
Slave: no device present
ATA channel 5:
Master: ad10 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 6:
Master: ad12 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 7:
Master: ad14 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
まず交換予定のad8をZFSでofflineにする。
これをしないとディスクにアクセスしにくる度にZFSがエラーを吐きまくってよろしくない。
試した限りでは、onlineにした後でscrubかければ大丈夫っぽかったが。(←試したのかよ!!)
ZFSのマニュアルによれば、チェックサムが壊れてるファイルがある場合、
他のディスクからパリティを引っ張ってきて勝手に修復してくれるらしい(auto rebuildとは別で、アクセスしたファイル単位)
zpool statusのCKSUMがそれ、ここにカウントあるってことは
そのHDDにあるチェックサムが何かの原因で壊れたってこと
意図的にofflineにして書き込んだとかじゃなければ、ディスクの障害である可能性が高いです
[root@nekosaba]~# zpool offline zpool1 ad8
[root@nekosaba]~# zpool status
pool: zpool1
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scrub: resilver completed with 0 errors on Wed Feb 18 03:56:48 2009
config:
NAME STATE READ WRITE CKSUM
zpool1 DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
ad6 ONLINE 0 0 0
ad8 OFFLINE 0 0 0
ad10 ONLINE 0 0 0
ad12 ONLINE 0 0 0
ad14 ONLINE 0 0 0
errors: No known data errors
予定通りraidzの冗長化部分が失われた状態、DEGRADEDになった。(とってもデンジャラス)
ホットスワップできるケースじゃないので電源を落とし、HDDを交換する。
HDDを交換したことを知らせるreplaceオプションでリビルド開始
[root@nekosaba]~# zpool replace zpool1 ad8
[root@nekosaba]~# zpool status
pool: zpool1
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scrub: resilver in progress, 27.65% done, 1h30m to go
config:
NAME STATE READ WRITE CKSUM
zpool1 DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
ad6 ONLINE 0 0 0
replacing DEGRADED 0 0 0
ad8/old OFFLINE 0 0 0
ad8 ONLINE 0 0 0
ad10 ONLINE 0 0 0
ad12 ONLINE 0 0 0
ad14 ONLINE 0 0 0
errors: No known data errors
大体2時間ほどのようだ。書き込み済みのデータは1.3T/3.6Tほど。
てかむっちゃ早くね?raid5でテラバイト級ストレージのリビルドってこんなに早かったっけ?
下手したら丸一日で済まないぐらいだったと思ったが。
ストレージにZFSを選んだ人が一番早く帰って眠れるという評判はほんとのようだ。
[root@nekosaba]~# zpool status
pool: zpool1
state: ONLINE
scrub: resilver completed with 0 errors on Tue Feb 17 21:04:17 2009
config:
NAME STATE READ WRITE CKSUM
zpool1 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad8 ONLINE 0 0 0
ad10 ONLINE 0 0 0
ad12 ONLINE 0 0 0
ad14 ONLINE 0 0 0
errors: No known data errors
ほぼ時間通り2時間10分で終了
同じような作業でアレイの容量を増やすことも出来ちゃうので、zfsはステキなファイルシステムですわ(´ω`)
あふたー
ATA channel 3:
Master: ad6 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 4:
Master: ad8 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 5:
Master: ad10 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 6:
Master: ad12 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present
ATA channel 7:
Master: ad14 <WDC WD10EADS-00L5B1/01.01A01> Serial ATA II
Slave: no device present