构建MFS集群

MFS原理
MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是统一的资源。
MFS文件系统的组成
• 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据。
• 元数据日志服务器(Metalogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当Master服务器数据丢失或损坏时,可以从日志服务器中取得文件,进行恢复。
• 数据存储服务器(Chunk Server):真正存储数据的服务器。存储文件时,会把文件分块保存,并在数据服务器间进行复制。数据服务器越多,能使用的“容量”也越大,可靠性越高,性能也就越好。
• 客户端(Client):可以直接挂载MFS文件系统。
MFS读取数据的处理过程
• 客户端向元数据服务器发出读请求
• 元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端
• 客户端向已知的Chunk Server请求发送数据
• Chunk Server向客户端发送数据
MFS写入数据的处理过程
• 客户端向元数据服务器发送写入请求
• 元数据服务器与Chunk Server进行交互(只有当所需的分块Chunk存在的时候才进行交互),但元数据服务器只在某些服务器创建新的分块chunks,创建成功后由Chunk Servers告知元数据服务器操作成功
• 元数据服务器告知客户端,可以在哪个Chunk Server的那些chunks写入数据
• 客户端向指定的Chunk Server写入数据
• 该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功
• 客户端告知元数据服务器本次写入完毕
MFS优势
• 高可用性:没有单点故障也称为无SPOF配置。文件系统的元数据在物理冗余服务器上保存为两个或多个副本。用户数据冗余地分布在系统中的存储服务器上。
• 低成本的数据安全:MooseFS使用户能够节省大量硬盘空间,保持相同的数据冗余级别。在大多数常见情况下,将节省至少55%的硬盘空间.
• 可扩展性:存储可以扩展到16字节(~16000千兆字节),这使我们可以存储超过20亿个文件
• 高性能:旨在支持高性能I/O操作。用户数据可以在许多存储节点上同时读取/写入,从而避免单个*服务器或单个网络连接瓶颈。

环境准备
Master Server CentOS-7-x86_64 192.168.114.20 使用yum安装
MetalLogger Server CentOS-7-x86_64 192.168.114.21
Chunk Server1 CentOS-7-x86_64 192.168.114.22
Client CentOS-7-x86_64 192.168.114.23

搭建Master Server
添加条目安装软件
curl “https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS” > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

//添加键值
curl “http://ppa.moosefs.com/MooseFS-3-el7.repo” > /etc/yum.repos.d/MooseFS.repo //添加适当的库条目

yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli -y
构建MFS集群
启动服务
构建MFS集群
搭建MetalLogger Server
安装软件

构建MFS集群
修改配置文件
vim /etc/mfs/mfsmetalogger.cfg
构建MFS集群
指向主服务器地址
构建MFS集群
搭建Chunk Server
构建MFS集群
修改配置文件
vim /etc/mfs/mfschunkserver.cfg

构建MFS集群
添加共享路径
vim /etc/mfs/mfshdd.cfg
构建MFS集群
创建共享目录改权限 我路径和创建的目录错了 后面才发现改过来就OK了
构建MFS集群
启动服务
构建MFS集群
安装Client
构建MFS集群
加载模块到内核
modprobe fuse
挂载共享目录
mkdir /opt/mfs //创建挂载点
mfsmount /opt/mfs/ -H 172.16.10.21 //挂载,地址为master地址
构建MFS集群
查看
构建MFS集群
主服务器获取监控
构建MFS集群
查看磁盘状态
构建MFS集群