本文接上一篇文章,介绍了tfs 2.2.16版本下采用syn_by_file工具根据文件名来实现两套tfs系统间的数据迁移。测试的环境同上一篇文章一致。
一:清除上一次迁移结束后target上的数据
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108 show > block
# /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
# /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环境恢复到迁移前的初始状态
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108 show > block
三:准备文件名列表
这个列表在上一次迁移完后会在logs目录下产生sync_succ_file文件,复制文件内容出来即可。注意,文件名可能会有重复。
# 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
四:开始迁移
# /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
五:查看结果
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108 show > block
六:验证
时间: 2024-11-08 01:53:28