ZFSインポートでプールが見つからない


11

私はZFSプール-2つのvdevを含むミラー-をFreeBSDサーバーで実行していました。ミラーからディスクを1つだけ取得し、そこからファイルを回復しようとしています。

ZFSデータは、ディスク上のGPTパーティションにあります。

プールをインポートしようとすると、プールがまったく存在する兆候がありません。いくつかの方法を試しましたが、何も起こりません。

私はzdb -luパーティションで実行しましたが、ラベルは問題ないようです。

# zpool import
# zpool import -D
# zpool status
no pools available
# zpool import -f ztmp
cannot import 'ztmp': no such pool available
# zpool import 16827460747202824739
cannot import '16827460747202824739': no such pool available

パーティション情報:

# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 3907029134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: da0p1
   Mediasize: 65536 (64K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 17408
   Mode: r0w0e0
   rawuuid: d7a10230-8b0e-11e1-b750-f46d04227f12
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 65536
   offset: 17408
   type: freebsd-boot
   index: 1
   end: 161
   start: 34
2. Name: da0p2
   Mediasize: 17179869184 (16G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7aa40b7-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 17179869184
   offset: 82944
   type: freebsd-swap
   index: 2
   end: 33554593
   start: 162
3. Name: da0p3
   Mediasize: 1905891737600 (1.7T)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 82944
   Mode: r0w0e0
   rawuuid: d7b6a47e-8b0e-11e1-b750-f46d04227f12
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 1905891737600
   offset: 17179952128
   type: freebsd-zfs
   index: 3
   end: 3755999393
   start: 33554594
Consumers:
1. Name: da0
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Mode: r0w0e0

ZFSラベル:

--------------------------------------------
LABEL 0
--------------------------------------------
    version: 5000
    name: 'ztmp'
    state: 0
    txg: 0
    pool_guid: 16827460747202824739
    hostid: 740296715
    hostname: '#############'
    top_guid: 15350190479074972289
    guid: 3060075816835778669
    vdev_children: 1
    vdev_tree:
        type: 'mirror'
        id: 0
        guid: 15350190479074972289
        whole_disk: 0
        metaslab_array: 30
        metaslab_shift: 34
        ashift: 9
        asize: 1905887019008
        is_log: 0
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 3060075816835778669
            path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            phys_path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
            whole_disk: 1
            DTL: 5511
            resilvering: 1
        children[1]:
            type: 'disk'
            id: 1
            guid: 3324029433529063540
            path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            phys_path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
            whole_disk: 1
            DTL: 3543
            create_txg: 4
            resilvering: 1
    features_for_read:
    create_txg: 0
Uberblock[0]
    magic = 0000000000bab10c
    version = 5000
    txg = 0
    guid_sum = 1668268329223536005
    timestamp = 1361299185 UTC = Tue Feb 19 10:39:45 2013

(他のラベルは正確なコピーです)

この古いスレッドには、同じようなサウンドの問題に関する議論があります。Jeff Bonwickのlabelfixツールを(この投稿からの更新により)実行してみましたが、問題を解決できなかったようです。

何か案は?


2
ドライブは分割されるのではなく、ミラーから切り離されました。それが問題の原因だったようです。残念ながら、ミラーの残りの部分は存在しません。
squidpickles 2014年

1
質問への「回答」には多くの試行錯誤が伴うため、これが適切なフォーラムであることはわかりません。とりあえず、「zpool import -d </ dev / path / to / disk>」を試してください。-Dは破棄されたプールを一覧表示し、-dは調べるディスクの場所の引数を取り、コマンドラインで複数回指定できます(ただし、この場合、ディスクが1つだけなので、必要なのは1回だけです)。 。それが何をするか見てください。
Nex7 2014年

1
あなたはこれが正しいフォーラムではないことについて正しいかもしれません。そして、はい、私は-d-Dオプションを試してみましたが、役に立ちませんでした。
squidpickles 2014年

1
-d <パーティションを含むディスク開発パス>を使用してみても表示されない場合は、illumos OSを除いてすべてを再試行してください。それでもそれを見ることができない場合、私はアイデアがありません。データに金銭的価値がある場合は、データ復旧の専門家に依頼するか、illumosデリバティブ上でコード(src.illumos.org)を確認し、zpool importコマンドをdtraceして、どのパスをたどってみるかを試してください。あなたのプールが見えない理由を理解するために。
Nex7 2014年

2
@GrahamPerrin私はそれを動かしてしまいました。FreeBSDインストールでZFSソースを編集し、すべての健全性チェックをバイパスしました。それらを十分に無効にした後、プールをインポートすることができました。誰かが私自身の健全性チェックを迂回したに違いありません...
squidpickles

回答:


6

将来の参考のために、単にzpool import -a(すべてを検索します)を実行すると、通常はzpool / zfs fsが認識されない場合にも役立ちます。


私はキャッシュに私のものさえ見ますが、これを試してもうまくいきませんでした。私はキャッシュファイルをバックアップしています。キャッシュファイルを使って、または使わずに、強制的に実行します。また、Grahamが上で提案したことを確認します。
ブライアン・トーマス

4

解説より(オープニングポスターより):

FreeBSDインストールでZFSソースを編集し、すべての健全性チェックをバイパスしました。それらを十分に無効にした後、プールをインポートすることができました。


1

私はどういうわけか私のZFS構成を台無しにしました。残念ながら、私が正確に何をしたか思い出せません(私はいくつかのハードウェアを変更しているので、めちゃくちゃになりました。私のようにはなりません!)、これは私にとってはうまくいきました。XigmaNAS(nas4free)を使用していますが、以下のすべてのコマンドはターミナルから発行されます。

私が行ったこと(およびしなかったこと)についての漠然とした記憶:

  • プールをエクスポートしませんでした
  • プールを削除(破壊)した可能性があります

症状:

  1. Web GUIでは、ディスクは自動的にインポートされ、zpoolとして認識されます(未フォーマットまたはUFSなどではありません)。
  2. ただし、GUI ZFSセクションはzpoolを検出できません。そのため、ボタンを押すだけではプールをインポートできません。強制インポートも機能しませんでした。
  3. このディスクに関するSMART情報はGUIで問題なく表示されます。ディスクが物理的に損傷しているとは思いません。
  4. GUI情報セクションでは、ディスクはと表示されda1ます。これはターミナルに行く前に必要な情報です。
  5. 他のユーザーへの警告:GUIで問題が発生した場合は、破壊的な操作を直ちに停止してください。新しいvdevを作成したり、他のディスク形式で試すなど。端末に移動します。
  6. ターミナルでの、試行されたコマンドと結果の一部を次に示します。

    • zpool import -a 言う no pool available to import
    • zpool status言いますno pools available(言語が壊れていますか?笑)。
    • gpart list -a 表示されません da1
    • gpart list da1 言う gpart: no such geom: da1
    • zpool list 言う no pools available
    • glabel list -a にプールは表示されません da1
    • zdb -l /dev/da1で2つのラベルを印刷できるda1ので、私のディスクは死んでいません
    • zpool import -D上のプールda1が破壊されており、インポートできる可能性があると述べています

解決:

実行zpool import -D -f (poolname)すると問題が解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.