注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

ZFS: snapshot and clone  

2014-10-13 11:20:05|  分类: FreeBSD/ZFS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       之前看过一段时间 ZFS, 有个 snapshot 和 clone 功能一直没看,今天补上。
       
       创建 snapshot 操作瞬间可以完成,代价是很低的, 并且不需要额外的空间,当有新数据写入时才使用额外空间,下面简单测试这个功能。
 
--当前目录情况

root@francs:~ # df -Th
Filesystem          Type     Size    Used   Avail Capacity  Mounted on
zroot/ROOT/default  zfs       16G    3.4G     12G    22%    /
devfs               devfs    1.0K    1.0K      0B   100%    /dev
zroot/tmp           zfs       12G     19M     12G     0%    /tmp
zroot/usr/home      zfs       12G    200K     12G     0%    /usr/home
zroot/usr/ports     zfs       13G    874M     12G     7%    /usr/ports
zroot/usr/src       zfs       13G    545M     12G     4%    /usr/src
zroot/var           zfs       13G    636M     12G     5%    /var
zroot/var/crash     zfs       12G    148K     12G     0%    /var/crash
zroot/var/log       zfs       12G    396K     12G     0%    /var/log
zroot/var/mail      zfs       12G    160K     12G     0%    /var/mail
zroot/var/tmp       zfs       12G    152K     12G     0%    /var/tmp
zp1                 zfs      1.9G     32K    1.9G     0%    /zp1
zp1/data1           zfs      1.9G    3.6M    1.9G     0%    /data1
zp1/data2           zfs      1.9G     16M    1.9G     1%    /data2
zp1/data3           zfs      1.9G     12M    1.9G     1%    /data3
zp1/data4           zfs      1.9G     31K    1.9G     0%    /data4
zp_db               zfs       29G     31K     29G     0%    /zp_db


--创建 snapshot

root@francs:~ # zfs snapshot zp1/data1@20141009

备注: 创建快照方式有两种: pool snapshots 或者 dataset snapshots, 我这里做的是  dataset snapshots。

--查看快照

 root@francs:~ # zfs list -t snapshot
NAME                 USED  AVAIL  REFER  MOUNTPOINT
zp1/data1@20141009      0      -  3.62M  -


--创建测试文件

root@francs:~ # cd /data1

root@francs:/data1 # ll
total 3672
-rw-rw-r--  1 root  wheel  16777216  7  4 16:44 0000000600005ca200000032
-rw-r--r--  1 root  wheel   6291456  7 10 14:51 test_1.img

root@francs:/data1 # echo "test" > a

root@francs:/data1 # cat a
test

备注:在目录 /data1 下新建一个文件 a, 之所以这么操作,是想测试 zfs 的 clone 功能。

--zfs clone

root@francs:~ # zfs clone zp1/data1@20141009 zp1/pitr1

备注:基于刚才创建的快照做下 zfs clone,并且将快照 mount 到目录  /zp1/pitr1。

--查看 zp1 池

root@francs:~ # zfs list -r zp1
NAME        USED  AVAIL  REFER  MOUNTPOINT
zp1        32.1M  1.92G    33K  /zp1
zp1/data1  3.64M  1.92G  3.62M  /data1
zp1/data2  16.0M  1.92G  16.0M  /data2
zp1/data3  12.0M  1.92G  12.0M  /data3
zp1/data4    31K  1.92G    31K  /data4
zp1/pitr1     1K  1.92G  3.62M  /zp1/pitr1

备注: 这里可以看到 /zp1/pitr1 目录了。

--查看 /zp1/pitr1 文件

root@francs:~ # ls /zp1/pitr1
0000000600005ca200000032        test_1.img

备注: 这时新创建的文件 a 并没有显示,说明文件系统恢复到了创建快照的那个时间点。

            接下来看下删除 clone 和 snapshot 操作,非常简单。
            
--Destroying Clones

root@francs:~ # zfs destroy zp1/pitr1


--Destroying Snapshots

root@francs:~ # zfs destroy zp1/data1@20141009

备注: 如果基于 snapshot 创建了 clone,得先删除 clone 才能删除  snapshot.

--参考
  评论这张
 
阅读(565)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017