什么是MFS?
MooseFS是一个容错,高可用,高性能,扩展,网络分布式文件系统。它将数据分布在多个物理商品服务器上,这些服务器对用户可视为一个虚拟磁盘。它符合POSIX并且像任何其他类Unix文件系统一样支持:
- 分层结构:文件和文件夹, 文件属性,
- 特殊文件:管道,插座,块和字符设备, 符号和硬链接, 安全属性和ACL。
它适用于需要标准文件系统的所有应用程序。
MFS文件系统的组成
- 元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据。
- 元数据日志服务器(Metalogger):备份Master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当Master服务器数据丢失或损坏时,可以从日志服务器中取得文件,进行恢复。
- 数据存储服务器(ChunkServer):真正存储数据的服务器。存储文件时,会把文件分块保存,并在数据服务器间进行复制。数据服务器越多,能使用的“容量”也越大,可靠性越高,性能也就越好。
- 客户端(Client):可以直接挂载MFS文件系统。
搭建
环境准备
使用五台centos7服务器模拟搭建MFS文件系统,注意已下事项
关闭防火墙及selinux
systemctl stop firewalld
systemctl disable firewalld.service
setenforce 0
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
服务器分布情况
|服务名称|IP|
|--|--|
| Master Server |192.168.0.100|
| MetalLogger Server |192.168.0.101|
| Chunk Server1 |192.168.0.102|
| Chunk Server2 |192.168.0.103|
| MFS Client 磁盘挂载 |192.168.0.104|
开始搭建
整体环境说明:采用源码安装,源码在github下载,可以下载指定版本安装。每台服务器源码编译、安装都一样,只要每台服务器启动对应的程序就可以。
源码编译安装
以192.168.0.100服务器为例子进行源码安装并启动Master ,权限全部以root用户进行安装。
yum install gcc gcc-c++ make zlib-devel fuse-devel -y
useradd -s /sbin/nologin mfs
cd /home/root/
# 根据实际情况安装指定版本
wget https://github.com/moosefs/moosefs/archive/refs/tags/v3.0.100.zip
unzip v3.0.100.zip
cd moosefs-3.0.100
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && <