FreeBSD:ZFSボリュームのHDDをリプレース

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

 

タイトルとURLをコピーしました