fastdfs迁移与备份

fastdfs迁移可分为三种情况:

  • 迁移后的IP地址不变
  • 迁移后IP地址变化,并采用自定义serverID方式安装的fastdfs
  • 迁移后IP地址变化,采用默认方式安装的fastdfs

本例子中演示的fastdfs都是通过容器方式安装的

迁移后IP地址不变

当迁移后的IP不变时,此时迁移是最简单的,只需要在新的服务器上安装fastDFS,把原来服务器上的tracker和storage下面的所有目录文件拷贝到新服务器,把所有的配置文件拷贝到新服务器,启动tracker和storage服务即可,下面演示下:

原IP地址:192.168.130.128、新IP地址:192.168.130.128

1、首先查看原服务器fastdfs的安装位置,如图:

查看原服务器上传的文件信息,如图:

2、直接将目录/data/fdfs打包,并放在新服务器上,如下:

cd /data
tar -zcvf fdfs.tgz fdfs

3、在新服务器上启动fdfs,因为是容器运行,需要将fdfs目录挂载进去,访问验证,如图:

注:此种方式比较简单,直接全部拷贝过去启动即可

迁移后IP变化,fastdfs采用默认配置安装

fastdfs默认配置安装指的是没有自定义server的ID方式,怎么看是不是默认安装,只需要查看tracker.conf文件即可,如图:

从上图看出,默认的storage的标识类型为ip,id设置为false,没有开启,针对默认安装的方式,迁移的实质就是替换IP地址

  • 源服务器:192.168.130.128,默认方式来标识storage
  • 新服务器:192.168.130.130,默认方式来标识storage

迁移步骤如下:

1、停止新服务器的fastdfs,将源服务器的fdfs目录打包,替换新的fdfs目录,如下:

cd /data/ && tar -zcvf fdfs.tgz fdfs           #192.168.130.128
cd /data/ && rz -y fdfs.tgz && tar xf fdfs.tgz #192.168.130.130

2、修改tracker目录下的data文件,主要是修改以下文件中的ip信息,如下:

  • data/storage_groups_new.dat
  • data/storage_servers_new.dat
  • data/storage_sync_timestamp.dat

3、修改storage的data文件,主要修改下面文件中的IP地址,如下:

  • data/.data_init_flag 注意这个是隐藏文件
  • data/sync/${ip_addr}_${port}.mark:此类文件,需要将文件名中的IP地址调整过来。若sync目录下面没有文件,可不修改

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

5、重启fdfs,然后测试上传下载,以及访问之前存在的文件,无异常说明迁移成功

迁移后IP变化,fastdfs采用自定义server ID方式安装

自定义server ID的意思就是storage不再使用IP标识,而是使用id标识,建议安装的时候就使用此方式安装,只需要在安装时修改tracker.conf,修改位置如下:

修改storage_ids.conf配置文件内容如下:

  • 源机器: 192.168.130.128,通过server id来标识storage的fastdfs
  • 目标机器:192.168.130.130,通过server id来标识storage的fastdfs

迁移步骤如下:

1、停止源服务器的fastdfs,打包stroage0和tracker目录,如下:

cd /data/fdfs && tar -zcvf storage.tgz storage0   #192.168.130.128
cd /data/fdfs && tar -zcvf tracker.tgz tracker    #192.168.130.128

2、打包后覆盖到新服务器的fastdfs的storage0和tracker目录下

tar xf storage.tgz -C /data/fdfs      #192.168.130.130
tar xf tracker.tgz -C /data/fdfs      #192.168.130.130

3、通过Nginx来验证请求即可

为什么不用修改配置文件?

因为我们的新旧机器都是通过server id方式来安装,因此无需改动新机器的配置文件,只需要保持新机器以下两点配置与旧机器相同即可:

  • storage.conf配置:存储路径,组名
  • storage_ids.conf:保证此文件中的id,例如:100001,如果不一样会找不到文件的

当然,如果你直接把配置文件也全部拷贝过来,那就需要修改了

从上面可以看出,通过serverid来标识storage的fastdfs的迁移方法要不默认安装的迁移简单很多,因此,如果考虑到未来迁移,建议通过开启server id的方式部署fastdfs

标签