ミラーZFSプールに2つの同一の2Tbディスクがあります。残念ながら、errorneusで上書きされたディスクの開始は、HP Smartarray P400 RAIDコントローラーを介して、独自のメタデータを書き込む個別のRAID0論理ボリュームとしてディスクを接続しようとします。
パーティションテーブル(zpool createによって作成されたものがある場合-以下を参照)およびL0、L1ラベルは失われます。 L1、L2ラベル、およびデータは、16進数で見られるようにそのままです。
zpoolは当初、次のようにミラープールにrawデバイスを追加するだけで作成されました-zpool create tank mirror/dev/sda/dev/sdb。
回復する方法はありますか?
最後に、ZFSプールが破損していないことがわかりました。古いサーバーは問題なくプールをインポート/エクスポートします。唯一の違いは、ZFSカーネルバージョンとモジュールバージョンにありました。
旧:カーネル3.13.0-39-汎用、SPL:v0.6.3-1〜trusty、ZFS:v0.6.3-3〜trusty
新規:カーネル3.13.0-43-汎用、SPL:v0.6.3-3〜trusty、ZFS:v0.6.3-5〜trusty
また、zfsスライスは、ブロック2048から始まる単一のパーティションで作成されました。したがって、RAIDコントローラーはL0、L1ラベルにまったく影響を与えず、パーティションテーブルをゼロにするだけです。
インポートするために私が行った唯一のこと-復元されたパーティションテーブル(zpool importはまだプールをFAULTYとして表示します)そして/ dev/disk/myzfs dirを作成し、/ dev/disk/by-idのようなzpoolメンバーパーティションデバイスへのシンボリックリンクを作成しましたhave( "zpool import -d/dev/disk/by-id"を実行しようとすると、プールがFAULTYとして表示されます)。
「zpoolimport-d/dev/disk/myzfs」は私のプールをオンラインとして表示し、「zpool import -d/dev/disk/myzfsnas」は成功しました。
残念ながら、古いサーバーのようにカーネル-SPL-ZFSカーネルとモジュールの組み合わせを複製できませんでした-古いppa:zfs-native/stableパッケージを取得する方法が見つかりませんでした。そのため、これがモジュールリビジョンの変更なのか、それとも何なのかわかりませんでした。
はい、ディスクを使用できなくなりました...
役立つZDBの魔法があるかもしれませんが、RAID 0HP論理ドライブの作成はかなり慎重な行動です。 Smart Arrayメタデータが原因で、ディスクに含まれているデータが失われるという明確な警告がありました。
一般に、ZFS用の複数のRAID 0論理ドライブは、ハードウェアRAIDコントローラーの背後にある悪い考えです。しかし、これは悪い間違いでした。
編集:
この質問を ZFS-メーリングリストについて話し合う またはIRCチャネルに持っていくことをお勧めします。