内容简介:分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。简单来说,就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来说,要访问这些共享文件时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹,用户感觉不到这些共享文件是分布于各个计算机上的。分布式文件系统的好处是集中访问、简化操作、数据容灾,以及提高文件的存取性能。MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多
什么是MFS?
MooseFS是一个容错,高可用,高性能,扩展,网络分布式文件系统。它将数据分布在多个物理商品服务器上,这些服务器对用户可视为一个虚拟磁盘。它符合POSIX并且像任何其他类Unix文件系统一样支持:
- 分层结构:文件和文件夹,
- 文件属性,
- 特殊文件:管道,插座,块和字符设备,
- 符号和硬链接,
- 安全属性和ACL。
它适用于需要标准文件系统的所有应用程序。
分布式原理
分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。简单来说,就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来说,要访问这些共享文件时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹,用户感觉不到这些共享文件是分布于各个计算机上的。分布式文件系统的好处是集中访问、简化操作、数据容灾,以及提高文件的存取性能。
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操作。用户数据可以在许多存储节点上同时读取/写入,从而避免单个中央服务器或单个网络连接瓶颈。
环境准备
- 使用五台服务器模拟搭建MFS文件系统
- 关闭防火墙及selinux
systemctl stop firewalld setenforce 0
- 虚拟机规划如下
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Master Server | CentOS-7-x86_64 | 172.16.10.21 | 使用yum安装 |
MetalLogger Server | CentOS-7-x86_64 | 172.16.10.26 | |
Chunk Server1 | CentOS-7-x86_64 | 172.16.10.27 | |
Chunk Server2 | CentOS-7-x86_64 | 172.16.10.28 | |
Client | CentOS-7-x86_64 | 172.16.10.29 |
项目实施
搭建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
启动服务
systemctl start moosefs-master systemctl enable moosefs-master netstat -ntap | grep mfs
搭建MetalLogger 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-metalogger -y
修改配置文件
vim /etc/mfs/mfsmetalogger.cfg MASTER_HOST = 172.16.10.21 //地址指向主服务器
启动服务
systemctl start moosefs-metalogger systemctl enable moosefs-metalogger netstat -ntap | grep mfs
搭建Chunk Server
项目中的两台Chunk 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-chunkserver -y
修改配置文件
- 修改mfschunkserver.cfg
vim /etc/mfs/mfschunkserver.cfg MASTER_HOST = 172.16.10.21 //在配置文件中修改,将地址指向主服务器
-
修改mfshdd.cfg
vim /etc/mfs/mfshdd.cfg /chen //在末行添加共享目录
为共享目录授权
chown -R mfs:mfs /chen
启动服务
systemctl start moosefs-chunkserver systemctl enable moosefs-chunkserver netstat -ntap | grep mfs
安装Client
安装软件
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-client -y
加载fuse模块到内核
modprobe fuse
挂载共享目录
mkdir /opt/mfs //创建挂载点 mfsmount /opt/mfs/ -H 172.16.10.21 //挂载,地址为master地址
查看挂载
df -h
常用操作介绍
mfsgetgoal命令用来查询文件被复制的份数,利用-r命令可以对整个目录进行递归,goal是指文件被复制的份数。
mfsgetgoal -r /opt/mfs/
mfssetgoal命令同来设置文件被复制的份数,生产环境中Chunk节点数量应至少大于2,文件副本数量小于等于Chunk服务器数量。
mfssetgoal -r 2 /opt/mfs/
MFS监控
Mfscgiserv是一个用 python 编写的web服务器,监听端口是9425,可以在Master Server启动监控,用户利用浏览器就可以全面监控所有客户挂载、Chunk Server、Master Server,以及客户端的各种操作等。
主服务器上开启监控
mfscgiserv
以上所述就是小编给大家介绍的《Yum简单安装MFS分布式文件系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- HBase 伪分布式模式安装与启动
- Zabbix Proxy 分布式监控安装和配置实践
- 在CentOS 7上安装分布式存储系统Ceph
- 基于Centos7系统安装部署Pinpoint分布式监控
- Golang入门:从安装、部署以及GoLand的安装开始
- Win2016上安装SFB2015先决条件安装失败:RewriteModule
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Music Recommendation and Discovery
Òscar Celma / Springer / 2010-9-7 / USD 49.95
With so much more music available these days, traditional ways of finding music have diminished. Today radio shows are often programmed by large corporations that create playlists drawn from a limited......一起来看看 《Music Recommendation and Discovery》 这本书的介绍吧!