zdb がプールを認識しないのですか?

zdb がプールを認識しないのですか?

私の freenas サーバーでは、zpool status2 つの zfs プールがあることが分かります : data& freenas-boot:

% zpool status
  pool: data
 state: ONLINE
  scan: scrub repaired 0 in 0 days 04:16:16 with 0 errors on Mon Nov 20 00:59:24 2017
config:

        NAME                                            STATE     READ WRITE CKSUM
        data                                            ONLINE       0     0     0
          raidz1-0                                      ONLINE       0     0     0
            gptid/3e08fdba-4564-11e7-bdef-00fd45fc38ec  ONLINE       0     0     0
            gptid/3eba62c2-4564-11e7-bdef-00fd45fc38ec  ONLINE       0     0     0
            gptid/3f704246-4564-11e7-bdef-00fd45fc38ec  ONLINE       0     0     0
            gptid/40249d11-4564-11e7-bdef-00fd45fc38ec  ONLINE       0     0     0

errors: No known data errors

  pool: freenas-boot
 state: ONLINE
  scan: scrub repaired 0 in 0 days 00:00:13 with 0 errors on Sun Mar  4 03:45:14 2018
config:

        NAME        STATE     READ WRITE CKSUM
        freenas-boot  ONLINE       0     0     0
          ada0p2    ONLINE       0     0     0

errors: No known data errors

zpoolに関する統計情報を取得したいのですdataが、zdbエラーが発生します:

% sudo zdb -b data
zdb: can't open 'data': No such file or directory

しかし、プールでは機能しますfreenas-boot:

% sudo zdb -b freenas-boot                                                                              

Traversing all blocks to verify nothing leaked ...

loading space map for vdev 0 of 1, metaslab 55 of 119 ...
2.56G completed ( 881MB/s) estimated time remaining: 0hr 00min 00sec        
        No leaks (block sum matches space maps exactly)

        bp count:          281124
        ganged count:           0
        bp logical:    5928553472      avg:  21088
        bp physical:   2636954624      avg:   9380     compression:   2.25
        bp allocated:  3376803840      avg:  12011     compression:   1.76
        bp deduped:             0    ref>1:      0   deduplication:   1.00
        SPA allocated: 3376803840     used:  2.64%
        Dittoed blocks on same vdev: 50961

何が間違っているのでしょうか?

答え1

何らかの理由で、FreeNAS/TrueNAS Core のキャッシュ パスが異なります。デフォルトでどこを検索するかを知るために zdb にパッチが適用されていません。

-U /data/zfs/zpool.cache <POOLNAME>動作させるには、zdb のすべての使用に追加します。

たとえば、コマンドは次のようになります。zdb -U /data/zfs/zpool.cache -b data

答え2

OmniOS でこの問題が発生し、zdbを開けませんでしたrpool。この問題は、zfs メタデータとディスクの実際の G​​UID の不一致によって発生しました。これは、壊れたハードウェアを交換し、zpool 間でディスクをシャッフルした結果だと思います...

解決策は、zfs detachミラーを 1 つのデバイスにまとめてzfs attach戻すことでした。

関連情報