
在我的 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
我想獲得有關我的data
zpool 的統計信息,但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
背面的一個裝置。