迁移步骤

打包旧服务器文件的所有文件

定位到旧服务器的tracker和Storage目录,将整个文件夹打包

tar -zcf fdfs-storage-data.tar.gz /fastdfs/storage/data/
tar -zcf fdfs-tracker-data.tar.gz /fastdfs/tracker/data/

将打包后的文件拷贝到新的服务器上

替换文件和修改信息

停止新服务器的tracker服务和Storage服务

删除新服务器的tracker数据,Storage数据,使用旧服务器替换

rm -rf /data/fdfs/stroage/*
rm -rf /data/fdfs/tracker/*
tar xf fdfs-tracker-data.tar.gz
tar xf fdfs-storage-data.tar.gz
mv fastdfs/tracker/* /data/fdfs/tracker/
mv fastdfs/storage/* /data/fdfs/stroage/

修改FastDFS部分文件信息

1 . 修改tracker的data文件

# 修改tracker的data文件
vim /data/fdfs/tracker/data/storage_groups_new.dat
vim /data/fdfs/tracker/data/storage_servers_new.dat
vim /data/fdfs/tracker/data/storage_sync_timestamp.dat
# 将三个文件旧IP设置为新IP

2 . 修改Storage的data文件

fastdfs_storage/data/sync/${ip_addr}_${port}.mark  没有此类文件可不用修改
mv 192.168.0.107_23000.mark 192.168.0.113_23000.mark

修改上述文件将旧IP提换为新fastDFS文件服务器IP

重启文件服务

重启tracker服务和Storage服务即可

service fdfs_trackerd restart
service fdfs_storaged restart

如果使用了自定义server ID特性,那么比较容易,直接将tracker上的IP和ID映射文件storage_ids.conf修改好,然后将storage的data文件一一对应拷贝过去即可。(血泪史!,后续安装的时候最好开启此项特性!)

开启方法:tracker.conf文件中多修改以下三个参数
use_storage_id = true
storage_ids_filename = stirafe_ids.conf
id_type_in_filename = id

小结

同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 需要修改 :

tracker/data/storage_groups_new.dat
tracker/data/storage_servers_new.dat
tracker/data/storage_sync_timestamp.dat

storage server 需要修改:

storage/data/.data_init_flagstorage/data/sync/${ip_addr}_${port}.mark

FastDFS文件系统迁移和数据恢复的更多相关文章

  1. Centos7迁移fastdfs文件系统

    系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这 ...

  2. fastDFS文件服务器迁移

    在实际的项目应用中,由于服务器替换或项目变更难免会存在fastDFS文件服务器迁移的工作.本文重点介绍fastDFS文件系统在不同情况下的文件迁移处理方案. 1.迁移时IP地址不变 通过文件服务器存储 ...

  3. Fastdfs数据迁移方案

    1.     方案背景描述 环境迁移,需要迁移旧环境的fastdfs集群的数据到新环境,由于之前数据迁移仅仅是针对mysql和mongodb,对fastdfs数据的迁移了解甚少,本文档主要是针对fas ...

  4. Oracle从文件系统迁移到ASM存储

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM 数据库存储迁移到ASM磁盘组 1.1 编辑参数文件指定新的控制文件路径 1.2 启动数据库到nomo ...

  5. FastDFS文件系统(二) fastdfs和其他文件系统区别

    FastDFS文件系统(二) fastdfs和其他文件系统区别 一.概述 普通存储方案:Rsync.DAS(IDE/SATA/SAS/SCSI等块).NAS(NFS.CIFS.SAMBA等文件系统). ...

  6. 使用docker搭建FastDFS文件系统

    1.首先下载FastDFS文件系统的docker镜像 docker search fastdfs 2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用): docker run ...

  7. Fastdfs文件系统扩容

    1.简介     FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...

  8. 实战:docker搭建FastDFS文件系统并集成SpringBoot

    实战:docker搭建FastDFS文件系统并集成SpringBoot 前言 15年的时候,那时候云存储还远远没有现在使用的这么广泛,归根结底就是成本和安全问题,记得那时候我待的公司是做建站开发的,前 ...

  9. [SQLServer大对象]——FileTable从文件系统迁移文件

    阅读导航 从文件系统中迁移文件到FileTable 批量加载文件到FileTable 如何批量加载文件到FileTable 通过博文[SQLServer大对象]——FileTable初体验,已经可以将 ...

随机推荐

  1. [刷题] 167 Two Sum II

    要求 升序数组 找到两个数使得它们相加之和等于目标数 函数返回两个下标值(下标从1开始) 示例 输入:numbers = [2, 7, 11, 15], target = 9 输出:[1,2] 思路 ...

  2. 常用的HTML标记

    一.格式标记 1.<br> <br>是一个单标记,用来强制换行. 2.<p> <p>是双标记.用来换分段落. 3.<center> < ...

  3. k8s集群部署(2)

    一.利用ansible部署kubernetes准备阶段 1.集群介绍 基于二进制方式部署k8s集群和利用ansible-playbook实现自动化:二进制方式部署有助于理解系统各组件的交互原理和熟悉组 ...

  4. 1.5linux用户权限相关命令

    用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要 ...

  5. Stm32高级定时器(转自:luowei_memory)

    1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获 ...

  6. 第一章 DevOps概述

    什么是软件开发 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程. 软件开发是一项包括需求捕捉,需求分析,实现和测试的系统工程 软件开发有哪些困难? 软件开发的本质困难 复杂性 不可见性 ...

  7. 【玩转PDF】贼稳,产品要做一个三方合同签署,我方了!

    一.前言 事情是这个样子的,小农的公司,之前有个功能需要签署来进行一系列的操作,于是我们引入了一个三方平台的签署--上上签,但是有一个比较尴尬的点就是,它不支持合同在浏览器上和附件一起预览的,我们想要 ...

  8. 孔乙己,一名ERP顾问

    欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 公司的会议室的格局,是和别处不同的:都是中间一个大的会议圆桌,桌子上面放着各台电脑,可以随时打开ERP系统.做ERP顾问的人,傍午傍晚下了班 ...

  9. 出现 关于UTF-8 序列的字节 2 无效的异常

    学习mybatis中碰到了 Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instanc ...

  10. node.js学习(3)模块

    1.创建文件 count.js 2 调用 3 改造 4 调用 5 再改造 6 在再改造