我有一个 3x1TB ZFS (ZoL) RAIDZ1。一个驱动器发生故障。我正在用 4TB 磁盘替换它。
$ sudo zpool replace pool <old guid> /dev/disk/by-id/<new id>
cannot replace <old guid> with /dev/disk/by-id/<new id>:
new device has a different optimal sector size;
use the option '-o ashift=N' to override the optimal size
$ zdb -C | grep ashift
ashift: 9
$ sudo zpool replace pool <old guid> /dev/disk/by-id/<new id> -o ashift=9
这行得通。阵列现在正在重新同步。但是,老实说,我不了解此设置的影响。我只是想尽快更换故障磁盘,并在不久的将来将其他1TB磁盘更换为4TB。但事后看来,对齐移位为 2^9 的性能被描述为可怕。
我了解此设置是不可变的。更换其他两个磁盘后,我无法将ashift
值更改为 2^12,如果我理解正确,建议用于 4TB 磁盘。
我刚刚是在脚上开枪吗?如何最好地进行?我可以禁用
autoexpand
并在新阵列上创建一个新卷,ashift=12
并将旧卷复制到同一驱动器上的新卷吗?这是可能的和值得推荐的吗?