zdb 無法辨識我的池子?

zdb 無法辨識我的池子?

在我的 freenas 伺服器上,zpool status告訴我我有 2 個 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

我想獲得有關我的datazpool 的統計信息,但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 元資料中的 guid 與磁碟的實際 guid 不匹配引起的。我猜這是更換損壞的硬體並在 zpool 之間移動磁碟的結果...

解決方案是使用zfs detach鏡子及其zfs attach背面的一個裝置。

相關內容