之前看过一段时间 ZFS, 有个 snapshot 和 clone 功能一直没看,今天补上。
创建 snapshot 操作瞬间可以完成,代价是很低的, 并且不需要额外的空间,当有新数据写入时才使用额外空间,下面简单测试这个功能。
当前目录情况
1 |
root@francs:~ # df -Th |
创建 snapshot
1 |
root@francs:~ # zfs snapshot zp1/data1@20141009 |
备注: 创建快照方式有两种: pool snapshots 或者 dataset snapshots, 我这里做的是 dataset snapshots。
查看快照
1 |
root@francs:~ # zfs list -t snapshot |
创建测试文件
1 |
root@francs:~ # cd /data1 |
备注:在目录 /data1 下新建一个文件 a, 之所以这么操作,是想测试 zfs 的 clone 功能。
zfs clone
1 |
root@francs:~ # zfs clone zp1/data1@20141009 zp1/pitr1 |
备注:基于刚才创建的快照做下 zfs clone,并且将快照 mount 到目录 /zp1/pitr1。
查看 zp1 池
1 |
root@francs:~ # zfs list -r zp1 |
查看 /zp1/pitr1 文件
1 |
root@francs:~ # ls /zp1/pitr1 |
备注: 这时新创建的文件 a 并没有显示,说明文件系统恢复到了创建快照的那个时间点。
接下来看下删除 clone 和 snapshot 操作,非常简单。
Destroying Clones
1 |
root@francs:~ # zfs destroy zp1/pitr1 |
Destroying Snapshots
1 |
root@francs:~ # zfs destroy zp1/data1@20141009 |
备注: 如果基于 snapshot 创建了 clone,得先删除 clone 才能删除 snapshot.
参考
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/239588.html