FastDFS的数据迁移分为:同IP迁移和不同IP迁移两类。

同IP数据迁移

  1. 首先关闭fdfs_storage和fdfs_tracker服务。
  2. 拷贝fdfs_storage目录中的所有数据到新目录。
  3. 修改storage配置文件中的store_path和base_path到新位置。
  4. 修改mod_fastdfs.conf配置文件中的store_path和base_path到新位置。
  5. 根据情况,选择是否修改client配置文件。
  6. 修改nginx配置文件中的root目录。
  7. 重启fdfs_tracker和fdfs_storage服务

不同IP数据迁移

不同IP之间迁移采用FastDFS的扩容机制。

  1. 在新服务器安装FastDFS。
  2. 将新FastDFS的storage服务实例关联到以前的tracker服务。
  3. 拷贝以前的storage服务配置为新服务实例的配置文件。
  4. 启动storage服务。
  5. FastDFS会自动同步以前服务器上的数据。
  6. 停止storage服务,将storage配置文件中的tracker地址修改为新的tracer 地址。
  7. 启动新的tracker服务和storage服务。

数据恢复

数据恢复是指旧的FastDFS服务已经不能运行,需要将已有的FastDFS数据恢复到新的FastDFS服务中。

如果FastDFS服务使用了V4的ServerID特性,修改storage_ids.conf文件,调整对应关系即可。

如果采用IP地址进行标识,则需要修改tracker 和storage下data目录中的数据文件中的ip地址。tracker server 需要修改 :

  1. tracker/data/storage_groups_new.dat
  2. tracker/data/storage_servers_new.dat
  3. tracker/data/storage_sync_timestamp.dat

storage server 需要修改:

  1. storage/data/.data_init_flag
  2. storage/data/sync/${ip_addr}_${port}.mark