USB外付けHDDで構成したZFSストレージのトラブル対応
USBで接続した外付けHDD 2TB 4台をZFS(raidz)で使っています。OSはOpenIndianaでzpool versionは28で使用。HDDケースは2台入れられるケースを2個繋いでいます。USB3.0対応ケースですがOSのUSB3.0対応チップじゃないのでUSB2.0で遅いのが残念な点。
今回、このうちのケースが1台壊れました。DISK 2台見えなくなった(REMOVED)なのでraidzは当然停止(UNAVAIL)しました。
pool: expool state: UNAVAIL status: One or more devices are faulted in response to IO failures. action: Make sure the affected devices are connected, then run 'zpool clear'. see: http://illumos.org/msg/ZFS-8000-HC scan: none requested config: NAME STATE READ WRITE CKSUM expool UNAVAIL 0 0 0 insufficient replicas raidz1-0 UNAVAIL 0 0 0 insufficient replicas c10t0d0 ONLINE 0 0 0 c10t0d1 ONLINE 0 0 0 c11t0d0 REMOVED 0 0 0 c11t0d1 REMOVED 0 0 0 errors: Permanent errors have been detected in the following files::<0x0> :<0x1> :<0x1b> :<0x13c> expool/data:<0x1084> expool/tmp:<0x1130>
しょうがないのでHDDケース購入
玄人志向の元のケースのバージョンアップ版GW3.5AX2-SU3/REV2.0を買いました。
ちなみに壊れたケースは2年前に買ったもの。電源が壊れるのを覚悟してましたが、ケース本体が壊れるとは…RAID機能使ってるわけでもないし。
そして復旧
新しいケースが到着したのでHDDを入れ替え。念のためWindowsPCに繋いでSMART情報確認しましたがHDD自体にはエラーはなし。
問題ないHDDケース側も一旦電源落としていたので、一旦OpenIndiana自体をシャットダウンし、外付けHDDの電源を入れたまま再起動しました。再起動後、HDDが正しく認識されると、ZPOOLはこうなっていました。
pool: expool state: ONLINE status: The pool is formatted using an older on-disk format. The pool can still be used, but some features are unavailable. action: Upgrade the pool using 'zpool upgrade'. Once this is done, the pool will no longer be accessible on older software versions. scan: none requested config: NAME STATE READ WRITE CKSUM expool ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c10t0d0 ONLINE 0 0 0 c10t0d1 ONLINE 0 0 0 c11t0d0 ONLINE 0 0 0 c11t0d1 ONLINE 0 0 0 errors: No known data errors
長時間resilver(scrub,リビルド)かかるのも覚悟してましたが、何もなし。ZFS簡単すぎる。使用時は読み込みしかしてなかったので当たり前ではありますが。もちろん、atime=offは基本としてやっています。
ZFSのトラブル対応の記事のようで技術的なことは何もしてないという記事でした。