ZFS 是文件系统和 RAID 的混合体。 当文件系统运行正常时,这是一个优势,因为基于对底层物理布局的了解可以进行一些很好的优化。 但是,当文件系统崩溃时,它会使事情复杂化。 在文件系统和 RAID 分开的常规情况下,恢复可以分两步完成,首先恢复 RAID,然后恢复文件系统。 但是对于 ZFS,RAID 和文件系统则必须同时恢复,因为它们是不可分离的。
谈论 ZFS 恢复时,涉及到三个相关功能:池布局、RAIDZ 和数据压缩。
ZFS 池、VDEV 和物理驱动器
简而言之,ZFS 按如下方式处理物理驱动器:
- 物理驱动器组合在一起形成 VDEV (虚拟设备)。 这是大多数奇迹发生的地方。 VDEV 可以是:
- 简单,由单个物理驱动器组成。
- 镜像或 n 路镜像,在两个或多个驱动器上存储相同的数据副本,与传统 RAID1 相同。
- RAIDZ,它是 RAID5 的一个有趣的变体。
- RAIDZ2 或 RAIDZ3,其中 RAIDZ2 是 RAID6 的有趣变体,而 RAIDZ3 是相同的,但具有三重冗余。
- 然后,将 VDEV 组合起来形成一个 ZFS 池。 池中的数据分布在所有 VDEV 中,实际上提供了额外的条带化级别。
ZFS 池可以组合不同 RAID 级别的 VDEV; 此外,池的扩展最终可能导致难以描述的奇怪配置以及难以理解的故障模式。