暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Fastdfs集群迁移及扩容

IT那活儿 2022-08-29
4011

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

业务场景

  • Fastdfs软件版本

    Fastdfs:5.05

  • 节点架构

    2主机、2nginx、2tracker、2storage

  • 迁移后软件版本

    Fastdfs:6.07

  • 迁移及扩容后架构

    3主机、3nginx、3tracker、3storage


迁移原因描述

1. 老环境版本为5.05通过之前运维情况该版本会出现fastdfs进程占满cpu情况,核实开源社区为该版本的bug,可升级版本解决。

2. 老环境fastdfs为两节点,数据只有两份可靠性不足。

3. 老环境fastdfs的nginx未配置高可用VIP,业务程序也未配置连接fastdfs集群。

结构及详细说明

Fastdfs迁移过程架构图

迁移后解决问题:

  • 迁移同时升级了版本,新环境版本为6.07;
  • 新环境架构为三节点集群,数据三副本,可靠性足;
  • 业务程序整改为连接fastdfs集群及高可用VIP。

迁移过程

1. 在新环境主机26、27、28上安装6.07版fastdfs及nginx(先不启动)。
2. 停掉老环境主机16、17上的nginx、 storage、tracker节点。
3. 拷贝16、17 storage节点的storage/data目录及目录下所有文件到新环境节点26、27对应的storage目录下,修改data目录下隐藏文件.data_init_flag里对应的ip,修改data/sync目录下IP.mark文件名为新环境对应IP.mark。
4. 拷贝16、17 tracker节点的tracker/data目录及目录下所有文件到新环境节点26、27对应的tracker目录下,修改data目录下文件storage_servers_new.dat、storage_sync_timestamp.dat里对应的ip。
5. 启动26、27的nginx、tracker节点、storage节点。

6. 检查集群状态,通过fastdfs自带的monitor工具进行检查。

fdfs_monitor storage.conf
7. 集群状态正常后新增第三个节点28,启动28的storage节点等待同步完成。

8. 同步完成后添加28tracker节点及nginx,需修改26、27、28storage的配置文件里的tracker地址为26、27、28的tracker嗲子并重启26、27、28的storage节点。

迁移总结

1. 通过此次迁移发现fastdfs 6的版本相较于5版本所产生的文件没有太大改动可以直接通过冷拷贝data目录进行升级
2. 在扩容第3个节点时由于原有数据量很大在同步过程中产生了较高流量,建议扩容节点时在业务闲时进行扩容

3. fastdfs业务的使用一般是通过业务程序连接tracker地址进行文件的写入,读取是通过nginx进行读取,所以高可用方面需进行两方面的配置

  • 读取方面进行nginx+keepalived的高可用配置。
  • 写入方面需要业务程序实现连接tracker集群模式。

本文作者:赵 刚(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论