TFS数据迁移之sync_by_blk

简介:

本文档记录了两套tfs 2.2.16系统之间的数据迁移过程。

Source环境介绍:

Tfs nameserver: 192.168.1.225/24 (vip 229)

Tfs nameserver: 192.168.1.226/24 

Tfs  data server 1: 192.168.1.226/24 (启动三个挂载点,每个挂载点分配20G空间)

Tfs  data server 1: 192.168.1.227/24 (启动三个挂载点,每个挂载点分配20G空间)

Tfs  data server 1: 192.168.1.228/23 (启动三个挂载点,每个挂载点分配20G空间)

 

Target环境介绍:

Tfs namserver: 192.168.1.12/24   (未配置vip

Tfs dataserver: 192.168.1.12/24   (启动三个挂载点,每个挂载点分配20G空间)

  

一:查看当前source服务器状态

1
2
# /usr/local/tfs/bin/ssm -s 192.168.1.229:8108 
show > machine -a

wKioL1Q1533AwEVUAAQ0w1yqjnU811.jpg

二:查看当前target服务器状态

1
2
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108 
show > machine -a

wKiom1Q153CS8-mvAAL4ofughHA396.jpg

三:从source上导出当前存有数据的blockblock_id

1
2
3
4
5
6
7
8
9
10
# /usr/local/tfs/bin/ssm -s 192.168.1.229:8108
show > block > /tmp/1.txt
show > exit
  
# wc -l /tmp/1.txt 
8406 /tmp/1.txt
  
通过观察,过滤掉version, filecount, size, del_file, del_size这几个字段全部为0的那些block_id,剩下的block上都存有实际的数据。
  
# grep -v '0          0          0          0          0'  /tmp/1.txt  > /tmp/2.txt

wKiom1Q156STFzBuAAG4JaZRLQM741.jpg

wKioL1Q15_TBl96aAAIdlpom8uc475.jpg


1
2
取出block_id号
# cut -c 1-10 /tmp/2.txt  > /tmp/3.txt

wKioL1Q16CSicFthAADtC7DHH1o947.jpg


1
2
3
4
缩进空格
# for i in $(cat /tmp/3.txt);do echo $i >> /tmp/4.txt; done 
# wc -l /tmp/4.txt
119 /tmp/4.txt

wKioL1Q16ErC6ZFQAADcd25GGbU765.jpg


四:使用tfs自带的sync_by_blk进行数据迁移

1
# /usr/local/tfs/bin/sync_by_blk -s 192.168.1.229:8108 -d 192.168.1.12:8108 -f /tmp/4.txt

wKioL1Q16HbT3gc5AAICK7X-k3c528.jpg

通过观察日志发现成功同步文件15515个,失败个数为0,未同步的为532

1
2
# /usr/local/tfs/bin/ssm -s 192.168.1.12:8108
show > block

wKiom1Q16GbQ2QoJAARj32KzRmY735.jpg


五:数据比对

1
2
# /usr/local/tfs/bin/ssm -s 192.168.1.229:8108
show > block

wKioL1Q16MCS0skoAALE892MctE254.jpg

Source上的filecount总数为16349

Target上的filecount总数为15515

16349-15515=834

感觉上少了834个文件,834减去未同步的532等于302,再减去删除掉的3个文件,还是少了299个文件。当然这个可能只是统计信息,说明不了什么问题。


六:日志分析

1
2
3
# cd logs/
# wc -l sync_unsync_file 
532 sync_unsync_file

通过分析日志,发现未同步的532个文件里面,文件名除重后实际上只有16个文件而已

1
2
# uniq sync_unsync_file |wc -l
16

wKioL1Q16PyyvYxgAAMlfB5AXRI249.jpg


实际上采用nginx提供的模块直接访问这些文件都是可以的。

wKiom1Q16Ofwk3wAAAFdJEyILmA935.jpg


wKioL1Q16SuwqBFBAASi-0mSKXU326.jpg

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1561516如需转载请自行联系原作者


ylw6006

相关文章
|
6月前
|
关系型数据库 数据库 流计算
Flink CDC在处理Incremental Snapshot PG数据库时
Flink CDC在处理Incremental Snapshot PG数据库时
313 1
|
存储 分布式计算 资源调度
白话Elasticsearch72_利用HDFS备份与恢复ES生产集群的数据
白话Elasticsearch72_利用HDFS备份与恢复ES生产集群的数据
234 0
|
SQL JSON 分布式计算
离线同步 mysql 数据到 HDFS3 | 学习笔记
快速学习离线同步 mysql 数据到 HDFS3
109 0
离线同步 mysql 数据到 HDFS3  |  学习笔记
|
SQL JSON 负载均衡
离线同步 mysql 数据到 HDFS2 | 学习笔记
快速学习离线同步 mysql 数据到 HDFS2
191 0
离线同步 mysql 数据到 HDFS2  |  学习笔记
|
SQL 消息中间件 JSON
离线同步 mysql 数据到 HDFS1 | 学习笔记
快速学习离线同步 mysql 数据到 HDFS1
159 0
离线同步 mysql 数据到 HDFS1  |  学习笔记
|
存储 分布式计算 安全
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
499 0
Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
|
SQL 分布式计算 监控
HDFS 迁移到 CDP
本文整理自 Cloudera 生态资深解决方案工程师王雪峰在 阿里云CDP公开课 上的分享。
HDFS 迁移到 CDP
|
分布式数据库 Perl Hbase
HDFS恢复非HA状态
HDFS恢复非HA状态
108 0
HDFS恢复非HA状态
|
分布式计算 Hadoop Shell
HDFS的高可用性HA配置实战(下)
HDFS的高可用性HA配置实战(下)
205 0
HDFS的高可用性HA配置实战(下)
|
分布式计算 Hadoop 大数据
HDFS的高可用性HA配置实战(上)
HDFS的高可用性HA配置实战(上)
159 0
HDFS的高可用性HA配置实战(上)