在实际的项目应用中,由于服务器替换或项目变更难免会存在fastDFS文件服务器迁移的工作。

一、迁移时IP地址不变

通过文件服务器存储规则定义,发现当ip地址没有发生变化时,这种文件服务器迁移是最简单的,只需要在新的服务器上安装fastDFS,把原来服务器上的tracker和storage下面的所有目录文件拷贝到新服务器,把所有的配置文件拷贝到新服务器,启动tracker和storage服务即可。

二、迁移时IP地址变化采用自定义server ID模式安装

在fastDFS文件服务器安装时,若前期考虑了文件迁移的需求采用了自定义server ID特性安装文件服务器(fastDFS安装请参考上一篇博客:FastDFS与Nginx的配置说明),在做新文件迁移时仅需如下操作(这种迁移测试很简单,变化ip时既可测试):

1、安装新的fastDFS文件服务器;

2、关闭tracker服务和storage服务;

3、拷贝原有文件服务器tracker和storage下面的所有目录文件;

4、拷贝原有文件服务器的配置文件,如图:

将服务器文件传到docker内部 服务器文件迁移_文件服务器


5、编辑stroage_ids.conf文件,修改新的ip地址,如下图:

将服务器文件传到docker内部 服务器文件迁移_将服务器文件传到docker内部_02


6、修改client.conf,storage.conf,mod_fastdfs.conf(若配置了 Servier ID模式,可以不修改)文件中的ip地址为新的ip地址。

7、启动tracker服务和storage服务;

8、利用ngigx测试下载以前服务器中存成的文件,下载原文件成功表示迁移成功。

三、迁移时IP地址变化采用默认配置安装

在这种模式下,文件迁移本质就是替换ip地址,找到文件服务器中配置文件与ip地址相关的文件替换后就可以了。但不建议采用这种模式安装,且一旦使用这样的模式安装后,需要切换为自定义 Server ID时,会报ip已经重复的异常,导致切换自定义安装失败(除非删除以前的存储文件)。为了迁移以前的文件数据,需进行如下操作:

1、新服务器停止tracker和storage,分别将其数据文件目录用旧服务器的文件替换掉。

2、删除新服务器data数据,使用旧服务器data替换

3、修改tracker的data文件,主要是修改以下文件中的ip信息。
data/storage_groups_new.dat
data/storage_servers_new.dat
data/storage_sync_timestamp.dat

4、修改storage的data文件,主要是修改以下文件中的ip信息 。
data/.data_init_flag
data/sync/KaTeX parse error: Expected group after '_' at position 10: {ip_addr}_̲{port}.mark:此类文件,需要将文件名中的IP地址调整过来。若sync目录下面没有文件,可不修改。

5、修改client.conf,storage.conf,mod_fastdfs.conf文件中的ip地址为新的ip地址。

6、利用ngigx测试下载以前服务器中存成的文件,下载原文件成功表示迁移成功。

将服务器文件传到docker内部 服务器文件迁移_服务器_03