阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MooseFS分布式文件系统集群配置讲解

405次阅读
没有评论

共计 8690 个字符,预计需要花费 22 分钟才能阅读完成。

本篇为大家分享一下关于 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

相关阅读

分布式文件系统 MooseFS http://www.linuxidc.com/Linux/2012-06/62008.htm

在 CentOS 上安装部署 MooseFS 分布式文件系统 http://www.linuxidc.com/Linux/2013-06/85753.htm

MooseFS 分布式文件系统安装配置常见问题集 http://www.linuxidc.com/Linux/2013-06/85752.htm

MooseFS 分布式文件系统安装向导 PDF http://www.linuxidc.com/Linux/2013-06/85751.htm

DRBD+Heartbeat+Pacemaker 实现 MFS(MooseFS)的高可用 http://www.linuxidc.com/Linux/2012-05/60699.htm

一、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/

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103607p2.htm

测试: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 的详细介绍:请点这里
MooseFS 的下载地址:请点这里

本篇为大家分享一下关于 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

相关阅读

分布式文件系统 MooseFS http://www.linuxidc.com/Linux/2012-06/62008.htm

在 CentOS 上安装部署 MooseFS 分布式文件系统 http://www.linuxidc.com/Linux/2013-06/85753.htm

MooseFS 分布式文件系统安装配置常见问题集 http://www.linuxidc.com/Linux/2013-06/85752.htm

MooseFS 分布式文件系统安装向导 PDF http://www.linuxidc.com/Linux/2013-06/85751.htm

DRBD+Heartbeat+Pacemaker 实现 MFS(MooseFS)的高可用 http://www.linuxidc.com/Linux/2012-05/60699.htm

一、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/

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103607p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计8690字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7966432
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...