Yum简单安装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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
VMWare vShere/ESX硬盘的后置备与精简配置之间的转换
VMWare vShphere/ESX 有如下三种硬盘置备方式: 1、厚置备延迟置零(Thinck Provision Lazy Zeroed):默认的创建格式,创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成IO,即:分配好空间,执行写操作时才会按需要将其置零。 2、厚置备置零(Thick Provision Eager Zeroed): 创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。并将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。即:分配好空间并置零操作,有IO的时无需等待任何操作直接执行。 3、精简置备(Thin Provision): 精简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少。当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行清零操作,也就是说如果使用精简配置在有IO的时候需要:等待分配空间和清零,这两个步骤完成后才能进行操作,对于IO叫频繁的应用这样性能会有所下降,虽然节省了存储空间。...
- 下一篇
从零构建ipa-server.实现ldap+kerberos网络用户验证
redhat7 linux domain identity,authentication,and policy linux 的域标识,认证,和策略 IPA-server服务,通过网络用户和组连接系统。 1,用户信息和认证服务介绍 1.1随着现在网络的发展,在企业中主机也越来越多,主机用户管理变成一件很艰难的任务,一种解决方式,账号信息不存放在本地系统中,而是账号信息存储在一个中心位置,实现用户的集中管理。单点登录(single sign on )简称SSO,是目前比较流行的企业业务整合的解决方案之一,SSO的定义是定义在多个应用系统中,用户只需要登录一次就可以访问所有信任的应用系统。 1.2构建一个集中认证管理系统需要提供:账户信息和认证信息 1.2.1账户信息:包含如,用户名,UID,GID等 存储账号信息流行的解决方案:LADP,NIS,AD或IPA-server 1.2.2认证信息:密码,指纹等。 ldap服务 kerberos 是一种网络认证协议,仅提供SSO认证服务,通常和LDAP一起使用。 典型的实现方案:AD(微软活动目录)和IPA-server 2,从零搭建IPA-se...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境