MooseFS分布式文件系统
MooseFS分布式文件系统部署
一、概述
MooseFS是一款容错、可横向扩展的分布式文件系统,可运行在普通x86服务器硬件之上,支持PB级数据存储,能够实现数据冗余、高可靠访问,分为社区开源版MooseFS 4 CE与商业专业版MooseFS5 Pro,本实验基于Rocky Linux9操作系统,搭建MooseFS4 CE开源分布式存储集群,完成Master主元数据节点、Chunkserver数据存储节点、Client客户端完整部署流程,实现分布式存储挂载使用。
实验环境:多台Rocky Linux9虚拟机
server1:Master元数据主节点
server2、server3:Chunkserver数据存储节点
server4:MooseFS客户端节点
二、MooseFS产品介绍
2.1 产品官网与版本说明


MooseFS官网提出设想:普通商用硬件能否实现免维护的PB级存储。 版本区分:
MooseFS 4 CE:GPLv2开源协议,永久免费,适合开发、测试、小规模部署。
MooseFS 5 Pro Personal:面向个人开发者家庭实验室,提供故障自动切换、多位置集群、高级纠删码,非商用20TiB以内免费。
MooseFS 4 Pro /5 Pro:面向生产商业环境,提供7×24技术支持。
2.2 MooseFS架构

组件说明:
Master(Leader Master):主元数据服务,管理整个集群元数据,目录、文件属性、块存储位置。
Followers:Master从节点,用于高可用。
Metaloggers:元数据日志服务器,备份元数据变更日志。
Chunkservers:数据块存储服务器,真正存放业务数据。
Clients:客户端,通过网络挂载MooseFS分布式文件系统使用。
三、实验环境准备
3.1 软件源准备
MooseFS官方提供RPM软件仓库,针对el8/el9/el10等RHEL系列系统提供对应rpm包,每一台集群虚拟机都需要导入GPG密钥、配置yum软件源。



仓库地址区分不同el版本,Rocky Linux9对应el9源。
核心操作命令(所有节点执行)
#导入GPG密钥
curl "https://repository.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
#写入repo源文件
curl "http://repository.moosefs.com/MooseFS-4-el9.repo" > /etc/yum.repos.d/MooseFS.repo
执行curl导入仓库密钥与repo配置文件,实操截图:

注意:操作时容易出现路径书写错误,/etc/yum.repos.d/不能少写斜杠。
3.2 DNS/hosts解析规划

MooseFS推荐使用DNS解析master主机名,生产高可用环境必须DNS;测试环境没有DNS服务器,所有节点修改/etc/hosts做本地主机名解析,模拟域名解析。
3.3 CPU性能调优(Power governor)
MooseFS Master节点对CPU性能敏感,动态节能调频会带来延迟抖动,官方建议CPU电源策略设置为performance性能模式,使用tuned工具管理性能配置文件。




#安装调优工具
yum install tuned
systemctl enable --now tuned
tunedadm list
虚拟环境默认profile为virtualguest。
四、集群组件安装
4.1 Master节点(server1)安装
master节点需要安装master主服务、cgi监控界面工具、cli命令行工具。
yum install moosefsmaster moosefscgi moosefscgiserv moosefscli
安装执行截图:

安装完成后启动服务,开启开机自启,查看端口监听,访问web监控页面。
systemctl enable --now moosefs-master
systemctl enable --now moosefs-cgiserv
查看端口监听:

浏览器访问CGI监控页面:http://masterIP:9425/mfs.cgi 集群初始状态页面:


Master节点配置文件:/etc/mfs/mfsmaster.cfg,mfsexports.cfg导出权限配置。
本实验中vim打开配置文件,使用默认配置,没有修改参数。

4.2 Chunkserver数据存储节点安装(server2、server3)
Chunkserver负责存储实际数据块,每个数据节点执行安装:
yum install moosefschunkserver
server2安装:

server3安装:

新增磁盘分区格式化挂载
实验环境给虚拟机新增一块20G NVMe磁盘,作为MooseFS数据存储盘。 虚拟机硬件设置:

1)server2磁盘操作 关机重启识别新磁盘,fdisk查看磁盘:


fdisk对/dev/nvme0n2新建主分区:

格式化为xfs文件系统:
mkfs.xfs /dev/nvme0n2p1


创建挂载目录/mnt/ssd01,获取磁盘UUID写入/etc/fstab实现开机自动挂载。
重载systemd,执行mounta挂载,修改目录所有者为mfs用户:
systemctl daemonreload
mount -a
chown mfs.mfs /mnt/ssd01
systemctl enable --now moosefschunkserver
挂载完成截图:

启动chunkserver之后,数据目录自动生成256个子目录(chunk块存储目录):

修改chunkserver配置文件mfschunkserver.cfg,配置数据存储路径:
/mnt/ssd01

2)server3重复磁盘部署流程 fdisk识别磁盘、新建分区、格式化xfs,写入fstab挂载,修改目录权限,启动chunkserver服务。
fdiskl查看磁盘:

3)分区操作:

格式化磁盘:

修改/etc/fstab:

挂载磁盘并启动chunkserver:

4.3 Client客户端节点(server4)部署
客户端安装moosefsclient软件包,用来挂载分布式文件系统。
yum install moosefsclient -y --nogpgcheck
安装截图:

客户端配置文件mfsmount.cfg,设置默认挂载点:
/mnt/mfs

创建挂载目录,执行mfsmount命令挂载MooseFS分布式文件系统:
mkdir -p /mnt/mfs
mfsmount
df -h
挂载成功:

五、集群Web监控验证
打开CGI监控页面,查看Chunkserver节点状态、磁盘容量、IO统计、挂载客户端信息。 可以看到两台chunkserver节点上线,磁盘容量识别,客户端挂载记录。

六、实验总结
MooseFS集群角色拆分清晰:Master管理元数据,Chunkserver存储真实数据,Client挂载使用分布式存储;所有节点都需要配置MooseFS官方yum源。
Chunkserver节点必须准备独立磁盘,分区格式化,配置fstab开机自动挂载,存储目录权限必须修改为mfs用户,否则chunkserver无法写入数据块。
Master节点对CPU性能敏感,生产环境建议调整CPU电源策略为performance模式,减少延迟抖动。
测试环境可以使用/etc/hosts代替DNS做主机名解析;生产高可用环境必须部署DNS。
Web CGI监控界面可以直观查看集群状态、磁盘、副本、客户端挂载情况,方便运维排错。
本实验使用社区版MooseFS4 CE完成基础集群部署,没有部署元数据备份Metalogger、Master高可用Follower节点。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)