当用户量越来越大,则集群中某个 group 总会到达其极限,这时就得扩展集群的容量了.
FastDFS 的扩容分为对 group 纵向扩容和横向扩容
纵向扩容 指在同一个 group 组中增加服务器,实现数据冗余,数据备份.同一个 group 中最大容量取决于最小的 storage 的存储容量.因此如果还想继续使用此 group,则需要对此 group 对应的所有服务器挂载同样容量的磁盘,指定 store_path1......,但这样做的话成本相当的高,不推荐.
横向扩容是通过集群实现,指新增一个 group,增加整个 FastDFS 的存储空间.fastDFS 的存储空间指的是所有 group 加起来的存储容量.
下面就横向扩容来做介绍
在 高可用高性能分布式文件系统 FastDFS 进阶 keepalived+nginx 对多 tracker 进行高可用热备 中已经讲了如何配置集群的 2 个 tracker 和 4 个 storage,分 group1 和 group2,下面增加一组 group3,也由 2 台服务器组成 group3:36,37.
安装 storage
按照 高可用高性能分布式文件系统 FastDFS 进阶 keepalived+nginx 对多 tracker 进行高可用热备 分别布署 storage 存储节点.
安装 nginx 和 fastdfs-nginx-module 到 storage 存储节 36,37.
将 / etc/fdfs/storage.conf 里面的 group_name=group3 其它内容与其它 storage 存储节一样.
然后开启这两个 storage,并加入开机启动:
/usr/bin/fdfs_storaged /etc/fdfs/storage.confchkconfig fdfs_storaged on
查看集群状态,会显示整体内容:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
安装配置 nginx
/opt/nginx/conf/nginx.conf 文件内容与其它结点一样.
但修改 / etc/fdfs/mod_fastdfs.conf
base_path=/data/fastdfs/storage
tracker_server=192.168.80.30:22122
tracker_server=192.168.80.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
注意:
将存储结点 32 到 37 的 / etc/fdfs/mod_fastdfs.conf 里面都加上
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage
启动 Nginx,并加和自启动
shell> /opt/nginx/sbin/nginx
上传测试文件到 group3 上.
浏览器访问测试时上传的文件,应该都能正常访问.
http://192.168.80.36:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg
http://192.168.80.37:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg
配置 Nginx,设置 tracker 负载均衡以及缓存
vi /opt/nginx/conf/nginx.conf
添加以下内容
#设置 group3 的服务器
upstream fdfs_group3 {
server 192.168.80.36:8888 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.80.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 就行了.
从上面来看,给集群增加 group,storage 的安装配置很简单,主要是 nginx 和 fastdfs-nginx-module 的配置比较麻烦,需要手动添加组,因此要注意以上要注意的地方不要漏掉了.
来源: https://www.cnblogs.com/zhangs1986/p/8329555.html