ZFSアレイが壊れました。しかし、復活しました。
復活した原因がわからないのですが、困っている人がいると思うので顛末を記しておきます。

前提

うちの環境では、SATA5 + USB3.0ケース2 の7つのHDDでRAIDZ2を組んでいます。
まあ、クソですね。どうにかしようと思っていました。が、なあなあで手を付けていませんでした。
ちなみに、OpenMediaVaultでNASを作成していました。

3行まとめ

  • プールがどうしてもインポートできない
  • FreeBSDでのインポートを試すが失敗
  • 再びUbuntuでインポートすると、成功!!

事の発端

ちょっと長いこと外出してたら、調子悪くなってました。
具体的には、HDDケースが認識されてないみたいな。。。
RAIDZ2だったので、HDDケース分が認識されなくても問題ないんですが、まずいなと。
対策しようとしました。

zpoolコマンドがハングし始める

zpoolコマンドが帰ってこなくなりました。
トランザクションが完了しないまま再起動したりしたので、おかしくなったのでしょう。
やばいな、と思いつつ、シャットダウンして放置してました。

カーネルパニック!!!

復旧の準備ができて、復旧を始めました。
まずは、慣れ親しんだこのコマンド!!

1
$ sudo zpool import tank

…ハングしました。なんてこった。

では、強制的にインポートします。

1
$ sudo zpool import -f tank

…ハングしました。
-Fをつけると、復旧しながらインポートしてくれるらしい。

1
$ sudo zpool import -fF tank

…カーネルパニック!!!どういうことだ!!!

どうにもならなくなりました。インポートできないってどういうことだ。

がんばる

  • 新たにUbuntuで試す → ハングする。だめ。
  • FreeBSD LiveCDを試す → 強制再起動する。だめ。

きっとダメなんだ。さようなら、僕のデータたち。楽しかったよ。。。。

いきなり復活

朝起きて、どうせダメなんだろうなと以下のコマンドを打ってみました。

1
$ sudo zpool import -f -o readonly=on tank

すると、なんと!!インポートできました!!!

予想

予想としては、FreeBSDでインポートを試みたところ、トランザクションが整理されたのではないかと思っています。
だから、ハングの原因が取り除かれて、うまくインポートできたのではないかと。
さっそくHDDを購入し、バックアップを取ります。

反省

バックアップはしっかり取ろう。