即将创建由 14 个硬盘组成的 zpool,我看到了选项:
- 可以简单做
zpool create -f -o ashift=12 DATA raidz2 disk1 disk2 ...
或者
- 可以使用例如
parted
在每个驱动器上创建一个最佳对齐的分区,然后执行zpool create -f -o ashift=12 DATA raidz2 disk1-part1 disk2-part2 ...
在这两种情况下,数据都需要以最佳方式对齐,但哪种方法更适合(可以这么说)ZFS?
即将创建由 14 个硬盘组成的 zpool,我看到了选项:
zpool create -f -o ashift=12 DATA raidz2 disk1 disk2 ...
或者
parted
在每个驱动器上创建一个最佳对齐的分区,然后执行zpool create -f -o ashift=12 DATA raidz2 disk1-part1 disk2-part2 ...
在这两种情况下,数据都需要以最佳方式对齐,但哪种方法更适合(可以这么说)ZFS?
无论哪种方式都无关紧要,但有一些事情需要注意:
使用整个磁盘:
带分区:
/boot
或用于识别磁盘的小型 FAT 文件系统(如果它是外部/抓取磁盘)据我所知,唯一真正的好处来自使用分区 - 即减轻对替换磁盘“太小”无法使用的担忧,并允许将其他少量数据保留在磁盘上(即:
/boot
或标识)。我采用了这两种方法,并且在使用中确实没有明显的区别(尽管无可否认没有广泛的 A/B 测试)。
请记住(至少在 Linux 上),“ whole-disk ”设置实际上会代表您创建一个 GPT 分区表,在磁盘末尾有一个具有“ Solaris reserved ”类型的 ~8MiB 分区(以解决上述尺寸变化)。它还将该
whole_disk
字段设置为true
(请参阅zdb -l ${pool}
)。阅读更多:OpenZFS - 整个磁盘与分区
需要考虑的其他一点是 14 磁盘 vdev 非常大 - 您可能更愿意将其分解为两个或多个 vdev。这在很大程度上取决于磁盘的大小、冗余级别和相关的重建时间……做好计划,不要希望它不会发生。