MFS分布式文件系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFS分布式文件系统相关的知识,希望对你有一定的参考价值。
- MFS简介
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
- MFS文件系统的组成架构
元数据服务器(Master):负责管理文件系统,维护元数据。
元数据日志服务器(MetaLogger):当Master服务器数据丢失或损坏时,可以从日志服务器中取得文件,进行恢复。
数据存储服务器(Chunk Server):真正存储数据的服务器。
客户端:挂载MFS文件系统。
- 实验要求:
Master: 192.168.177.140
MetaLogger: 192.168.177.135
Chunk1: 192.168.177.132
Chunk2: 192.168.177.133
Client: 192.168.177.134
搭建Master
# systemctl stop firewalld.service //关闭防火墙
# setenforce 0
# yum install -y zlib-devel gcc gcc-c++ //安装依赖包
-
创建用户
# useradd -s /sbin/nologin mfs //创建管理的用户
- 安装源码包
# tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压
# cd mfs-1.6.27/
./configure --prefix=/usr/local/mfs
--with-default-user=mfs //指定用户
--with-default-group=mfs --disable-mfschunkserver //禁用chunk
--disable-mfsmount //禁用客户端
# make && make install
- 复制文件
# cd /usr/local/mfs/etc/mfs/ //变成可被识别的配置文件
# cp mfsexports.cfg.dist mfsexports.cfg
# cp mfsmaster.cfg.dist mfsmaster.cfg
# cp mfstopology.cfg.dist mfstopology.cfg
# cd /usr/local/mfs/var/mfs/ //防异常退出
# cp metadata.mfs.empty metadata.mfs
- 启动Master
# /usr/local/mfs/sbin/mfsmaster start //启动
搭建MetaLogger Server
- 关闭防火墙,安装依赖包
# systemctl stop firewalld.service # setenforce 0 # yum install -y zlib-devel gcc gcc-c++
-
创建用户
# useradd -s /sbin/nologin mfs //创建管理的用户
- 安装源码包
# tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压
# cd mfs-1.6.27/
./configure --prefix=/usr/local/mfs
--with-default-user=mfs //指定用户
--with-default-group=mfs --disable-mfschunkserver //禁用chunk
--disable-mfsmount //禁用客户端
# make && make install
- 复制文件
# cd /usr/local/mfs/etc/mfs/ //变成可被识别的配置文件
# cp mfsexports.cfg.dist mfsexports.cfg
# cp mfsmaster.cfg.dist mfsmaster.cfg
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg mfstopology.cfg
# cd /usr/local/mfs/var/mfs/ //防异常退出
# cp metadata.mfs.empty metadata.mfs
- 指向Master
# vim mfsmetalogger.cfg MASTER_HOST = 192.168.177.140
- 启动服务
/usr/local/mfs/sbin/mfsmetalogger start
搭建Chuck Server
- 关闭防火墙,安装依赖包
# systemctl stop firewalld.service # setenforce 0 # yum install -y zlib-devel gcc gcc-c++
-
创建用户
# useradd -s /sbin/nologin mfs //创建管理的用户
- 安装源码包
# tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压
# cd mfs-1.6.27/
./configure --prefix=/usr/local/mfs
--with-default-user=mfs //指定用户
--with-default-group=mfs --disable-mfsmaster //禁用Master
--disable-mfsmount //禁用客户端
# make && make install
- 复制文件
# cd /usr/local/mfs/etc/mfs/ //变成可被识别的配置文件
# cp mfschunkserver.cfg.dist mfschunkserver.cfg
# cp mfshdd.cfg.dist mfshdd.cfg
# cd /usr/local/mfs/var/mfs/ //防异常退出
# cp metadata.mfs.empty metadata.mfs
- 指向Master
# vim mfschunkserver.cfg MASTER_HOST = 192.168.177.140
- 将分区挂载到目录下
# vi mfshdd.cfg /data # mkdir /data # chown -R mfs:mfs /data
- 启动服务
/usr/local/mfs/sbin/mfsmetalogger start
另一台Chunk Server也是这样
客户端配置
- 关闭防火墙,安装依赖包
# systemctl stop firewalld.service # setenforce 0 # yum install -y zlib-devel gcc gcc-c++
- 安装FUSE
# tar xzvf fuse-2.9.2.tar.gz -C /opt # 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
-
安装MFS客户端
- 创建用户
```# useradd -s /sbin/nologin mfs //创建管理的用户
- 安装源码包
```# tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压 # cd mfs-1.6.27/ ./configure --prefix=/usr/local/mfs --with-default-user=mfs //指定用户 --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount ```# make && make install```
- 挂载MFS文件系统
# mkdir /opt/mfs //创建挂载点 modprobe fuse //加载fuse模块到内核// /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.177.140 //挂载MFS df -hT //查看挂载情况
- MFS常用操作
# vim /etc/profile export PATH=/usr/local/mfs/bin:$PATH # source /etc/profile # mfsgetgoal -r /opt/mfs/ //查询文件被复制的份数
MFS监控
# /usr/local/mfs/sbin/mfscgiserv //在Master上启动监控程序
以上是关于MFS分布式文件系统的主要内容,如果未能解决你的问题,请参考以下文章