Fastdfs文件系统扩容

1.简介

FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

基于FastDFS文件服务器的特性,在做文件扩充容量时,可采取如下两种方案:

  1. 扩充group的存储空间,配置多个存储文件目录地址。
  2. 扩充存储节点,新加服务器配置多个storage。

2.storage文件存储原理介绍

在处理文件服务器扩充容量的时候,首先需要了解文件服务器存储的关键机制和一些重要参数。

  1. 一般设置一个storage属于一个分组group,一个分组group对应的数据存储目录地址可一个或多个。(这一点保证了group的文件地址容量扩展)
  2. 一个group的一个目录存储地址最多可存储的文件个数为:256*256*1000=65536000。storage文件存储机制中,有小文件合并存储到一个大文件的机制。
  3. 一个storage可以配置多个tracker地址,同理一个tracker可以分配文件存储到多个storage上面。(这一点保证了服务器storage容量扩展)
  4. 当一个storage中有多个文件目录地址时,通过tracker.conf中的关键参数store_path,可以配置一个文件在存储时,多个对应存储目录地址的存储机制,如轮询或选择剩余空间大的文件目录。
  5. 当一个tracker对应的存储storage具有多个时,通过tracker.conf中的store_lookup,store_server,可以配置当文件上传时,对应多个storage服务器的存储机制,如轮询或选择空间大的服务器。
  6. storage文件服务器默认存储空间配置时,当达到文件目录空间的10%时,便不可以在存储文件,可通过tracker.conf中的reserved_storage_space参数,修改默认值。
  7. 多个storage可以属于一个组或多个组,当两个或多个storage属于一个组时,各个storage中的文件相互备份。这种机制的优点是保证了文件服务器的备份和负载均衡,缺点是两个storage的存储容量是两个中较小storage的存储容量。

2.基于group模式的文件存储扩容(添加磁盘)

group模式扩容是通过给group的机器添加硬盘的方式,实现某个group的扩容。fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径。如:url “M00/3F/E1/oYYBAFXfyuOABOf5AAAHoDwhqE0491.txt”中M00表示使用store_path0,如果没有配置store_path,就使用base_path的路径。添加了硬盘后,通过把新的store_path指向新硬盘的挂载点,再修改配置文件,就能实现group的扩容。扩容后的地址如:url “M01/3F/E3/oYYBAFXfyuOABOf5AAAHoDwhqE0591.txt”中M01表示使用store_path1。group模式扩容主要步骤如下:

  • 1.停止现有的tracker服务,storage服务,操作指令如:/etc/init.d/fdfs_trackerd stop ,/etc/init.d/fdfs_storaged stop ;
  • 2.修改/etc/fdfs/storage.conf配置文件,修改字段store_path_count,新增store_path1文件存储路径,新建store_path1的文件目录;

  • 3.修改/etc/fdfs/storage.conf/mod_fastdfs.conf配置文件,修改字段store_path_count,新增store_path1文件存储路径,设置group1的配置信息;

  • 4.修改/application/nginx/conf/nginx.conf配置文件,增加store_path1的访问代理;

  • 5.重新启动tracker,storage,nginx服务,通过命令 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf( /usr/bin/fdfs_monitor为f调用astdfs的命令,根据安装目录而定)可查看文件服务器的运行状态和配置信息。

结果展示:调用文件clent.conf配置文件,通过文件上传命令上传文件,查看文件的存储地址信息如下:

3.添加group的文件存储扩容

storage扩容主要是通过新增服务器的模式,在一台电脑上安装多个storage的模式不推荐。新增一台服务器的目的是为了扩容,便不能让新加的storage与原来存在的storage属于同一个组,设置为同一个组并不能扩容,只是备份的效果。已有文件系统信息为:

   单节点文件服务器:ip:10.63.0.155  部署tracer,storage,nginx服务;

扩容信息为:在服务器10.63.0.154上面新建storage存储文件。具体操作步骤如下:

  • 1.在新的服务器上,安装单节点文件服务器,具体安装教程参考:FastDFS教程Ⅰ-文件服务器安装与Nginx配置
  • 2.安装好文件服务器,nginx等相关软件后,设置配置文件storage.conf的tracker地址为10.63.0.155上面的tracker地址;
  • 3.配置storage.conf,mod_fastdfs.conf文件中的group名字,如已经存在的storage属于group2,新加的设置为group1;
  • 4.修改已经存在的tracker服务器配置信息,修改文件有mod_fastdfs.conf,nginx.conf,storage_ids.conf文件;
  • 5.在做扩容时,新的storage配置的存储路径,若在老的tracker服务器上面,没有对应的文件路径地址,在启动tracer服务时,会有启动报文件找不到路径的错误情况,针对这样的问题,在tracker所在服务器上面,配置建立一套这样的文件路径就可以了。这个文件实际并没有存储信息。如:新路径为/data/storage/testtwo,启动tracker报/data/storage/testtwo找不到文件路径,在tracker服务器上面配置这个地址就可以了。
  • 5.重新启动tracker,storage,nginx服务,通过命令 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf( /usr/bin/fdfs_monitor为f调用astdfs的命令,根据安装目录而定)可查看文件服务器的运行状态和配置信息。  

 结果展示:调用文件clent.conf配置文件,通过文件上传命令上传文件,查看文件的存储地址信息如下:

4.fastDFS文件系统扩容方案总结

通过上述两种方式均可以达到文件扩容的目的,对于在服务器上面添加硬盘的模式,建议采用方案1,直接在group新加文件存储地址;在具有新的服务器时,可采用方案2处理。在服务器和硬盘信息都有的情况下,可同时采用这两种模式扩充容量。

添加group:

1. 修改storaged.conf配置文件

2. 修改nginx_http_module模块配置文件

在所有storage机器上,修改/etc/fdfs/mod_fastdfs.conf

group_name=group1/group2/group3  # 所有组名
group_count = 3  # 组的总数

# 把所有组和目录都添加上
[group1]
group_name=group1
storage_server_port=23000
store_path_count=3
store_path0=/var/local/fdfs/data/group1/M00
store_path1=/var/local/fdfs/data/group1/M01
store_path2=/var/local/fdfs/data/group1/M02

# group settings for group #2
# since v1.14
# when support multi-group, uncomment following section as neccessary
[group2]
group_name=group2
storage_server_port=23000
store_path_count=3
store_path0=/var/local/fdfs/data/group2/M00
store_path1=/var/local/fdfs/data/group2/M01
store_path2=/var/local/fdfs/data/group2/M02

[group3]
group_name=group3
storage_server_port=23000
store_path_count=3
store_path0=/var/local/fdfs/data/group3/M00
store_path1=/var/local/fdfs/data/group3/M01
store_path2=/var/local/fdfs/data/group3/M02

原文地址:https://www.cnblogs.com/yipianchuyun/p/10804470.html

时间: 2024-11-10 00:48:58

Fastdfs文件系统扩容的相关文章

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

当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了. FastDFS的扩容分为对group纵向扩容和横向扩容 纵向扩容 指在同一个group组中增加服务器,实现数据冗余,数据备份.同一个group中最大容量取决于最小的storage的存储容量.因此如果还想继续使用此group,则需要对此group对应的所有服务器挂载同样容量的磁盘,指定store_path1--,但这样做的话成本相当的高,不推荐. 横向扩容是通过集群实现,指新增一个group,增加整个FastDFS

FastDFS文件系统(二) fastdfs和其他文件系统区别

一.概述 普通存储方案:Rsync.DAS(IDE/SATA/SAS/SCSI等块).NAS(NFS.CIFS.SAMBA等文件系统).SAN(FibreChannel, iSCSI, FoE存储网络块),Openfiler.FreeNas(ZFS快照复制)由于生产环境中往往由于对存储数据量很大,而SAN存储价格又比较昂贵,因此大多会选择分布式 存储来解决一下问题: 海量数据存储问题 数据高可用问题(冗余备份)问题 较高的读写性能和负载均衡问题 支持多平台多语言问题 高并发问题 主要对别指标 c

Linux文件系统扩容步骤

1 扩容前检查 cat /etc/fstab df -h 在扩容之前请确认VG的Free大小,以及文件和文件系统是否达到系统限制 2 系统识别硬盘 #echo "- - -" > /sys/class/scsi_host/hostNumbers/scan host在ls -lrt /sys/class/scsi_host/目录下查找 3 对于不同的存储查看聚合盘 EMC存储聚合路径软件Powerpath,聚合后的磁盘名称为emcpower #powermt config 链路聚合

通过Nginx访问FastDFS文件系统并进行图片文件裁剪的性能测试和分析

前段时间公司的分布式图片文件系统(FastDFS)做了图片裁剪和缩放功能,并把缩放计算和FastDFS做了解耦分离,前端用虚拟机作为图片文件缩放的访问代理层(Nginx Proxy),后端使用nginx直接访问FastDFS的文件系统.以下是测试和分析过程. 1测试场景 为了测试解耦后的图片读取并发和分析系统瓶颈,我们在内网中搭建了一个测试环境.以下是测试环境的网络的物理架构图: 上图中: NginxProxy:CPU解耦后的图片裁剪代理服务器 Storage:图片的存储服务器 ab:图片访问的

linux上安装fastdfs文件系统

为什么选择Nginx Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应, 感谢Nginx为我们选择了 epoll and kqueue 作为开发模型. Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP

在非LVM分区模式中root文件系统扩容

如果安装Linux系统时选择标准分区,会在后续需要扩容时带来麻烦.有时候我们会发现"/" 文件系统空间使用率接近100%,这时就需要进行扩容.如果安装系统时我们采用LVM分区,扩容就很方便,但是如果我们采用了标准分区方式,这时扩容就有些麻烦了. 扩容前提:必须保证是最后一个分区挂载到 "/"下,在这里我们可以看到最后一个分区为/dev/sda3   具体扩容步骤: 1.增加物理磁盘大小 2.增加分区大小(主要通过fdisk /dev/sda 命令 输入d删除最后一个

Linux磁盘和文件系统扩容彻底研究

1.物理卷: LVM 逻辑卷的底层物理存储单元是一个块设备,比如一个分区或整个磁盘.要在 LVM 逻辑卷中使用该设备,则必须将该设备初始化为物理卷(PV). 2.卷组:物理卷合并为卷组(VG).这样就创建了磁盘空间池,并可使用它分配逻辑卷. 3.逻辑卷:逻辑卷管理会根据物理存储生成提取层,以便创建逻辑存储卷.这样就比直接使用物理存储在很多方面提供了更大的灵活性.使用逻辑卷时不会受物理磁盘大小限制.另外,软件无法看到硬件存储配置,因此可在不停止应用程序或者卸载文件系统的情况下,重新定义大小并进行移

安装fastdfs文件系统

1.下载源码包 需要下载的源码包: fastDFS源代码:FastDFS_v5.01.tar.gz fastDFS的nginx模块源代码:fastdfs-nginx-module_v1.15.tar.gz nginx服务器源代码:nginx-1.4.7.tar.gz nginx依赖的pcre库源代码:pcre-8.34.tar.gz nginx依赖的zlib库源代码:zlib-1.2.8.tar.gz 可以我的微云中下载http://url.cn/4Byr7Ky,也可以网上自行下载: 2.安装,

FastDfs 文件系统迁移

FastDFS架构: FastDFS服务端有三个角色:跟踪服务器(tracker server).存储服务器(storage server)和客户端(client). tracker server:跟踪服务器,主要做调度工作,起负载均衡的作用.在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽.相比GFS中的master更为精简,不记录文件索引信息,占用的内存量很少. storage server:存储服务器(又称:存储节点或数据服务器),文件和文件属性(meta