千家信息网

Moosefs分布式文件系统集群讲解配置的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍Moosefs分布式文件系统集群讲解配置的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 管理服务器(master-server):负责各个数据存储服
千家信息网最后更新 2026年11月03日Moosefs分布式文件系统集群讲解配置的示例分析

这篇文章给大家介绍Moosefs分布式文件系统集群讲解配置的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1 管理服务器(master-server):负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝

2 元数据日志服务器(changelog-server): 负责备份master服务器的变化,(一般情况下可以和管理服务器放在一起)文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作

3数据存储服务器(chunk-server):负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输.

4客户端(clients): 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果.

MFS文件系统的读写原理:

MFS分布式文件系统搭建:

系统环境:

RHEL6.4

selinux is disabled

iptables is flush

一、yum 源定义,用来解决软件包的依赖性问题

# cat yum.repo  [base]  name=yum baseurl=ftp://192.168.2.234/pub/RHEL6.4  gpgcheck=0 [HA]  name=ha baseurl=ftp://192.168.2.234/pub/RHEL6.4/HighAvailability  gpgcheck=0 [lb]  name=LB baseurl=ftp://192.168.2.234/pub/RHEL6.4/LoadBalancer  gpgcheck=0 [Storage]  name=St baseurl=ftp://192.168.2.234/pub/RHEL6.4/ResilientStorage  gpgcheck=0 [SFS]  name=FS baseurl=ftp://192.168.2.234/pub/RHEL6.4/ScalableFileSystem  gpgcheck=0

二、主机解析准备

# cat /etc/hosts  192.168.2.88 node1        mfsmaster  192.168.2.89 node2  192.168.2.90 node3  192.168.2.82 node4  192.168.2.85 node5

实验将用node1作为master-server

node3和node4作为chunk-server

node5作为clients

所有节点必须有以上准备

三、安装准备

#yum install rpm-build gcc make fuse-devel zlib-devel -y 安装编译环境使用的依赖(其实安装过程中会提示安装)

#rpmbuild -tb mfs-1.6.27.tar.gz 将gz包构建成rpm包的方式 注意:包的格式很重要(只支持大的版本)

## ls /root/rpmbuild/RPMS/x86_64/ 生成的rpm包

mfs-cgi-1.6.27-2.x86_64.rpm mfs-client-1.6.27-2.x86_64.rpm

mfs-cgiserv-1.6.27-2.x86_64.rpm mfs-master-1.6.27-2.x86_64.rpm

mfs-chunkserver-1.6.27-2.x86_64.rpm mfs-metalogger-1.6.27-2.x86_64.rpm

1.master-server安装:

# yum localinstall mfs-cgi-1.6.27-2.x86_64.rpm mfs-master-1.6.27-2.x86_64.rpm mfs-cgiserv-1.6.27-2.x86_64.rpm -y

可以用cgi进行页面监控:

master-server:主要文件和目录

/var/lib/mfs mfs数据目录

metadata.mfs mfs启动文件

/etc/mfs 主目录(存储配置文件)

mfsmaster.cfg mfs主配置文件(定义相关参数,用户、组等设定)

mfsexports.cfg mfs被挂接目录及其权限控制文件

mfstopology.cfg 定义 MFS 网络拓扑结构的文件

配置文件默认不需要修改就可以使用

#chown -R nobody /var/lib/mfs 注意给数据目录以mfs的权限

# mfsmaster 启动mfs

#mfsmaster stop 关闭mfs

#netstat -antlpe(mfsmaster开启三个端口:客户端连接9421端口,监听9422端口;数据节点9420端口)

#/usr/share/mfscgi

#chmod +x *.cgi 给所有的cgi页面可执行权限(以便与在web下查看状态)

# mfscgiserv ------- -》启动cgi监控

http://192.168.2.88:9425/

查看mfs监控信息

2.chunk-server安装配置(node3 and node4)

#rpm -ivh mfs-chunkserver-1.6.27-2.x86_64.rpm

#cd /etc/mfs/

#cp mfschunkserver.cfg.dist mfschunkserver.cfg

# cp mfshdd.cfg.dist mfshdd.cfg

# vim mfshdd.cfg 存储文件

/mnt/chunk 真正存储的目录(将客户端/mnt/mfs的文件存储)

#mkdir /mnt/chunk

#mkdir /var/lib/mfs

#chown nobody /var/lib/mfs/

#chown nobody /mnt/chunk

# mfschunkserver 启动mfs服务器(注意,mfsmaster的解析必须到位)

#l. 产生一个隐藏锁文件

.mfschunkserver.lock

3.clients端的安装与配置;

# yum localinstall mfs-client-1.6.27-2.x86_64.rpm

#cp mfsmount.cfg.dist mfsmount.cfg

#vim mfsmount.cfg

修改master和分布式目录/mnt/mfs

#mkdir /mnt/mfs

#mfsmounts 执行客户端挂载

mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root 挂载成功

# df 查看挂载设备

mfsmaster:9421 6714624 0 6714624 0% /mnt/mfs

# ll -d /mnt/mfs/ 挂载后自动读写

drwxrwxrwx 2 root root 0 Jun 8 10:29 /mnt/mfs/

测试:MFS测试:

# mkdir hello{1,2}

# ls

hello1 hello2

# mfsdirinfo hello1/

hello1/:

inodes: 1

directories: 1

files: 0

chunks: 0

length: 0

size: 0

realsize: 0

# mfssetgoal -r 3 hello1/ 设置备份次数

hello1/:

inodes with goal changed: 1

inodes with goal not changed: 0

inodes with permission denied: 0

# mfsgetgoal hello1/ 查看文件备份数

hello1/: 3

# mfsgetgoal hello2

hello2: 1

#cp /etc/fstab hello1/

# cp /etc/passwd hello2/

# mfsfileinfo /hello/fstab 查看文件具体信息

fstab:

chunk 0: 000000000000000B_00000001 / (id:11 ver:1)

copy 1: 192.168.2.82:9422

copy 2: 192.168.2.90:9422

# mfscheckfile passwd

测试存储关系:

# mfsfileinfo fstab

fstab:

chunk 0: 000000000000000B_00000001 / (id:11 ver:1)

copy 1: 192.168.2.90:9422

[root@node5 hello1]# mfsfileinfo ../hello2/passwd

../hello2/passwd:

chunk 0: 000000000000000C_00000001 / (id:12 ver:1)

no valid copies !!!

客户端:误删除文件(不小心删除/mnt/mfs/hello*/passwd)

# mfsmount -m /mnt/test/ -H mfsmaster 恢复目录挂载到mfsmaster上

mfsmaster accepted connection with parameters: read-write,restricted_ip

# mount

#cd /mnt/test/

## mfscheckfile passwd

# mv 00000005\|hello2\|passwd undel/

直接恢复到之前的mfs目录中

# umount /mnt/meta/

mfschunk-server可以自动检测客户端的配置文件:

# mfschunkserver stop

在客户端重新拷贝文件,

#cp /etc/inittab /mnt/mfs/hello1

#mfsgetgoal hello1/fstab 查看文件份数

#mfsgetgoal hello1/inittab

# mfsfileinfo inittab 刚开始只有一个chukserver,只能保存一份

开启chunkserver

#mfschunkserver

# mfsfileinfo inittab 查看文件的备份数,恢复成chunkserver的数

inittab:

chunk 0: 0000000000000006_00000001 / (id:6 ver:1)

copy 1: 192.168.2.184:9422

copy 2: 192.168.2.185:9422

注意:

在mfsmaster中,正常运行时,数据文件为metadata.mfs.back

当主机出现故障,数据文件会保存成metadata.mfs

使用非正常关闭,(kill -9 pid) 数据文件将不会恢复

# mfsmetarestore -a- 非正常启动后会丢失metadata.mfs文件,必须恢复一下

然后重新启动mfsmaster(mfsmaster启动必须有metadata.mfs文件)

关于Moosefs分布式文件系统集群讲解配置的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文件 数据 服务器 服务 目录 存储 配置 客户 系统 管理 客户端 分布式 端口 份数 权限 节点 准备 测试 监控 示例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司电话 艾特科技互联网 北京禾田雨橡互联网科技 兼蜜互联网科技 联恩商钥互联网科技有限公司 科技大学互联网专业好不好 互联网公司会议桌创意科技软装饰 须眉科技是互联网公司吗 福州新华互联网科技学校 知乎 团飞科技与伯堂互联网服务平台 广州恒生互联网科技有限 互联网与医疗科技 伊宁互联网科技做什么的 广州千川互联网科技有限公司 互联网科技包装股 容联科技互联网电商 互联网科技企业商标注意事项 美国五大互联网科技公司市值多少 互联网科技品牌 华人运通互联网科技公司 互联网巨头科技公司 互联网与科技发展 科技创新互联网企业 汇久创客互联网科技 长亮科技 互联网金融 互联网养老 桔豆科技 广西拼得多互联网科技有限公司 苏州铭阳互联网科技有限公司 河南住房之家互联网科技 湖北辰鑫科技互联网
0