ZFS文件系统
ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,经历了 10 年的活跃开发。而最新的开发将全面开放,并重新命名为 OpenZFS
openZFS
ZFS 文件系统和卷管理器的特点是数据完整性,高可扩展性和内置存储功能,例如:
复制 – 制作某物的副本(副本)的过程。
重复数据删除 – 消除 冗余 数据副本并减少存储 开销的过程。
压缩 – 表示数据所需 的位数减少。
快照 – 特定时间点的数据的一组参考标记。
克隆 – 某事物的相同副本。
数据保护 – 保护重要信息免受损坏或丢失的过程。
RAIDZ 出现背景
RAIDZ 出现的背景是因为硬件 RAID 没有表现出其声称应达到快速、可靠的效果 [3] ,存在问题之一就是一个称为 RAID-5 “ write hole ”的缺陷: RAID 的写实分为两步的,首先更新数据,其次更新校验(将新数据和旧校验异或以使得所有磁盘异或为零)。如果这个写的过程中发生断电、系统崩溃等故障时,这时磁盘上存储的数据和校验就不匹配了,如果没有一个好的日志或快照机制来进行恢复的话,错误的数据将永远保存在磁盘上而无法纠正,而这一切对用户都是不知道的。为解决这一问题,有用户采用昂贵的 NVRAM 进行断电保护。
内容简介
RAIDZ 并不是真正意义上的 RAID,而是一种更高层的解决方案,所以它不需要像 RAID 一样的额外设备,使用动态的条带宽度,并利用了 ZFS 中类似于 RAID 的一种完整性冗余机制——重定向写(RoW,Redirect-on-write)解决了 RAID-5 的 “ write hole ”问题:首先数据写到一个新的位置,接着再改写原来指向旧数据的指针,避免了小写必须读后写的操作而在全条带上进行写,利用小块镜像来代替奇偶校验,这是因为能够知道文件系统存储结构并能够在需要的时候分配额外的空间,RAID-Z2 是 RAIDZ 的升级。
- RAIDZ 采用的是类似 RAID-5 的单个奇偶校验位,至少需要三个磁盘;
- RAIDZ-Z2 是采用类似于 RAID-6 的两个奇偶校验,至少需要四个磁盘;
- RAIDZ-Z3采用三重奇偶校验,至少需要五个磁盘;
这样RAIDZ-Z允许一个磁盘损坏,RAIDZ-Z2可以允许两个磁盘损坏,RAIDZ-Z3可以允许三个磁盘损坏而不丢失数据。