本文接上一篇文章,介绍了tfs 2.2.16版本下采用syn_by_file工具根据文件名来实现两套tfs系统间的数据迁移。测试的环境同上一篇文章一致。
一:清除上一次迁移结束后target上的数据
|
1
2
|
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108show > block |
|
1
2
3
4
5
6
|
# /usr/local/tfs/scripts/tfs stop_ds 1-3 dataserver 1 exit SUCCESSFULLY
dataserver 2 exit SUCCESSFULLY
dataserver 3 exit SUCCESSFULLY
# /usr/local/tfs/scripts/stfs clear 1-3 |
|
1
2
3
4
5
6
7
8
|
# /usr/local/tfs/scripts/stfs format 1-3# /usr/local/tfs/scripts/tfs stop_ns# /usr/local/tfs/scripts/tfs start_ns # /usr/local/tfs/scripts/tfs start_ds 1-3 dataserver 1 is up SUCCESSFULLY pid: 25002
dataserver 2 is up SUCCESSFULLY pid: 25001
dataserver 3 is up SUCCESSFULLY pid: 25000
|
二:重新格式化dataserver的mountpoint之后,target环境恢复到迁移前的初始状态
|
1
2
|
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108show > block |
三:准备文件名列表
这个列表在上一次迁移完后会在logs目录下产生sync_succ_file文件,复制文件内容出来即可。注意,文件名可能会有重复。
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# tail -5 /tmp/file1.txt T1mtdTBmV41R4bAZ6KT1mtdTBK_41R4bAZ6KT1mtdTBKA41R4bAZ6KT1mtdTBTd41R4bAZ6KT1mtdTBg_41R4bAZ6K # wc -l /tmp/file1.txt 10730 /tmp/file1.txt # uniq /tmp/file1.txt |wc -l9575 |
四:开始迁移
|
1
2
3
4
5
6
|
# /usr/local/tfs/bin/sync_by_file -s 192.168.1.229:8108 -d 192.168.1.12:8108 -f /tmp/file1.txt -m 20140926 -l error-s 参数指定source的nameserver的ip和端口-d参数指定target(destination)的nameserver的ip和端口-f参数指定列表的文件名-m参数指定文件的修改时间,文件修改时间在-m参数值之后的文件都会被忽略,不进行同步。-l 参数代表日志级别,默认为info |
五:查看结果
|
1
2
|
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108show > block |
六:验证
本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1562159如需转载请自行联系原作者
ylw6006