在 Oracle® Solaris 11.2 中管理 ZFS 文件系统

退出打印视图

更新时间: 2014 年 12 月
 
 

RAID-Z 存储池配置

除镜像存储池配置外,ZFS 还提供具有单/双/三奇偶校验容错性的 RAID-Z 配置。单奇偶校验 RAID-Z (raidzraidz1) 与 RAID-5 类似。双奇偶校验 RAID-Z (raidz2) 与 RAID-6 类似。

有关 RAIDZ-3 (raidz3) 的更多信息,请参见以下博客:

http://blogs.oracle.com/ahl/entry/triple_parity_raid_z

所有与 RAID-5 类似的传统算法(例如 RAID-4、RAID-6、RDP 和 EVEN-ODD)都可能存在称为“RAID-5 写入漏洞”的问题。如果仅写入了 RAID-5 条带的一部分,并且在所有块成功写入磁盘之前断电,则奇偶校验将与数据不同步,因此永远无用,除非后续的完全条带化写操作将其覆盖。在 RAID-Z 中,ZFS 使用可变宽度的 RAID 条带,以便所有写操作都是完全条带化写操作。这是唯一可行的设计,因为 ZFS 通过以下方式将文件系统和设备管理集成在一起:文件系统的元数据包含有关底层数据冗余模型的足够信息以处理可变宽度的 RAID 条带。RAID-Z 是世界上针对 RAID-5 写入漏洞的第一个仅使用软件的解决方案。

一个 RAID-Z 配置包含 N 个大小为 X 的磁盘,其中有 P 个奇偶校验磁盘,该配置可以存放大约 (N-P)*X 字节的数据,并且只有在 P 个设备出现故障时才会危及数据完整性。单奇偶校验 RAID-Z 配置至少需要两个磁盘,双奇偶校验 RAID-Z 配置至少需要三个磁盘,以此类推。例如,如果一个单奇偶校验 RAID-Z 配置中有三个磁盘,则奇偶校验数据占用的磁盘空间与其中一个磁盘的空间相等。除此之外,创建 RAID-Z 配置无需任何其他特殊硬件。

从概念上讲,包含三个磁盘的 RAID-Z 配置与以下内容类似:

raidz c1t0d0 c2t0d0 c3t0d0

从概念上讲,更复杂的 RAID-Z 配置与以下内容类似:

raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0
raidz c8t0d0 c9t0d0 c10t0d0 c11t0d0c12t0d0 c13t0d0 c14t0d0

如果创建具有许多磁盘的 RAID-Z 配置,请考虑将这些磁盘分为多个组。例如,具有 14 个磁盘的 RAID-Z 配置最好拆分为两个 7 磁盘组。若 RAID-Z 配置包含的分组中的磁盘数目为一位数 (1-9),则该配置的性能应该更好。

有关创建 RAID-Z 存储池的信息,请参见创建 RAID-Z 存储池

有关基于性能和磁盘空间注意事项在镜像配置或 RAID-Z 配置之间进行选择的更多信息,请参见以下博客:

http://blogs.oracle.com/roch/entry/when_to_and_not_to

有关 RAID-Z 存储池建议的其他信息,请参见Chapter 11, 建议的 Oracle Solaris ZFS 做法