MFS文件系统的组成架构:
如图
元数据服务器(Master):负责管理文件系统,维护元数据;
元数据日志服务器(c):备份Master服务器的变化日志文件;
数据存储服务器( Chunk Server):真正存储数据的服务器;
客户端(Client)可像挂载NFS一样挂载MFS文件系统
案例环境:
主机 |
操作系统 |
Ip地址 |
主要软件 |
Master Server |
CentOs7.4 |
192.168.80.181 |
moosefs-3.0.100-1.tar.gz |
MetaLogger Server |
CentOs7.4 |
192.168.80.182 |
moosefs-3.0.100-1.tar.gz |
Chunk Server1 |
CentOs7.4 |
192.168.80.183 |
moosefs-3.0.100-1.tar.gz |
Chunk Server2 |
CentOs7.4 |
192.168.80.184 |
moosefs-3.0.100-1.tar.gz |
Chunk Server3 |
CentOs7.4 |
192.168.80.186 |
moosefs-3.0.100-1.tar.gz |
Client |
CentOs7.4 |
192.168.80.185 |
moosefs-3.0.100-1.tar.gz fuse-2.9.2.tar.gz |
第一步:搭建Master server
准备工作:
service firewalld stop
setenforce 0
yum install -y zlib-devel
groupadd mfs
useradd -s /sbin/nologin -g mfs -M mfs
编译安装moosefs
tar xf moosefs-3.0.100-1.tar.gz -C /opt/
cd /opt/moosefs-3.0.100/
./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.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
cp mfstopology.cfg.sample mfstopology.cfg
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs
chown mfs:mfs /usr/local/mfs/var/mfs ---设置权限
/usr/local/mfs/sbin/mfsmaster start ---启动
netstat -anpt | grep mfs
第二步:搭建MetaLogger server
与上步到编译安装处都一样操作
下面拷贝配置文件模板:
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
cd /usr/local/mfs/var/mfs
mv metadata.mfs.empty metadata.mfs
cd /usr/local/mfs/etc/mfs/
vi mfsmetalogger.cfg ---编辑配置文件
/usr/local/mfs/sbin/mfsmaster start ---启动
netstat -anpt | grep mfs
第三步:搭建chunkserver
与上步到编译安装处都一样操作
cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
vi mfschunkserver.cfg
MASTER_HOST = 192.168.80.181
vi mfshdd.cfg
/data ---把数据存放在这个目录
mkdir /data
chown -R mfs:mfs /data
/usr/local/mfs/sbin/mfschunkserver start --启动
netstat -anpt | grep mfs
其他两台chunkserver相同配置即可。
第四步:客户端配置
service firewalld stop
setenforce 0
yum install -y zlib-devel
tar xzvf fuse-2.9.2.tar.gz
cd 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客户端
groupadd mfs
useradd -s /sbin/nologin -g mfs -M mfs
tar xf moosefs-3.0.100-1.tar.gz -C /opt/
cd /opt/moosefs-3.0.100/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfschunkserver \
--enable-mfsmount
make && make install
编译安装完成
mkdir /opt/mfs
modprobe fuse
/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.80.181 //master地址
df -hT
优化客户端
vi /etc/profile
export PATH=/usr/local/mfs/bin:$PATH
source /etc/profile
-------
mfsgetgoal -r /opt/mfs/ //查看备份目录中文件的拷贝份数
mfssetgoal -r 3 /opt/mfs/ //设置备份目录中文件的拷贝份数,不要大于chunkserver的总数
mfsgetgoal 文件名 //查看指定文件或目录的拷贝份数
-----MASTER-server-----启动监控程序--
/usr/local/mfs/sbin/mfscgiserv
http://192.168.80.181:9425/mfs.cgi?masterhost=xa //注意主机名