我正在寻找一个最小的 ZFS 设置来实现自我修复单一设备。由于我备份了数据,所以不用担心驱动器故障,但担心位衰减。到目前为止,我能找到的唯一建议是该copies=2
选项,但这会使可用容量减少 50%。
我的问题:将设备拆分为 8 个分区并将它们合并为 7+1 RAID-Z1 阵列有什么缺点(除了性能之外)?这意味着可用空间减少 12.5%。既然如此,为什么不采用 19+1 或 99+1(或分区表允许的任何大小)呢?
答案1
来自ZFS 最佳实践指南:
对于生产系统,请使用整个磁盘而不是切片作为存储池,原因如下:
- 允许 ZFS 为具有写缓存的磁盘启用磁盘的写缓存。如果您使用的是具有非易失性写缓存的 RAID 阵列,那么这不是什么大问题,并且作为 vdev 的切片仍应能从阵列的写缓存中获益。
- 对于 JBOD 附加存储,启用磁盘缓存后,可以将一些同步写入作为多个磁盘写入发出,然后进行一次缓存刷新,从而使磁盘控制器能够优化 I/O 调度。另外,对于缺乏对 SATA NCQ 或 SCSI TCQ 适当支持的系统,启用写入缓存后,主机可以与物理 I/O 异步发出单个 I/O 操作。
- 当磁盘的片上同时包含 ZFS 和 UFS 文件系统时,更换故障磁盘的恢复过程会更加复杂。如果 ZFS 池(和底层磁盘)的片上也包含 UFS 文件系统,则无法使用 zpool import 和 export 功能轻松迁移到其他系统。
- 一般而言,维护切片会增加管理时间和成本。通过简化存储池配置模型可以降低管理成本。
总而言之,正确处理、替换和增长的速度要慢得多,而且困难得多。
此外,您仍然需要关注池布局。在替换切片时,您的 RAIDZ1 设置在 RAID5 写入漏洞问题中仍然会受到影响,如果您为 RAIDZ 级别选择的切片数量不是最佳的(也来自指南中的建议),它仍然会受到影响:
- (N+P)其中 P = 1(raidz)、2(raidz2)或 3(raidz3),且 N 等于 2、4 或 6
- 建议每组磁盘数在 3 到 9 个之间。如果有更多磁盘,请使用多个组。