CentOS 7下搭建MFS分布式文件系统

MFS原理

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

MFS文件系统的组成架构:

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

MFS读取数据的过程:

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

MFS写入数据的过程:

  • 客户端向元数据服务器发送写入请求;
  • 元数据服务器与ChunkServer进行交互,但元数据服务器只在某些服务器创建新的分块Chunks,创建成功后由ChunkServers告知元数据服务器操作成功;
  • 元数据服务器告知客户端,可以在哪个ChunkServer的哪些Chunks吸入数据;
  • 客户端向指定的ChunkServer写入数据;
  • 该ChunkServer与其他ChunkServer进行数据同步,同步成功后ChunkServer告知客户端数据写入成功;
  • 客户端告知元数据服务器本次写入完毕。

系统环境:

主机 操作系统 IP地址 软件
Master Server CentOS 7.4 X86_64 192.168.100.131 mfs-1.6.27-5.tar.gz
MetaLogger Server CentOS 7.4 X86_64 192.168.100.132 mfs-1.6.27-5.tar.gz
Chunk Server 1 CentOS 7.4 X86_64 192.168.100.136 mfs-1.6.27-5.tar.gz
Cunk Server 2 CentOS 7.4 X86_64 192.168.100.138 mfs-1.6.27-5.tar.gz
Client CentOS 7.4 X86_64 192.168.100.135 mfs-1.6.27-5.tar.gz、fuse-2.9.2.tar.gz

操作步骤如下所示:

1.搭建Master Server

(1)下载源码包及安装包

#关闭防火墙及Selinux
systemctl stop firewalld.service
setenforce 0
#安装相关依赖包
yum -y install gcc gcc-c++ zlib-devel 

(2)创建用户

useradd -s /sbin/nologin -M mfs

(3)安装源码包

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

cd /opt/mfs-1.6.27-5/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver \   #禁用mfschunkserver功能
--disable-mfsmount        #禁用mfsmout功能

make && make install

(4)复制文件

cd /usr/local/mfs/etc/mfs
cp mfsmaster.cfg.dist mfsmaster.cfg   #主配置文件
cp mfsexports.cfg.dist mfsexports.cfg #被挂载目录及权限配置文件
cp mfstopology.cfg.dist mfstopology.cfg #角色分布文件

(5)防溢出

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

(6)主配置文件mfsmaster.cfg和被挂载目录及权限配置文件mfsexports.cfg配置文件不需要修改

(7)启动Master Server

/usr/local/mfs/sbin/mfsmaster start



停止Master Server的命令是/usr/local/mfs/sbin/mfsmaster -s

2.搭建MetaLoggerServer

(1)下载源码包及安装包

#关闭防火墙及Selinux
systemctl stop firewalld.service
setenforce 0
#安装相关依赖包
yum -y install gcc gcc-c++ zlib-devel 

(2)创建用户

useradd -s /sbin/nologin -M mfs

(3)安装源码包

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

cd /opt/mfs-1.6.27-5/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver \   #禁用mfschunkserver功能
--disable-mfsmount    #禁用mfsmout功能

make && make install

(4)复制文件

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

(5)修改配置文件mfsmetalogger.cfg

vim /usr/local/mfs/etc/mfs/mfsmetalogger.cfg

    MASTER_HOST=192.168.100.131  #修改为Master Server的IP地址 

(6)启动mfsmetalogger Server

/usr/local/mfs/sbin/mfsmetalogger start


3.搭建Chunk Server

两台搭建Chunk Server的步骤是相同的,其步骤如下所示:

(1)下载源码包及安装包

#关闭防火墙及Selinux
systemctl stop firewalld.service
setenforce 0
#安装相关依赖包
yum -y install gcc gcc-c++ zlib-devel 

(2)创建用户

useradd -s /sbin/nologin -M mfs

(3)安装源码包

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

cd /opt/mfs-1.6.27-5/

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster\   #禁用mfsmaster功能
--disable-mfsmount    #禁用mfsmount功能

make && make install

(4)复制文件

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

(5)修改配置文件mfschunkserver.cfg和mfshdd.cfg

vim /usr/local/mfs/etc/mfs/mfschunkserver.cfg

    MASTER_HOST=192.168.100.131  #修改为Master Server的IP地址
    ..... #省略部分内容
vim /usr/local/mfs/etc/mfs/mfshdd.cfg
    .....  #省略部分内容
    /data       #添加一行/data,作为MFS的分区.生产环境最好使用独立分区或磁盘挂载到此目录

(6)创建数据目录

mkdir /data
chown -R mfs:mfs /data

(7)启动mfschunk Server

/usr/local/mfs/sbin/mfschunkserver start

4.搭建客户端

(1)下载源码包及安装包

#关闭防火墙及Selinux
systemctl stop firewalld.service
setenforce 0
#安装相关依赖包
yum -y install gcc gcc-c++ zlib-devel 

(2)安装FUSE

MFS客户端依赖于FUSE

tar xzvf fuse-2.9.2.tar.gz

cd fuse-2.9.2
./configure
make && make install

设置环境变量:

vim /etc/profile

  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

source /etc/profile

(3)安装MFS客户端

useradd -s /sbin/nologin -M mfs

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

cd /opt/mfs-1.6.27-5/
./configure --prefix=/usr/local/mfs \
--with-default-user=mfs --with-default-group=mfs --disable-mfsmaster \   #禁用mfsmaster功能
--disable-mfschunkserver \ #禁用mfschunkserver功能
--enable-mfsmount  #启用mfsmount功能

make && make install

(4)挂载MFS文件系统

mkdir /mnt/mfs   #创建挂载点

modprobe fuse    #加载fuse模块到内核

/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.100.131   #挂载mfs

df -TH   #查看挂载情况

(5)MFS常用操作

为了方便使用MFS的命令,将/usr/local/mfs/bin加入到环境变量中。

vim /etc/profile

   export PATH=/usr/local/mfs/bin:$PATH   #添加

source /etc/profile    

mfssetgoal命令用来设置文件被复制的份数。

创建文件测试如下:

分别去2个chunkserver上查看数据目录/data,结果如下所示:

5.MFS监控

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

在客户端上通过浏览器访问http://192.168.100.131:9425

原文地址:http://blog.51cto.com/11134648/2153228

时间: 2024-11-07 12:09:15

CentOS 7下搭建MFS分布式文件系统的相关文章

搭建 MFS 分布式文件系统

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

高效实用,在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原理 MFS 是一个具有容错性的网络分布式文件系统.它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源. MFS的组成 管理服务器 Master: 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝 元数据日志服务器 MetaLogger: 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs,以便于在 master 出问题的时候.从日志服务器取得文件,进行恢复 数据存储服务器 chunk servers

Linux搭建MFS分布式文件系统

说明: 架构规划 元数据服务器     mfs-master-1             172.16.100.2 备份服务器       mfs-metalogger           172.16.100.4 数据存储服务器   mfs-chunkserver-1        172.16.100.5 数据存储服务器   mfs-chunkserver-2        172.16.100.6 数据存储服务器   mfs-chunkserver-3        172.16.100.

Centos 7搭建GlusterFS分布式文件系统群集

关于GlusterFS分布式文件系统工作原理及相关概述请参考博文:GlusterFS分布式文件系统概述 一.搭建GlusterFS分布式文件系统群集 此案例相关软件包请访问:https://pan.baidu.com/s/1xazQAkR2Lm31njwu88Z9qA 提取码:qdiy 环境如下: 服务器相关信息: 磁盘相关信息: 部署前准备工作:在所有节点上执行以下操作,添加30G新硬盘,通过fdisk分区.mkfs格式化,创建相应的挂载目录,并将格式化的磁盘挂载到相应的目录中.最后根据实际情

MFS分布式文件系统

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

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

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

linux mfs分布式文件系统

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

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

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