一、扩容原理
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的配置比较麻烦,需要手动添加组,因此要注意以上要注意的地方不要漏掉了。
- 本文固定链接: http://www.jiagou.cc/1827/
- 转载请注明: 摘星怪 于 架构迷 发表
