FastDFS文件系统迁移和数据恢复
迁移步骤
打包旧服务器文件的所有文件
定位到旧服务器的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数据迁移
- 首先关闭fdfs_storage和fdfs_tracker服务。
- 拷贝fdfs_storage目录中的所有数据到新目录。
- 修改storage配置文件中的store_path和base_path到新位置。
- 修改mod_fastdfs.conf配置文件中的store_path和base_path到新位置。
- 根据情况,选择是否修改client配置文件。
- 修改nginx配置文件中的root目录。
- 重启fdfs_tracker和fdfs_storage服务
不同IP数据迁移
不同IP之间迁移采用FastDFS的扩容机制。
- 在新服务器安装FastDFS。
- 将新FastDFS的storage服务实例关联到以前的tracker服务。
- 拷贝以前的storage服务配置为新服务实例的配置文件。
- 启动storage服务。
- FastDFS会自动同步以前服务器上的数据。
- 停止storage服务,将storage配置文件中的tracker地址修改为新的tracer 地址。
- 启动新的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文件系统迁移和数据恢复的更多相关文章
- Centos7迁移fastdfs文件系统
系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这 ...
- fastDFS文件服务器迁移
在实际的项目应用中,由于服务器替换或项目变更难免会存在fastDFS文件服务器迁移的工作.本文重点介绍fastDFS文件系统在不同情况下的文件迁移处理方案. 1.迁移时IP地址不变 通过文件服务器存储 ...
- Fastdfs数据迁移方案
1. 方案背景描述 环境迁移,需要迁移旧环境的fastdfs集群的数据到新环境,由于之前数据迁移仅仅是针对mysql和mongodb,对fastdfs数据的迁移了解甚少,本文档主要是针对fas ...
- Oracle从文件系统迁移到ASM存储
环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM 数据库存储迁移到ASM磁盘组 1.1 编辑参数文件指定新的控制文件路径 1.2 启动数据库到nomo ...
- FastDFS文件系统(二) fastdfs和其他文件系统区别
FastDFS文件系统(二) fastdfs和其他文件系统区别 一.概述 普通存储方案:Rsync.DAS(IDE/SATA/SAS/SCSI等块).NAS(NFS.CIFS.SAMBA等文件系统). ...
- 使用docker搭建FastDFS文件系统
1.首先下载FastDFS文件系统的docker镜像 docker search fastdfs 2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用): docker run ...
- Fastdfs文件系统扩容
1.简介 FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...
- 实战:docker搭建FastDFS文件系统并集成SpringBoot
实战:docker搭建FastDFS文件系统并集成SpringBoot 前言 15年的时候,那时候云存储还远远没有现在使用的这么广泛,归根结底就是成本和安全问题,记得那时候我待的公司是做建站开发的,前 ...
- [SQLServer大对象]——FileTable从文件系统迁移文件
阅读导航 从文件系统中迁移文件到FileTable 批量加载文件到FileTable 如何批量加载文件到FileTable 通过博文[SQLServer大对象]——FileTable初体验,已经可以将 ...
随机推荐
- Tracert 命令
Tracert 命令 Tracert 命令的作用 Tracert命令诊断实用程序通过向目标计算机发送具有不同生存时间的ICMP数据包,来确定至目标计算机的路由,也就是说用来跟踪一个消息从一台计算机到另 ...
- Debian 9.4 多网卡链路聚合bond配置
Debian 9.4 多网卡链路聚合bond配置 安装ifenslave ifenslave 的作用是网卡的负载均衡 root@debian:~# apt-get install ifenslave ...
- Linux useradd 命令介绍
Linux useradd 命令介绍 作者: Alan Formy-duval 译者: LCTT Brooke Lau | 2020-01-06 22:58 使用 useradd 命令来添加用户(并且 ...
- 备份分区,备份文件切割保存 dd
cd /tmp wget dl.fedoraproject.org/pub/epel/6/x86_64/dcfldd-1.3.4.1-4.el6.x86_64.rpm sudo yum install ...
- kafka之一:kafka简介
现在从事java开发的同学,不论是在面试过程中还是在日常的工作中,肯定会碰到消息队列的情况,市面上消息队列有很多:kafka.rocketMQ.rabbitMQ.zeroMQ等,从本篇博客起计划分享一 ...
- js发送请求给服务端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 如何在TVM上集成Codegen(下)
如何在TVM上集成Codegen(下) Bring DNNL to TVM: JSON Codegen/Runtime 现在实现将中继图序列化为JSON表示的DNNL codegen,然后实现DNNL ...
- CodeGen编写自定义表达式标记
CodeGen编写自定义表达式标记 CodeGen支持开发人员通过编写plug-in modules插件模块来定义自定义表达式标记的能力,以提供与这些标记相关联的逻辑.这种plug-in module ...
- 编写可调模板并使用Auto-tuner自动调谐器
编写可调模板并使用Auto-tuner自动调谐器 本文介绍在TVM自动调谐模块. 自动调谐有两个步骤.第一步是定义搜索空间.第二步是运行一个搜索算法来探索这个空间.可以学习如何在TVM中执行这两个步骤 ...
- redis分布式锁扣减库存弊端: 吞吐量低, 解决方法:使用 分段锁 分布式分段锁并发扣减库存--代码实现
package tech.codestory.zookeeper.aalvcai.ConcurrentHashMapLock; import lombok.AllArgsConstructor; im ...