• 分布式文件系统FastDFS动态扩容


      当用户量越来越大,则集群中某个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.conf
    chkconfig 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的配置比较麻烦,需要手动添加组,因此要注意以上要注意的地方不要漏掉了。

  • 相关阅读:
    游标本次循环,跳过某些语句
    SQL 把结果集的某列连加成一行
    DotNetty 跨平台的网络通信库(转)
    Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍 (转)
    C# Winform应用程序占用内存较大解决方法整理(转)
    (转)vs2010 vs2013等vs中如何统计整个项目的代码行数
    如何将运维的报警做成运营的报警--Java后端架构
    阿里员工内部常用免费工具包 (转)
    ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)
    C#与MATLAB混合编程
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/8329555.html
Copyright © 2020-2023  润新知