ZFS文件系统

Z 文件系统是由 Sun™ 开发使用存储池方法的新技术。 这就是说只有在需要存储数据的时候空间才会被使用。 它也为保护数据最大完整性而设计的,支持数据快照, 多份拷贝和数据校验。增加了被称为 RAID-Z 的新的数据复制类型。RAID-Z 是种类似于 RAID5类型, 但被设计成防止写入漏洞。

什么是写入漏洞?
如果仅写入了 RAID-5 条带的一部分,并且在所有块成功写入磁盘之前断电,则奇偶校验将与数据不同步,因此永远无用,除非后续的完全条带化写操作将其覆写。

RAID-Z

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 配置无需任何其他特殊硬件。

1.检查zpool

#zpool list

2.建立快照

# zfs snapshot ZFS1@DATE

3.检查dataset

#zfs list

4.让snapshot可读

# zfs set snapdir=visible ZFS1

#ls -la /mnt/ZFS1/.snap

5.zfs远程备份

先让 S HOST 使用rsa key登入D HOST

#zfs send ZFS1@date | ssh (destination IP) zfs receive ZFS1/backup

可用netstat 1观察 D host狀況

6.增量备份
# zfs send -i ZFS1@snap1 ZFS1@snap2 | ssh host2 zfs recv ZFS1/backup
第一个參数是较早的快照,第二个參数是较晚的快照。在这种情況下,ZFS1/backup dataset必须存在,增量接收才能成功

补充
倒回快照 #zfs rollback
备份快照 #zfs send ZFS1@now | zfs receive ZFS1/COPYZFS1/Vol2@0220
刪除快照 #zfs zfs destroy 快照名称
让/目录可写入 #mount -uw /

 

服务器维护 服务器配置 服务器 维护 运维 网管 系统调优 网络调优 数据库优化