首页 > 首页 > 文件存储 > 文件系统 > FastDFS > [原创] FastDFS 集群动态扩容
2026
07-19

[原创] FastDFS 集群动态扩容

一、扩容原理

FastDFS的扩容分为纵向扩容和横向扩容

纵向扩容:

指在同一个group组中增加服务器,实现数据冗余,数据备份。同一个group中最大容量取决于最小的storage的存储容量。因此如果还想继续使用此group,则需要对此group对应的所有服务器挂载同样容量的磁盘,指定store_path1,但这样做的话成本相当的高,不推荐。

横向扩容:

通过往集群新增一个group,增加整个FastDFS的存储空间,新数据会写入新的group组中,FastDFS的存储空间指的是所有group加起来的存储容量,此方案操作简单,推荐

二、横向扩容

例如我们现有集群中已经有2个tracker和4个storage,分group1和group2,下面增加一组group3,也由2台服务器组成

group3:

  • 192.168.1.36
  • 192.168.1.37

2.1、安装storage

在192.168.1.36和192.168.1.37上分别进行以下操作

  • 布署storage存储节点
  • 安装 nginx和fastdfs-nginx-module
  • 修改/etc/fdfs/storage.conf里面的group_name=group3,其它内容与其它storage存储节一样

2.2、启动storage服务

# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

# chkconfig fdfs_storaged on

# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

2.3、安装配置nginx

/opt/nginx/conf/nginx.conf 文件内容与其它结点一样,但需要修改/etc/fdfs/mod_fastdfs.conf

base_path=/data/fastdfs/storage
tracker_server=192.168.1.30:22122
tracker_server=192.168.1.31:22122
storage_server_port=23000
group_name=group3 # 第一组storage的组名
url_have_group_name=true
store_path0=/data/fastdfs/storage
group_count=2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage

将存储结点192.168.1.32到192.168.1.35的/etc/fdfs/mod_fastdfs.conf里面都加上如下配置

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage

192.168.1.36、192.168.1.37启动Nginx

# /opt/nginx/sbin/nginx

上传测试文件到group3上,浏览器访问测试时上传的文件,应该都能正常访问。

http://192.168.1.36:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg

http://192.168.1.37:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg

2.4、设置tracker负载均衡

# vi /opt/nginx/conf/nginx.conf

添加以下内容

#设置 group3 的服务器
upstream fdfs_group3 {
server 192.168.1.36:8888 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.37:8888 weight=1 max_fails=2 fail_timeout=30s;
}

添加如下配置


location /group3/M00 {
            proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache http-cache;
            proxy_cache_valid 200 304 12h;
            proxy_cache_key $uri$is_args$args;
            proxy_pass http://fdfs_group3;
            expires 30d;
        }

重载nginx配置

# /opt/nginx/sbin/nginx -s reload

从上面来看,给集群增加group,storage的安装配置很简单,主要是 nginx和fastdfs-nginx-module的配置比较麻烦,需要手动添加组,因此要注意以上要注意的地方不要漏掉了。

最后编辑:
作者:摘星怪
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。