set zfs’s property snapdir to hidden or visible see snapshot directory
背景 zfs的snapshot, 以往我们可以通过clone或者rollback来查看snapshot的内容. 当然不推荐rollback, 因为会导致zfs回退. 其实还有一种方法来查看snapshot的内容, 那就是设置zfs的snapdir属性, 如果开启了这个属性的话, 可以直接在zfs目录的.z...
背景 zfs的snapshot, 以往我们可以通过clone或者rollback来查看snapshot的内容. 当然不推荐rollback, 因为会导致zfs回退. 其实还有一种方法来查看snapshot的内容, 那就是设置zfs的snapdir属性, 如果开启了这个属性的话, 可以直接在zfs目录的.z...
背景 默认情况下, 创建top-level dev如果不指定扇区大小, 那么使用vdevs中最小的扇区大小作为zpool的扇区大小. 但是某些设备虽然是4K的扇区, 但是可能内核读到的扇区大小可能是512字节. 这样的话, 将对影响有比较大的影响, 所以在这种情况下, 创建zpool时可以指定扇区的大小....
背景 zpool允许我们动态的添加vdev, 这个我们已经在上一篇BLOG中介绍过. http://blog.163.com/digoal@126/blog/static/163877040201442731413803/ 如添加spare [root@db-172-16-3-150 ssd1]# zpo...
背景 zpool并不限制根vdev的数量, 并且也不限制他们的属性(如mirror or raidz), 但是属性不同会有提示. 例如 [root@db-172-16-3-150 ~]# zpool create zpp mirror /ssd1/zfs.1 /ssd1/zfs.2 [root@db-...
背景 前几天讲过zfs的snapshot用作PostgreSQL PITR, 使用接近还原点的snapshot可以减少xlog的apply, 缩短数据库的恢复时间. 其实snapshot还有一个作用, 用作流复制HA的主备角色切换后避免因为XLOG的差异导致old primary无法切换成standby角色. ...
背景 前一篇BLOG介绍了ZFS的压缩特性, 本文将介绍一下ZFS的另一个特性deduplicate, 同compress的目标差不多, 都是节约存储空间的. 但是deduplicate带来的副作用会比较明显, 同时deduplicate的数据不是atomic事务写入的, 可能导致数据损坏. 一般不建议开启d...
背景 zfs提供几种压缩算法, lzjb, gzip, gzip-[0-9], zle, lz4 其中默认的压缩算法为lzjb, 这个是ZFS的作者Jeff Bonwick提供的, gzip默认的压缩级别为6, 或者指定压缩级别. 这里主要测试一下压缩时间和压缩比. 注意, 压缩选项默认是关闭的...
背景 ZFS的又一个强大之处, 支持坏块的自愈 (如果使用了冗余的话,如raidz1, raidz2, raidze, ... 并且正确的块可通过ECC重新计算出的话.). 同时ZFS具备类似ECC DIMM的校验功能, 默认使用SHA-256 checksum. 使用scrub来检测ZPOOL底层的块...
背景 前面我们介绍了zfs的pool, 类似LVM. 由多个块设备组成. 如果这些块设备要从一个机器转移到另一台机器的话, 怎么实现呢? zfs通过export和import来实现底层块设备的转移. 在已有POOL的主机上, 先将会读写POOL或dataset的正在运行的程序停止掉, 然后执行expo...
背景 zfs的另一个强大的功能, 将snapshot导出到文件, 再将文件恢复成dataset. 导出时支持管道传输, 所以可以很方便的实现跨主机传输. 例子 : 查看A主机的snapshot. [root@db-172-16-3-150 mnt]# zfs list -t snapshot ...