如何将FastDFS存储数据平滑迁移至XSKY对象存储?

2020-08-06 14:43:38来源:威易网作者:

FastDFS是以纯C语言实现的一款开源轻量级分布式文件系统,支持Linux、FreeBSD、AIX等UNIX类系统。

FastDFS是以纯C语言实现的一款开源轻量级分布式文件系统,支持Linux、FreeBSD、AIX等UNIX类系统。

FastDFS不是通用的文件系统,不支持POSIX接口方式,只能通过专有API对文件进行存取访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题。

主要功能有:文件存储,文件同步,文件访问(文件上传/下载),适合以中小文件(建议范围:4KB < file_size<500MB)为载体的在线服务,如相册网站、视频网站等等。

\

FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。

1、跟踪器-Tracker

跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。客户端访问集群的时候会随机分配一个Tracker来和客户端交互;

2、存储节点-Storage

存储服务器(又称:存储节点或数据服务器),实际存储数据的地方,文件和文件属性(meta data)都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件。Group可以隔离不同应用的数据,不同应用的数据放在不同group里面;

3、客户端-Client

作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。每个客户端服务器需要安装Nginx。

由于FastDFS产品非常轻量简单,支持最小化部署,所以目前还有部分用户在使用该产品。但FastDFS被使用在生产环境还有很多隐患和不足:

\

FastDFS主要缺陷

01XEOS对象存储

XEOS (XSKY Enterprise Object Storage)通过全新的存储技术手段,基于通用服务器硬件构建了一个近乎无限扩容、持续在线、可跨地域访问的高性价比存储架构体系,在保证了数据高安全性的同时,打破存储规模和地域限制的壁垒,降低企业 IT 建设的投入,满足了新业务形态的多源化存储需求。

\

XEOS完备的企业级存储特性,如:多副本/EC、QoS、负载均衡、小文件归并、统一命名空间、数据分层等,完美解决了FastDFS的诸多产品问题,平滑的适配了其使用场景。

02X3DS辅助FastDFS 平滑迁移至XEOS

X3DS(XSKY 3D data management System)是XSKY提供的立体数据管理系统。可提供非结构化数据的DR(Disaster Recovery,灾难恢复),DP(Data Protection,数据保护)和DM(Data Migration,数据迁移)这三大管理能力,是一个立体的三维数据管理平台。

\

支持非结构化数据的复制、迁移、备份、归档功能,支持丰富的数据管理策略,满足不同用户的个性化要求。支持多存储后端协议(如:CIFS,NFS,FTP,S3,BOS,OSS,FastDFS等),极大的兼容了市场上主流文件传输协议。

支持跨厂商的文件和对象存储之间数据相互移动,支持跨云的数据上云和下云,适应性广,避免用户被设备厂商和公有云厂商锁定。迁移任务支持断点续传,应对海量数据迁移过程中,如发生机房掉电等故障,故障恢复后,再次启动迁移任务可以实现断点续传,有效节省迁移时间。

1、整体迁移方案架构

\

2、方案特点

可配置迁移QoS;

支持主流协议迁移;

为保证数据可用,业务切换时需要短暂停机做最终数据一致检查;

支持—file-from,指定文件迁移;

支持脚本工具导出FastDFS集群文件ID;

迁移任务支持断点续传。


3、具体部署方案

整体操作流程:

创建源端


\

创建目标端


\

创建迁移任务


\

数据迁移中


\

产品安装部署:

1.目标XEOS集群部署

网络需要与源端集群业务网络连通;

参照《星辰天合分布式存储系统软件安装手册》完成XEOS分布式对象存储安装,初始化配置,调试完毕,准备就绪。


2.信息收集,集群规划

收集原有FastDFS集群相关信息;

结合客户需求定制,规划新集群相关配置信息。


3.迁移流程规划

迁移项目实施需有详尽的方案规划,针对不同的业务应用或者租户,优化切割时间节点;

评估重点业务,为保证迁移的有效性和安全性,需要对验证迁移前后数据的一致性和完整性做整体规划;

确定迁移步骤,顺序,工具,实施人员等信息,给出具体的实施指导手册和计划,以及对应的回退方案。


4.目标端集群配置

目标端集群对应资源的创建(对象资源,永久Token等);

确定新集群和应用业务的对接。


5.Nginx安装

下载并配置FastDFS-Nginx-Module模块,完成在Storage所有节点上Nginx的安装;

Storage节点上对接配置Nginx,并设置开机自启动;

测试Nginx模块。


6.数据迁移

安装配置X3DS

X3DS产品支持融合部署在XEOS存储节点,不需要额外的资源消耗;

上传解压X3DS安装包,一键安装部署;

添加X3DS节点(支持单节点和多节点部署,多节点部署建议至少3个节点) ;

在目标端XSKY存储上创建永久Token;

参照手册创建源端的FastDFS和目标端的XEOS S3的Remote类型;

检查业务网络的连通性,待迁移数据需可以在X3DS业务节点访问。


数据迁移

部署用户提供的文件ID列表保存在X3DS业务节点上;

预测试,使用小部分数据先预测试,验证方案可行性;

配置迁移任务;

迁移完成后,检查一致性。


7.迁移完成,业务切换

迁移完成后,业务切换,验证数据一致性。

03迁移案例

某新消费服务平台在新数据中心建设上采用XSKY XEOS来满足其非结构化数据存储需求。原数据存储在FastDFS文件系统中,总文件数量超过48亿个,总容量超过700TB,数据类型大部分为100-500kb的PDF文件。为了实现数据的统一管理和维护,需要将原FastDFS集群上的数据迁移至新建XEOS对象存储集群中。

1、迁移方式

采用在线迁移的方式进行;

需要多次迁移,停业务完成最后的迁移;

短暂离线迁移主要用于校验数据一致性。


2、第一期迁移

完成数据迁移共计600W+文件;

共计迁移时间4小时。


3、改造后优势

\

 

 

 


相关阅读: