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

相关文章
|
8月前
|
关系型数据库 MySQL 数据处理
TiDB Data Migration (DM):高效数据迁移的实战应用
【2月更文挑战第28天】随着企业对数据处理需求的不断增长,数据库迁移成为一项关键任务。TiDB Data Migration (DM) 作为一款专为TiDB设计的数据迁移工具,在实际应用中表现出色。本文将结合具体案例,详细介绍TiDB DM的应用场景、操作过程及最佳实践,帮助读者更好地理解和运用这一工具,实现高效的数据迁移。
migrate数据迁移使用说明 topthink/think-migration
migrate数据迁移使用说明 topthink/think-migration
161 0
|
分布式数据库 Perl Hbase
HDFS恢复非HA状态
HDFS恢复非HA状态
114 0
HDFS恢复非HA状态
|
存储 API 索引
Elasticsearch集群数据备份与恢复 Snapshot & Restore
Elasticsearch集群数据备份与恢复 Snapshot & Restore
711 0
LXJ
|
关系型数据库 Shell PostgreSQL
PostgreSQL recovery.conf恢复配置
PostgreSQL recovery.conf恢复配置
LXJ
552 0
|
SQL Oracle 关系型数据库
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
1002 0
|
弹性计算 NoSQL
Cassandra数据迁移-BulkLoad离线工具介绍
该工具通过文件流接口快速导入数据到cassandra集群,是最快地将线下数据迁移到线上cassandra集群方法之一,准备工作如下 线上cassandra集群 线下数据,sstable格式或者csv格式。
2243 0
|
SQL 关系型数据库 数据库
使用PostgreSQL逻辑订阅实现multi-master
标签 PostgreSQL , multi master , 逻辑订阅 背景 很多业务要求多活,但是多活中最难搞定的实际上是数据库,大多数业务通过分流,例如将数据根据UID切分到不同的IDC,同一个UID的数据永远只会写到一个IDC中,然后通过数据复制技术,将对应的数据复制到其他的IDC。
4749 0
|
关系型数据库 数据库 PostgreSQL
multi-master - 多主 - 多写 - 如何在多写中避免数据复制打环(死循环)
标签 PostgreSQL , 打环 背景 双写或者多写,除了需要考虑数据冲突的问题,另一个要考虑的就是打环的问题。 为什么会打环呢? DB A <-> DB B 1、A insert into tbl values (1,'test'); 产生redo 同步到B 2、B 接收到同步内容 insert into tbl values (1,'test'); 产生redo 同步到A 3、。
1445 0

热门文章

最新文章