免费注册 查看新帖 |

Chinaunix

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

[新手入门] 利用chfs命令实现对jfs文件系统多阶段snapshot功能及snapshot命令使用实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-16 16:54 |只看该作者 |倒序浏览
今天正好和jat_15  (忘忧草) 讨论关于chfs -a splitcopy的帖子,所以偶刚才也做了一些实验。
结果。。。。无意中发现可以实现snapshot功能。

前提:做过镜像

LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
lvtest                  jfs            1     2     2      open/syncd        /test
第一阶段snapshot:拆分/test,形成第一份snapshot——> /testbak1(此时/test状态变为stale)
#chfs -a splitcopy=/testbak1 /test   (默认copy=2)

LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
lvtest                  jfs            1     2     2      open/stale        /test


第二阶段snapshot:/test已有改动,这时再想做snapshot的话,/test状态必须为syncd(这时就要阴系统一下了,^_^)即对/test再拆分一次,但新的/testbak2的内容与/testbak1一致,然后把/testbak2删掉,此时/test的状态就恢复到syncd,此时再对/test进行拆分,形成第二份snapshot——> /testbak2 内容即改动后/test的内容;


第三阶段 !@#¥%
第四阶段 !@#¥%

以此类推。。。。。

不管/test怎么变化,拆分出的/testbak1、/testbak2、/testbak3。。。。都不会改变。

[ 本帖最后由 chalylau 于 2008-7-18 14:12 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-07-16 16:59 |只看该作者
以上实验是对JFS的,JFS2还没试

论坛徽章:
0
3 [报告]
发表于 2008-07-16 17:02 |只看该作者
效果如下:
#df -k
/dev/lvtest                 131072     81260   39%      126     1% /test
/dev/lvtestcopy00      131072     58096   56%     1535     5% /testbak1
/dev/lvtestcopy01      131072     12440   91%     1644     6% /testbak2
/dev/lvtestcopy02      131072     81260   39%      126     1% /testbak3

[ 本帖最后由 chalylau 于 2008-7-16 17:38 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-07-16 17:13 |只看该作者
当然只要有一个snapshot存在,/test文件系统是删不掉的。

论坛徽章:
0
5 [报告]
发表于 2008-07-16 17:13 |只看该作者
原帖由 chalylau 于 2008-7-16 16:54 发表
正好和一个CUer讨论关于chfs -a splitcopy的帖子,所以偶刚才也做了一些实验。
结果。。。。无意中发现可以实现snapshot功能。

前提:做过镜像

LV NAME             TYPE       LPs   PPs   PVs  LV STA ...


你删除/testbak2的时候,/testbak还存在么?如果存在的话,为什么/test 状态不是陈旧的?不过用次方法形成快照还是慢好玩的,呵呵!有意思,我们去申请诺贝尔吧,好玩的就是几个快照可以并存

[ 本帖最后由 jat_15 于 2008-7-16 17:15 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-07-16 17:15 |只看该作者
原帖由 jat_15 于 2008-7-16 17:13 发表


你删除/testbak2的时候,/testbak还存在么?


当然存在啦,效果如下:
/dev/lvtest                 131072     81260   39%      126     1% /test
/dev/lvtestcopy00      131072     58096   56%     1535     5% /testbak1
/dev/lvtestcopy01      131072     12440   91%     1644     6% /testbak2
/dev/lvtestcopy02      131072     81260   39%      126     1% /testbak3

论坛徽章:
0
7 [报告]
发表于 2008-07-16 17:21 |只看该作者
原帖由 chalylau 于 2008-7-16 17:15 发表


当然存在啦,效果如下:
/dev/lvtest                 131072     81260   39%      126     1% /test
/dev/lvtestcopy00      131072     58096   56%     1535     5% /testbak1
/dev/lvtestcopy01    ...


你是怎么对/test进行第二次拆分的,我测试的结果是:
root:/>chfs -a splitcopy=/data_copy -a copy=2 /data
chfs: /data_copy file system already exists

不会是:
root:/>chfs -a splitcopy=/data_copy1 -a copy=2 /data_copy  ???

root:/>chfs -a splitcopy=/data_copy1 -a copy=2 /data_copy
jfs_syscall: Invalid argument

[ 本帖最后由 jat_15 于 2008-7-16 17:24 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-07-16 17:23 |只看该作者
原帖由 jat_15 于 2008-7-16 17:21 发表


你是怎么对/test进行第二次拆分的,我测试的结果是:
root:/>chfs -a splitcopy=/data_copy -a copy=2 /data
chfs: /data_copy file system already exists


#chfs -a splitcopy=/data_copy2 /data

另:(-a copy=2 可以省去,默认的2)

论坛徽章:
0
9 [报告]
发表于 2008-07-16 17:25 |只看该作者
原帖由 chalylau 于 2008-7-16 17:23 发表


#chfs -a splitcopy=/data_copy2 /data

另:(-a copy=2 可以省去,默认的2)


你是人才,我根本就没有想过可以做第二次拆分,学习了
删除第二个拆分在同步/data是会变为同步,搞不懂,系统被忽悠了

[ 本帖最后由 jat_15 于 2008-7-16 17:28 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-07-16 17:28 |只看该作者
原帖由 jat_15 于 2008-7-16 17:25 发表


你是人才,我根本就没有想过可以做第二次拆分,学习了


无意中,无意中。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP