FastDFS教程Ⅲ-文件服务器扩容
1.简介
- 扩充group的存储空间,配置多个存储文件目录地址。
 - 扩充存储节点,新加服务器配置多个storage。
 
2.storage文件存储原理介绍
在处理文件服务器扩充容量的时候,首先需要了解文件服务器存储的关键机制和一些重要参数。
- 一般设置一个storage属于一个分组group,一个分组group对应的数据存储目录地址可一个或多个。(这一点保证了group的文件地址容量扩展)
 - 一个group的一个目录存储地址最多可存储的文件个数为:256*256*1000=65536000。storage文件存储机制中,有小文件合并存储到一个大文件的机制。
 - 一个storage可以配置多个tracker地址,同理一个tracker可以分配文件存储到多个storage上面。(这一点保证了服务器storage容量扩展)
 - 当一个storage中有多个文件目录地址时,通过tracker.conf中的关键参数store_path,可以配置一个文件在存储时,多个对应存储目录地址的存储机制,如轮询或选择剩余空间大的文件目录。
 - 当一个tracker对应的存储storage具有多个时,通过tracker.conf中的store_lookup,store_server,可以配置当文件上传时,对应多个storage服务器的存储机制,如轮询或选择空间大的服务器。
 - storage文件服务器默认存储空间配置时,当达到文件目录空间的10%时,便不可以在存储文件,可通过tracker.conf中的reserved_storage_space参数,修改默认值。
 - 多个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.基于storage模式的文件存储扩容
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.重新启动tracker,storage,nginx服务,通过命令 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf( /usr/bin/fdfs_monitor为f调用astdfs的命令,根据安装目录而定)可查看文件服务器的运行状态和配置信息。
 

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

4.fastDFS文件系统扩容方案总结
通过上述两种方式均可以达到文件扩容的目的,对于在服务器上面添加硬盘的模式,建议采用方案1,直接在group新加文件存储地址;在具有新的服务器时,可采用方案2处理。在服务器和硬盘信息都有的情况下,可同时采用这两种模式扩充容量。
FastDFS教程Ⅲ-文件服务器扩容的更多相关文章
- fastDFS教程Ⅱ-文件服务器迁移
		
在实际的项目应用中,由于服务器替换或项目变更难免会存在fastDFS文件服务器迁移的工作.本文重点介绍fastDFS文件系统在不同情况下的文件迁移处理方案. 1.迁移时IP地址不变 通过文件服务器存储 ...
 - FastDFS教程IV-文件服务器集群搭建
		
1.简介 本文主要介绍FastDFS文件服务器的集群搭建,在阅读本文之前,您需具备FastDFS文件服务器单节点安装,扩容,迁移等方面的知识.同时,您还需了解Keepalived,nginx方 ...
 - Nginx 整合 FastDFS 实现文件服务器
		
原文地址:Nginx 整合 FastDFS 实现文件服务器 博客地址:http://www.extlight.com 一.前言 本篇衔接<FastDFS 环境搭建>内容进行讲解,上篇文章我 ...
 - FastDFS分布式文件服务器
		
5.分布式文件服务器FastDFS(阿里巴巴) 5.1什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制,充分考虑了冗余备份.负载均衡 ...
 - FastDFS教程Ⅰ-文件服务器安装与Nginx配置
		
1.简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载 ...
 - 使用fastdfs搭建文件服务器
		
一:安装tracker 1. 拷贝安装目录下各个.gz文件到/usr/local/src下,解压各个install lib,例如tar zxvf xxx.tar.gz 2. 先安装libfastcom ...
 - Fastdfs文件系统扩容
		
1.简介 FastDFS文件服务器在设计时,为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式.存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是 ...
 - FastDFS 分布式文件系统详解
		
什么是文件系统 文件系统是操作系统用于在磁盘或分区上组织文件的方法和数据结构.磁盘空间是什么样的我们并不清楚,但文件系统可以给我们呈现一个非常清晰的表象,我们可以创建.删除.修改和复制这些文件,而实现 ...
 - 分布式文件系统FastDFS简介、搭建、与SpringBoot整合实现图片上传
		
之前大学时搭建过一个FastDFS的图片服务器,当时只是抱着好奇的态度搭着玩一下,当时搭建采用了一台虚拟机,tracker和storage服务在一台机器上放着,最近翻之前的博客突然想着在两台机器上搭建 ...
 
随机推荐
- Android 6.0运行时权限
			
一.Runtime Permissions Android 6.0在手机安全方面做的一个处理就是增加了运行时权限(Runtime Permissions). 新的权限机制更好的保护了用户的隐私,Goo ...
 - js 判断通过什么打开(安卓、苹果、微信、QQ、浏览器、某个app应用…)
			
/* 获取当前环境: 系统环境: iOS Android PC 浏览器环境 微信内置浏览器.QQ内置浏览器.正常浏览器 是否app内打开 */ var ua = navigator.userAgent ...
 - ajax+分页
			
<!DOCTYPE html> <html> <head lang="zh-cn"> <meta charset="UTF-8& ...
 - MySQL数据库储存bit类型的值报错
			
当我们储存bit类型的值时,不能直接写入数字 上图中的画圈部分就是bit类型,若是直接填入"1"或"0"等等就会报错,如下: 这时候,我们要看bit(M)的M值 ...
 - 《Spark Python API 官方文档中文版》 之 pyspark.sql  (二)
			
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
 - 为Lua5.3编写C模块简单示例
			
为Lua5.3编写C模块简单示例 一.编译安装Lua5.3 MSVC 命令行安装脚本: @echo off md bin md lib md include cd src cl /c /nologo ...
 - PAT-甲级-1003
			
一.看题,https://www.patest.cn/contests/pat-a-practise/1007 其实,也是一顿暴力,但是最后一个测试点会运行超时,最开始,计算一段区间的值的总和的时候, ...
 - geolocation   h5
			
navigator. geolocation.getCurrentPosition() 触发浏览器弹窗询问用户同意访问地址.接收三个参数:成功回调函数,可选的失败回调,可选选项对象 成功回调函数接 ...
 - 数据结构--汉诺塔递归Java实现
			
/*汉诺塔递归 * 1.将编号0-N-1个圆盘,从A塔座移动到B上面 * 2.将编号N的1个圆盘,从A移动到C上面 * 3.最后将B上面的N-1个圆盘移动到C上面 * 注意:盘子的编号从上到下1-N ...
 - Flex布局(引用阮一峰大神)
			
Flex 布局教程:语法篇 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html Flex 布局教程:实例篇 http://www.ruan ...