根据前一篇《FastDFS迁移(一):FastDFS介绍》了解到的FastDFS文件上传下载和文件同步机制,FastDFS迁移可采用在线数据同步的方式,源端老节点可以不用停机,先部署好新的tracker server和storage server,将新的storage server指向老的tracker,作为老的同组号storage server的备份节点,数据同步好之后,再把老的停掉,以防有新的数据写入,将新的storage指向新的tracker,数据同步是否完成看storage server的状态信息即可。具体步骤如下:
1、 在新的storage server服务器上停止所有的storage 进程。
service fdfs_storaged stop
2、修改storage 的配置文件
vim /etc/fdfs/storage.conf
将tracker server改成旧tracker 的ip;
tracker_server=【IP】:22122
保存退出;
3、开始同步
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
4、在旧的tracker_server 查看同步进程
fdfs_monitor /etc/fdfs/storage.conf
状态码为active,则表示新的storage加入之时时间戳之前的存量数据已经同步完成。
5、同步完成后,停掉所有的storage
service fdfs_storaged stop
6、修改storage 的配置文件
vim /etc/fdfs/storage.conf
将配置文件中的tracker server改成新tracker 的ip
tracker_server=【IP】:22122
保存退出
7、开启同步
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
8、修改.data_init_flag文件
cd /songyafeng/fastdfs/storage/data/
vim .data_init_flag
将sync_src_server配置项留空,其它配置项不变
sync_src_server=
9、开启新的storage服务
service fdfs_storaged start
10、检查数据量是否一致,有两种方式:
- 查看源端和目的端storage的同步信息的总数据量total storage是否一致
fdfs_monitor /etc/fdfs/storage.conf
- 查看两边storage的data目录的storage_stat.dat信息数据量是否一致。
参考资料:
https://github.com/happyfish100
https://my.oschina.net/u/4327960/blog/3525690