MFS分布式文件系统

1、分布式理论

  • 分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。简单来说就是把一些分散的(分布在局域网各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹,用户感觉不到这些共享问价是分散于各个计算机上的。分布文件系统的好处是集中访问、简化操作、数据容灾,以及提高文件的存取性能。

2、MFS原理

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

3、MFS文件系统的组成。

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

4、实验过程

1)、搭建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仓库

yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli -y

mfsmaster start #开启服务

mfscgiserv #启动Web服务器,监控MFS

2)、搭建Metalogger 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仓库
yum install moosefs-metalogger -y

vim /etc/mfs/mfsmetalogger.cfg #编辑metalogger配置文件

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

metalogger start #开启服务

3)、搭建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仓

yum install moosefs-chunkserver -y

vim /etc/mfs/mfschunkserver.cfg #编辑chunkserver配置文件

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

vim /etc/mfs/mfshdd.cfg

/data                   #添加,/data是一个给MFS的分区,生产环境最好使用独立的分区或磁盘挂载到此目录

mkdir /data #创建/data目录

chown -R mfs:mfs /data #更改属主属组

mfschunkserver start #开启服务

4)、搭建客户端

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仓

yum install moosefs-client -y

mkdir /opt/mfs #创建挂载点

modprobe fuse #加载fuse模块到内核

mfsmount /opt/mfs/ -H 192.168.27.168 #挂载MFS

mfssetgoal -r 3 /opt/mfs #设置文件被复制的份数

mfsgetgoal -r /opt/mfs #查询文件被复制的份数

cd /opt/mfs

touch test #创建文件

mfsgetgoal test #查看文件被复制的份数

MFS分布式文件系统_第1张图片

5)、MFS监控

  • Mfscgiserv是用Python编写的一个Web服务,器监听端口是9425,可以在Master Server上通过命令mfscgiserv来启动,用户利用浏览器就可以全面监控所有客户挂载、Chunk Server、Master Server、以及客户端的各种操作。

MFS分布式文件系统_第2张图片