思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

[zfs]メインファイルサーバーのpoolを飛ばした!!(2):リカバリ試行[1]

2025年6月にメインファイルサーバーのzfsのプールを飛ばしてしまいましたが、何とかリカバリー(読み出し)をして、少しでもデータを引き上げたいです。

障害発生時点のディスクのバックアップ作りましたので、一時ファイルサーバーに取り付けたレプリケート用領域を使って、リカバリの試行を行います。【注*1

1. ファイルサーバーにディスクイメージをコピー

1)バックアップUSB-HDDをファイルサーバーに接続

バックアップUSB-HDDをファイルサーバーに接続して、”ディスクイメージ”をファイルサーバーのレプリケート用領域にコピー。

と思い、マウントしようとしてた、”他のマシンのディスクはマウントできません”と、叱られました😅。

よく考えれば、バックアップUSB-HDDは、gptなディスクなので、当たり前です😅

半分、パニック状態なので、基本的なことに考えが及びません😑。

2)メインファイルサーバーからファイルサーバーにNFS経由でコピー

バックアップUSB-HDDをメインファイルサーバーに接続して、マウント、NFSエクスポート。

エクスポートした領域をファイルサーバーからNFS接続して、レプリケート用領域にディスクイメージをコピー。

約4TBのイメージファイルなので、再び40時間ほどかかってしまいました😅。

2. リカバリ試行準備

1)ディスクイメージの複製を作成

何度も、NFSコピーはしたくないので、コピーしたレプリケート用領域にディスクイメージの複製を、ファイルサーバー上にまずは作成

2)mdデバイスを作成

ディスクイメージをディスクデバイスとして利用するためにmdデバイスを作成します。

[root@file_sv] # mdconfig -a -t vnode -f /dbs/Replicate/main_sv.zfs.recovery/main_sv.da3.250622.img -u 0 ;

 

3. リカバリ試行

1)”zpool import”を試してみる

 


[root@file_sv] # zpool import ;

 

 

zfsも他のマシンで使っていたものなので、叱られました😅

当たり前と言えば当たり前ですね😅。

2)”zpool -f import”を試してみる

 

[root@file_sv] # zpool import -f pool1 ;

 

  

当たり前ですが、メインファイルサーバーに上で、行ったときと変わらず、

”poolを作り直して、バックアップからいリストアせよ”

と言われます😢。

3)”zpool -f -F import”を試してみる

Oralcleの” Oracle Solaris ZFS 管理ガイド”[*2]を参考に”zpool -f -F import”を試してみみます。

同じく、”poolを作り直して、バックアップからいリストアせよ”、と言われます😢。

4. 調査継続

広い世の中、似たような事態に陥った方がいるのではないかと思い🤔、
zfs プール修復」や、「zfs "from backup source"」、/var/log/messageに残っていた「 error=97」「checksum mismatch, zpool」等を検索キーワードに入れて調べてみたものの😀😑。。。

  • poolを作り直して、バックアップからいリストアするしかありません”、😢とか
  • zfsは操作者のミスを絶対許しません”等と恐ろしいことをおっしゃる方😵(*3)等

有益な情報は見つからず、道筋が見あたりません😢。

焦ってもろくなことにならないので、あきらめきれないので、もう少し地道に探してみることに🤔。。。

【次回に続く】

ブログランキング・にほんブログ村へ にほんブログ村 IT技術ブログへ

出典・引用・備考

 

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2:"損傷したデータを修復する"、日本オラクル株式会社、https://docs.oracle.com/cd/E24845_01/html/819-6260/gbbwl.html、最終閲覧日:2025年7月21日

*3:そんなシステムがこれだけ支持を集めて普及するのか。と思いましたが😅。。。。