搭建MFS分布式文件管理系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建MFS分布式文件管理系统相关的知识,希望对你有一定的参考价值。

MFS原理

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

  • MFS的组成

管理服务器 Master: 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
元数据日志服务器 MetaLogger: 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs,以便于在 master 出问题的时候。从日志服务器取得文件,进行恢复
数据存储服务器 chunk servers: 听从管理服务器调度,提供存储空间,并为客户提供数据传输.。 真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器 之间复制。 数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。
客户机 client :挂载使用 挂载进程 mfs 服务器共享出的存储并使用。

名称 IP 操作系统 需要环境
Master servicer centos7.3 192.168.100.21 mfs
Metalogger sevicer centos7.3 192.168.100.22 mfs
chunk server1 centos7.3 192.168.100.23 mfs
chunk server2 centos7.3 192.168.100.24 mfs
client centos7.3 192.168.100.25 mfs fuse

安装方法一使用yum 在在线安装

使用YUM安装配置
添加键值:

# 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
然后安装适当的MooseFS组件
主服务器:Master

# yum install -y moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
# systemctl start moosefs-master    //启动主服务
# ps -ef | grep mfs   //查看端口
元数据日志服务器 Metaloggers

# yum install -y moosefs-metalogger
# vim mfsmetalogger.cfg
    MASTER_HOST=192.168.200.129
# systemctl start moosefs-metalogger    //启动日志服务器
  1. 搭建Master server 我使用的手工编译安装所有要安装一些环境
yum install -y zlib-devel gcc gcc-c++
useradd mfs -s /sbin/nologin  #添加管理用户
./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  //开启
/usr/local/mfs/sbin/mfsmaster -s \停止
主的就不用在配置了

搭建MetaLogger server

useradd mfs -s /sbin/nologin
./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.dist mfshdd.cfg
vi mfsmetalogger.cfg
MASTER_HOST = 192.168.100.21
vi mfshdd.cfg
/data #指明共享的文件

mkdir /data #创建共享目录
chown -R mfs:mfs /data #给与权限

/usr/local/mfs/sbin/mfschunkserver start # 开启服务

技术分享图片
搭建两台chunkserver

两台都是一样的配置
yum install -y zlib-devel gcc gcc-c++
useradd mfs -s /sbin/nologin -M          //创建管理用户
tar xzvf 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.dist mfshdd.cfg

vim mfschunkserver.cfg
......
MASTER_HOST = 192.168.10.154         //IP指向master

vim mfshdd.cfg
......
/data            //添加一行/data,在这里/data是一个给MFS的分区,生产环境最好使用独立的分区或磁盘挂载到此目录

mkdir /data
chown -R mfs:mfs /data

/usr/local/mfs/sbin/mfschunkserver start   //开启
/usr/local/mfs/sbin/mfschunkserver start -s    \停止

技术分享图片
客户端配置

yum install -y zlib-devel gcc gcc-c++

tar xzvf fuse-2.9.2.tar.gz -C /opt        //mfs客户端依赖于fuse
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

--安装mfs客户端----
useradd mfs -s /sbin/nologin -M
tar xzvf 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 --enable-mfsmount      //注意此处开启客户端

make && make install

将MFS文件系统挂载在前端php服务器的/var/www/html/webphp/uploads/photos目录下
---------------------------------------------------
mkdir -p /var/www/html/webphp/uploads/photos         //创建挂载点
modprobe fuse                     //加载fuse模块到内核
/usr/local/mfs/bin/mfsmount /var/www/html/webphp/uploads/photos -H 192.168.100.21        //挂载MFS
-------------------------------------------
-----MASTER-server-----启动监控程序--
/usr/local/mfs/sbin/mfscgiserv
http://192.168.175.128:9425

技术分享图片
技术分享图片

以上是关于搭建MFS分布式文件管理系统的主要内容,如果未能解决你的问题,请参考以下文章

搭建MFS分布式文件系统

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

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

Linux搭建MFS分布式文件系统

MFS分布式文件系统搭建

MFS分布式文件系统服务搭建