免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2490 | 回复: 0
打印 上一主题 下一主题

zfs snapshot [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-11 16:38 |只看该作者 |倒序浏览
郭窦盼
http://gdp.cublog.cn
转载请注明出处。
OpenSolaris使用了一种全新的文件系统zfs,zfs文件系统可以创建快照,对当前文件系统的状态进行记录,从创建快照的时间起,对文件系统中的内容进行的修改将完全被记录,如删除了一个文件,会在snapshot中保存该文件的一个备份,以备rollback时用。具体操作如下:
1.查看一下当前有哪些文件系统和snapshot:
dguo@opensolaris:~# zfs list
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
rpool                               2.62G  4.70G    55K  /rpool
rpool@install                         16K      -    55K  -
rpool/ROOT                          2.46G  4.70G    18K  /rpool/ROOT
rpool/ROOT@install                    15K      -    18K  -
rpool/ROOT/opensolaris              2.46G  4.70G  2.40G  legacy
rpool/ROOT/opensolaris@install      61.6M      -  2.22G  -
rpool/ROOT/opensolaris/opt          3.64M  4.70G  3.60M  /opt
rpool/ROOT/opensolaris/opt@install    31K      -  3.60M  -
rpool/export                         162M  4.70G    19K  /export
rpool/export@install                  15K      -    19K  -
rpool/export/home                    162M  4.70G   162M  /export/home
rpool/export/home@install             19K      -    21K  -
由于我没有手动创建过文件系统和pool,所以只有一个pool:rpool,在rpool中,系统自动创建了一些文件系统,并创建了相应的snapshot,如rpool/export/home@install,意思是在rpool中创建了一个export/home的文件系统,zfs文件系统的特点是创建之后会自动mount,@install的意思是给该文件系统创建了一个snapshot,下面,我们来看一下如何创建自己的snapshot:
2.创建一个snapshot:
dguo@opensolaris:~# ls
core  Desktop  test  zfs_note
将文件系统rpool/export/home创建了一个snapshot,名为july11。
dguo@opensolaris:~# zfs snapshot -r rpool/export/home@july11
dguo@opensolaris:~# ls
core  Desktop  test  zfs_note
将export/home文件夹下的test目录和zfs_note文件删除
dguo@opensolaris:~# rm -r test/ zfs_note
可以看见相应文件已经没有了。
dguo@opensolaris:~# ls
core  Desktop
3.从一个snapshot中恢复:
dguo@opensolaris:~# zfs list
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
rpool                               2.62G  4.70G    55K  /rpool
……………………………………………………
rpool/export/home@july11             134K      -   162M  -
可以看出现在多了一个134K的rpool/export/home@july11,该项在删除操作之前的大小为0K,
从该snapshot中恢复:
dguo@opensolaris:~# zfs rollback -r rpool/export/home@july11
可以看出删除的文件都回来了。
dguo@opensolaris:~# ls -l
total 145011
-rw------- 1 dguo staff 148260388 2008-08-06 14:21 core
drwxr-xr-x 2 dguo staff         4 2008-08-09 15:57 Desktop
drwxr-xr-x 2 root root          5 2008-08-01 16:51 test
-rw-r--r-- 1 dguo staff       160 2008-08-11 14:49 zfs_note
4。如果对一个文件系统创建多个snapshot,则恢复到较前的snapshot时,较后的snapshot会丢失,如:
dguo@opensolaris:~# zfs snapshot -r rpool/export/home@july12
dguo@opensolaris:~# zfs list
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
rpool                               2.62G  4.70G    55K  /
……………………………………………………………………………………………………………
rpool/export/home@july11            92.5K      -   162M  -
rpool/export/home@july12                0      -   162M  -
dguo@opensolaris:~# zfs rollback -r rpool/export/home@july11
dguo@opensolaris:~# zfs list
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
rpool                               2.62G  4.70G    55K  /rpool
………………………………………………………………………………………………………
rpool/export/home@july11                0      -   162M  -
结论:zfs号称是一个全新的文件系统,与以往的所有文件系统都不同,没有了卷(volume)的概念,所有物理的磁盘组成一个pool,采用类似内存管理中malloc和free的方法来分配空间,文件系统的大小不必是固定的,而是可以动态增长的。这样可以方便的增加物理磁盘,在服务器上还是很有用的。而snapshot给普通用户也提供了一个方便的备份系统的工具,看来还真是有些用处的。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/75247/showart_1120583.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP