MFS安装

mfs github地址:https://github.com/moosefs/moosefs

一. 准备

1. 名字解释

  • Mfsmaster 元数据
  • Metalogger 元数据备份,用于恢复数据(和master安装在不同的假期)
  • ChunkServer 数据存储
  • mfscgiserv 监控服务
  • Client 挂载

2. 部署环境

172.16.20.71 Mfsmaster ChunkServer mfscgiserv Client
172.16.20.72 Metalogger ChunkServer Client
172.16.20.72 ChunkServer Client
安装用户:root

3. 关闭防火墙

service firewalld stop

4. 配置master主机地址

三台机器都进行配置
vim /etc/hosts

172.16.20.71    mfsmaster

5.添加用户

useradd -s /sbin/nologin -M mfs

二. 安装

1. 下载源码包并安装

  • 进入到github https://github.com/moosefs/moosefs
  • 根据自己的需求下载相应的版本


    MFS安装_第1张图片
    image.png
# 安装依赖
yum install gcc make libpcap-devel zlib-devel fuse-devel pkgconfig fuse  -y

cd /usr/local/src
# 下载
wget https://github.com/moosefs/moosefs/archive/master.zip

# 将下载的源码包传到其他两台机器, 解压编译安装
unzip master.zip
cd moosefs-master


# 编译安装
sh linux_build.sh && make install

2. 启动不同的服务

2.1 安装master
#71 安装mfsmaster
cd /etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg

#初始化元数据
cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
chown mfs:mfs metadata.mfs
rm metadata.mfs.empty       

启动 : mfsmaster start
停止 :mfsmaster stop

2.2 安装metalogger
# 72 执行
cd /etc/mfs
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg

启动:mfsmetalogger start
停止:mfsmetalogger stop

2.3 安装chunckserver(三台机器安装, 可以根据自己的情况进行配置, 三台都安装就是将实际数据储存到三台机器)
cd /etc/mfs
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
  • 修改配置文件vim mfshdd.cfg
    可以自己选择一个自己的目录
# use hard drive '/mnt/hd1' with default options:
#/mnt/hd1
# 我这里将数据存储到/mfs目录下, 分配10Gb空间, 可以根据实际情况自己进行配置
/mfs 10GiB
  • 创建目录
mkdir /mfs
chown -R mfs:mfs /mfs
chmod 770 /mfs

启动:mfschunkserver start
停止:mfschunkserver stop
修改配置支持平滑加载: mfschunkserver reload

2.4 挂载client

根据实际需要, 在不同的主机挂载客户端

#挂载mfs客户端到/data目录下
mkdir -p /data
mfsmount /data -H mfsmaster
df -h 查看
mount 查看
# 测试
cd /data
touch 1.log
在其他机器/data目录查看文件是否创建成功

#卸载mfs客户端
umount /data

2.5 启动监控
  • 71执行
    mfscgiserv start
  • 浏览器访问
    http://172.16.20.71:9425

三. 集群维护

1. 启动MFS集群

安全的启动MooseFS 集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:
启动mfsmaster 进程

  1. 启动所有的mfschunkserver 进程
  2. 启动mfsmetalogger 进程(如果配置了mfsmetalogger)
  3. 当所有的chunkservers 连接到MooseFS master 后,任何数目的客户端可以利用mfsmount 去挂接被export 的文件系统。(可以通过检查master 的日志或是CGI 监视器来查看是否所有的chunkserver被连接)。

2.停止MFS集群

安全的停止MooseFS 集群:

  1. 在所有的客户端卸载MooseFS 文件系统(用umount 命令或者是其它等效的命令)
  2. 用mfschunkserver stop 命令停止chunkserver 进程
  3. 用mfsmetalogger stop 命令停止metalogger 进程
  4. 用mfsmaster stop 命令停止master 进程

3. 可能出现的问题

  • chunckserver 启动后,并未真正连接到集群
    /var/log/message 报错 MATOCS_MASTER_ACK - wrong meta data id. Can't connect to master
    当前机器作为另一个mfs 集群的chunkserver
    操作:
    1. 停止 chunckserver
    1. 清理 /var/lib/mfs
    2. 清理 挂载目录下的 .metaid
    3. 启动 chunkserver:

  • 句柄数不够
    修改文件数限制

4. MFS副本

  • 设置副本
    mfssetgoal -r 2 /mnt/mfs
  • MFS查看文件夹下的副本
    mfsgetgoal -r /mnt/mfs

你可能感兴趣的:(MFS安装)