在CentOS7上部署MFS分布式文件系统

MFS原理

MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。

1)MFS文件系统的组成

MFS文件系统的组成架构如图所示。

  • 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据。
  • 元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当Master服务器数据丢失或者损坏时,可以从日志服务器中取得文件,进行恢复。
  • 数据存储服务器(Chunk Server):真正存储数据的服务器。存储文件时,会把文件分块保存,并在数据服务器之间进行复制。数据服务器越多,能使用的“容量”就越大,可靠性就越高,性能也就越好。
  • 客户端(Client):可以像挂载NFS一样挂载MFS文件系统,其操作是相同的。

    2)MFS读取数据的处理过程。

  • 客户端向元数据服务器发出读请求。
  • 元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端。
  • 客户端向已知的Chunk Server请求发送数据。
  • Chunk Server向客户端发送数据。

    3)MFS写入数据的处理过程。

  • 客户端向元数据服务器发送写入请求。
  • 元数据服务器与Chunk Server进行交互(只有当所需的分块Chunks存在的时候才进行这个交互),但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由Chunk Servers告知元数据服务器操作成功。
  • 元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据。
  • 客户端向指定的Chunks Server写入数据。
  • 该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功。
  • 客户端告知元数据服务器本次写入完毕。

实验环境

主机 IP地址 主要软件
Master Server 192.168.58.10 mfs-1.6.27-5.tar.gz
MetaLogger Server 192.168.58.11 mfs-1.6.27-5.tar.gz
Chunk Server1 192.168.58.12 mfs-1.6.27-5.tar.gz
Chunk Server2 192.168.58.13 mfs-1.6.27-5.tar.gz
Client 192.168.58.14 mfs-1.6.27-5.tar.gz fuse-2.9.2.tar.gz

1.搭建Master Server

systemctl stop firewalld.service        //关闭防火墙及增强安全功能
systemctl disable firewalld.service
setenforce 0
yum install -y zlib-devel gcc gcc-c++   //安装软件包

useradd -s /sbin/nologin -M mfs     //创建用户

mkdir /abc      //创建压缩目录
mount.cifs //192.168.58.22/share /abc           //挂载
cd /abc
tar zxvf mfs-1.6.27-5.tar.gz -C /opt        //解压软件包

cd /opt/mfs-1.6.27              //安装软件包
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install 

cd /usr/local/mfs/etc/mfs       //复制配置文件
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cp mfstopology.cfg.dist mfstopology.cfg

cd /usr/local/mfs/var/mfs
cp metadata.mfs.empty metadata.mfs

/usr/local/mfs/sbin/mfsmaster start         //启动Master Server
ps -ef | grep mfs       //检查是否启动

/usr/local/mfs/sbin/mfsmaster -s //停止命令(选择性使用)

2.搭建MetaLogger Server

systemctl stop firewalld.service        //关闭防火墙及增强安全功能
systemctl disable firewalld.service
setenforce 0
yum install -y zlib-devel gcc gcc-c++   //安装软件包

useradd -s /sbin/nologin -M mfs     //创建用户

mkdir /abc      //创建压缩目录
mount.cifs //192.168.58.22/share /abc           //挂载
cd /abc
tar zxvf mfs-1.6.27-5.tar.gz -C /opt        //解压软件包

cd /opt/mfs-1.6.27              //安装软件包
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install

cd /usr/local/mfs/etc/mfs
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vi mfsmetalogger.cfg
...
MASTER_HOST = 192.168.58.10         //修改为Master Server的IP地址
...

/usr/local/mfs/sbin/mfsmetalogger start
ps -ef | grep mfs

/usr/local/mfs/sbin/mfsmetalogger -s        //停止MetaLogger Server(选择性使用)

3.搭建Chunk Server1、Chunk Server2

systemctl stop firewalld.service        //关闭防火墙及增强安全功能
systemctl disable firewalld.service
setenforce 0
yum install -y zlib-devel gcc gcc-c++   //安装软件包

useradd -s /sbin/nologin -M mfs     //创建用户

mkdir /abc      //创建压缩目录
mount.cifs //192.168.58.22/share /abc           //挂载
cd /abc
tar zxvf mfs-1.6.27-5.tar.gz -C /opt        //解压软件包

cd /opt/mfs-1.6.27              //安装软件包
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster \               //注意这里与前面的区别
--disable-mfsmount

make && make install

cd /usr/local/mfs/etc/mfs
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dsit mfshdd.cfg

vi mfschunkserver.cfg
...
MASTER_HOST = 192.168.58.10    //修改为Master Server的IP地址
...

vi mfshdd.cfg
/data       //末尾添加一行,这里的/data是一个给MFS的分区

mkdir /data                     /创建相应/data目录
chown -R mfs:mfs /data          //修改属主属组

/usr/local/mfs/sbin/mfschunkserver start     //启动Chunk Server
/usr/local/mfs/sbin/mfschunkserver -s       //关闭Chunk Server (选择性使用)

4.客户端配置

systemctl stop firewalld.service        //关闭防火墙及增强安全功能
systemctl disable firewalld.service
setenforce 0
yum install -y zlib-devel gcc gcc-c++   //安装软件包

4.1安装FUSE

tar xzvf fuse-2.9.2.tar.gz -C /opt      //先挂载好,然后到目录下解压
cd /opt/fuse-2.9.2  

./configure
make && make install

vi /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH    //添加到末尾
source /etc/profile

4.2安装MFS客户端

useradd -s /sbin/nologin -M mfs
cd /abc
tar zxvf mfs -C /opt

cd /opt/mfs
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount                   //开启MFS挂载功能

make && make install

mkdir /opt/mfs              //创建挂载点
modprobe fuse          //加载fuse模块到内核
/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.58.10
df -hT          //查看挂载情况

vi /etc/profile                     //优化客户端
export PATH=/usr/local/mfs/bin:$PATH            //添加/usr/local/mfs/bin至环境变量
source /etc/profile

5.MFS监控

Mfscgiserv是用python编写的一个Web服务器,其监听端口是9425,可以在Master Server上通过命令/usr/local/mfs/sbin/mfscgiserv来启动,用户利用浏览器就可以全面监控所有客户挂载、Chunk Server、Master Server,以及客户端的各种操作等。
客户端上通过浏览器访问http://192.168.58.10:9425

原文地址:http://blog.51cto.com/13642258/2153931

时间: 2024-10-07 11:34:05

在CentOS7上部署MFS分布式文件系统的相关文章

高效实用,在centos7上搭建MFS分布式文件系统

MFS原理: MFS是一个具有容错性的网络分布式文件系统,他把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源 MFS文件系统组成: 1.元数据服务器(master) 2.元数据日志服务器(metalogger) 3.数据存储服务器(chunk server) 4.客户端(client) 下面进行MFS分布式文件系统搭建演示 案列环境: master server: 192.168.100.128 metalogger server:192.168.100.134 chunk s

九爷带你部署Mfs分布式文件系统

Mfs分布式文件系统 前言:前面我们学习过NFS,以及虚拟化课程的时候我们学习过openfiler,这两个都是属于存储服务器.但是他们有着共同的缺点,就是性能不好,因为都是通过共享方式共享一个存储空间,使得服务器不堪重负,会出现超时的问题,而且存在着单点故障问题,尽管可以用rsync同步数据到另外一台服务器上做备份,但性能方便没有任何提升.而分布式文件系统把数据分散存储在不同的服务器上,读取数据的时候相当于同时读取,不像nfs是一对多的关系,而是多对多的关系,这样可以使得性能得到大幅提升. 今天

轻松部署MFS分布式文件系统 【内附源码包】

MFS概述 MFS是一种分布式文件系统,它把数据分散存放在多个物理服务器上,前面只放置一台负责"调度"元数据服务器,最终呈现给用户的则是一个统一的资源.优点:相对于集中式文件系统来说,分布式系统拥有更好的扩展性.稳定性.数据的安全性.缺点:master只能做单点,会出现单点故障 常规特征 对标准的文件操作来说,mfs用起来跟其它的类unix系统类似:1.分层次的结构(目录树)2.存储POSIX文件属性(权限.最后访问和修改时间)3.支持特殊文件(块和字符设备.管道以及套接字)4.符号连

Centos7.7部署fastdfs分布式文件系统

1.服务器规划 跟踪服务器1:192.168.33.3 跟踪服务器2:192.168.33.4 存储服务器1:192.168.33.5 存储服务器2:192.168.33.6 存储服务器3:192.168.33.7 存储服务器4:192.168.33.8 2.下载相关软件包 git clone https://github.com/happyfish100/....... libfastcommon-1.0.7.tar.gz FastDFS_v5.05.tar.gz fastdfs-nginx-

MFS分布式文件系统之安装部署

MFS分布式文件系统之安装部署 Moose File System 是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上 管理服务器 (managing server) 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝 元数据日志服务器 (Metalogger server) 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作 数据存储服务器 (d

MFS分布式文件系统的部署

MFS分布式文件系统的部署 MFS简介 MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源. MFS文件系统的组成. 元数据服务器(master):负责管理文件系统,维护元数据. 元数据日志服务器(MetaLogger):存放日志文件. 数据存储服务器(Chunk Server):真正存储数据的服务器. 客户端(client):用来挂载MFS文件文件系统的. MFS读取数据的处理过程. 1. 客户端向元数据服务器发出读请求. 2. 元

linux mfs分布式文件系统

mosefs介绍: mooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类UNIX文件系统一样,包含了层级结构(目录树),存储着文件属性(权限.最后访问和修改时间),常见特殊的文件(块设备.字符设备.管道.套接字),符号链接,硬链接.MooseFS[MFS]是一个具有容错性的网络分布式文件系统.它把数据分散存放在多个物理服务器上,但呈现给用户的则是一个统一的资源当我们存储服务器的容量达到瓶颈之后,那我们就需要采用

搭建 MFS 分布式文件系统

MFS分布式文件系统 MFS是一种半分布式文件系统,它是由波兰人开发的.MFS文件系统能够实现RAID的功能,不但能够更节约存储成本,而且不比专业的存储系统差,它还可以实现在线扩展. 分布式文件系统是指文件系统管理的物理存储资源下不一定直接连接在本地节点上,而是通过计算机网络与节点相连. 分布式文件系统的优点是集中访问.简化操作.数据容灾,以及提高了文件的存取性能. MFS文件系统的组成架构: 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据: 元数据日志服务器(Metal

MFS分布式文件系统

防伪码:我没有太多坚强,只比苦难多一点 第十一章  MFS分布式文件系统 前言:几台Web服务器通过NFS共享一个存储,在业务功能上满足需求,但在性能与容量上NFS无法胜任更高的要求.MFS即moosefs,可以提供容量FB级别的共享存储,无需昂贵的专业硬件服务器,自身拥有冗余功能及动态扩容功能,保证数据的安全性.本章将介绍MFS分布式文件系统的原理及环境搭建. 一. 工作原理 1.分布式原理 分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的