我使用 ZFS 一段时间了,没有出现任何问题。我仍然对此感到兴奋,并且高度信任它。但时不时地,我会想到新的问题(特别是在阅读了一些文档之后,这有时会增加而不是减少问题的数量)。
在本例中,我已将新的 vdev(镜像)添加到根池,因此已阅读 zpool 手册 ( man zpool
)。在本节的末尾zpool add
,它指出:
-o 属性=值
设置给定的池属性。有关可设置的有效属性的列表,请参阅“属性”部分。目前唯一支持的属性是 ashift。请注意,某些属性(其中包括 ashift)不是从以前的 vdev 继承的。它们是特定于 vdev 的,而不是特定于池的。
这意味着该ashift
属性不是特定于池的,而是特定于 vdev 的。但我无法找到任何允许我查看每个 vdev 的属性(或任何其他 vdev 特定属性)的命令或选项。
换句话说,例如,如果我有一个池,其中包含一个 vdev withashift=12
和一个 vdev with ashift=10
,我该如何验证这一点?
我已经尝试过的:
root@cerberus:~# zpool list -v -o ashift rpool
ASHIFT
12
mirror 928G 583G 345G - 27% 62%
ata-ST31000524NS_9WK21HDM - - - - - -
ata-ST31000524NS_9WK21L15 - - - - - -
mirror 928G 74.4M 928G - 0% 0%
ata-ST31000524NS_9WK21FXE - - - - - -
ata-ST31000524NS_9WK21KC1 - - - - - -
root@cerberus:~# zpool get all rpool
NAME PROPERTY VALUE SOURCE
rpool size 1.81T -
rpool capacity 31% -
rpool altroot - default
rpool health ONLINE -
rpool guid 3899811533678330272 default
rpool version - default
rpool bootfs rpool/stretch local
rpool delegation on default
rpool autoreplace off default
rpool cachefile - default
rpool failmode wait default
rpool listsnapshots off default
rpool autoexpand off default
rpool dedupditto 0 default
rpool dedupratio 1.00x -
rpool free 1.24T -
rpool allocated 583G -
rpool readonly off -
rpool ashift 12 local
rpool comment - default
rpool expandsize - -
rpool freeing 0 default
rpool fragmentation 13% -
rpool leaked 0 default
rpool feature@async_destroy enabled local
rpool feature@empty_bpobj active local
rpool feature@lz4_compress active local
rpool feature@spacemap_histogram active local
rpool feature@enabled_txg active local
rpool feature@hole_birth active local
rpool feature@extensible_dataset enabled local
rpool feature@embedded_data active local
rpool feature@bookmarks enabled local
rpool feature@filesystem_limits enabled local
rpool feature@large_blocks enabled local
因此,既不zpool list
以zpool get
vdev 特定方式显示任何属性。
有任何想法吗?
答案1
为了查看特定设置(例如 )的当前值ashift
,您需要使用该zdb
命令而不是命令zpool
。
zdb
不带任何参数单独运行将为您提供pools
系统上找到的任何内容及其 、vdevs
和vdevs
.
root@pve1:/home/tim# zdb
pm1:
version: 5000
name: 'pm1'
state: 0
txg: 801772
pool_guid: 13783858310243843123
errata: 0
hostid: 2831164162
hostname: 'pve1'
vdev_children: 1
vdev_tree:
type: 'root'
id: 0
guid: 13783858310243843123
children[0]:
type: 'raidz'
id: 0
guid: 13677153442601001142
nparity: 2
metaslab_array: 34
metaslab_shift: 33
ashift: 9
asize: 1600296845312
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4356695485691064080
path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000542-part1'
whole_disk: 1
not_present: 1
DTL: 64
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 14648277375932894482
path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000521-part1'
whole_disk: 1
DTL: 82
create_txg: 4
children[2]:
type: 'disk'
id: 2
guid: 11362800770521042303
path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000080-part1'
whole_disk: 1
DTL: 59
create_txg: 4
children[3]:
type: 'disk'
id: 3
guid: 10494331395233532833
path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000517-part1'
whole_disk: 1
DTL: 58
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
或者,仅针对ashift
某些上下文:
root@pve1:/home/tim# sudo zdb | egrep 'ashift|vdev|type' | grep -v disk
vdev_children: 1
vdev_tree:
type: 'root'
type: 'raidz'
ashift: 9
这是一篇关于zdb
关于起源和意图以及来自的信息仍然非常丰富zdb
。 A快速谷歌还揭示了许多可能与 Linux 上的 ZFS 更具体相关的帖子。