本文接上一篇文章,介绍了tfs 2.2.16版本下采用syn_by_file工具根据文件名来实现两套tfs系统间的数据迁移。测试的环境同上一篇文章一致。
一:清除上一次迁移结束后target上的数据
1
2
|
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108
show > 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:8108
show > block
|
三:准备文件名列表
这个列表在上一次迁移完后会在logs目录下产生sync_succ_file文件,复制文件内容出来即可。注意,文件名可能会有重复。
1
2
3
4
5
6
7
8
9
10
11
12
|
# tail -5 /tmp/file1.txt
T1mtdTBmV41R4bAZ6K
T1mtdTBK_41R4bAZ6K
T1mtdTBKA41R4bAZ6K
T1mtdTBTd41R4bAZ6K
T1mtdTBg_41R4bAZ6K
# wc -l /tmp/file1.txt
10730 /tmp/file1.txt
# uniq /tmp/file1.txt |wc -l
9575
|
四:开始迁移
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:8108
show > block
|
六:验证
本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1562159如需转载请自行联系原作者
ylw6006