TFS 根据block块进行数据迁移
还原工具:sync_by_blk
一、source端环境介绍:
ip:192.168.1.230 端口:8108
source_DS的ip:192.168.1.238 端口:9999
source_DS硬盘挂载个数:1个 max_mountsize:10G
source_DS分区挂载情况
为了体验效果我们上传一张新图片
二、Destination端环境介绍
ip:192.168.1.155 端口:8108
Destination_DS的ip:192.168.1.156 端口:9999
Destination_DS硬盘挂载个数:1个 max_mountsize:20G
开始数据迁移,把Destination_DS里面的数据全部格掉,再迁移数据:
统计source_tfs的blck块信息:
1
2
3
4
5
6
7
8
|
show > block > /tmp/1 .txt
show > exit
过滤掉version, filecount, size, del_file, del_size这几个字段全部为0的那些block_id,剩下的block上都存有实际的数据。 grep - v '0 0 0 0 0' /tmp/1 .txt > /tmp/2 .txt
取出block_id号 cut -c 1-10 /tmp/2 .txt > /tmp/3 .txt
缩进空格 for i in $( cat /tmp/3 .txt); do echo $i >> /tmp/4 .txt; done
|
三、使用tfs自带的sync_by_blk进行数据迁移
在进行数据迁移前要确保两台NS的时间是一致的
1
|
/usr/local/tfs/bin/sync_by_blk -s 192.168.1.230:8108 -d 192.168.1.155:8108 -f /tmp/4 .txt -m 20141121
|
TOTAL COUNT: 0, ACTUAL_COUNT: 8167, SUCCESS COUNT: 8167, FAIL COUNT: 0
四、查看日志
1
2
3
4
5
6
7
|
cd logs
[[email protected] logs] # cat sync_done_blk |wc -l
168 [[email protected] logs] # cat sync_fail_file | wc -l
0 [[email protected] logs] # cat sync_succ_file | wc -l
8167 |
五、验证图片
本文转自 xinsir999 51CTO博客,原文链接:http://blog.51cto.com/xinsir/1580839,如需转载请自行联系原作者