场景介绍:
系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这样文件在文件系统中的位置也不会发生变化,访问文件时文件地址只需要修改为迁移后的ip即可,那就这么干。
解决方案:
1.在需要迁移的那边用同同样的docker镜像构建FastDFS文件系统,容器映射目录、http访问端口尽量保持不变。
2.将tracker目录下的data文件夹直接拷贝过去,覆盖新的文件系统中的tracker中的data目录,进行如下的修改:
data|storage_groups_new.dat
data|storage_servers_new.dat
data|storage_sync_timestamp.dat
将上述文件中的旧ip改为新地址的ip即可。
3.将storage目录下的data文件夹之际拷贝过去,覆盖新的文件系统中的storage中的data目录,进行如下的修改(使用ll -a查看隐藏文件):
data|.data_init_flag
data|sync|${IP_addr}_${port}.mark
将上述文件中的旧ip改为新地址的ip即可。
4.将上面都修改完成之后,启动集群,关闭防火墙,在新的服务器环境下通过url访问文件系统中的文件,即可获取到文件。
5 若迁移前后ip地址和端口不发生变化,一一对应,可直接将data目录拷贝过去,不需要修改任何信息。