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

Moosefs分布式文件系统的配置

421次阅读
没有评论

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

Moosefs 分布式文件系统,所需主机:
管理服务器 managing server (master  vm3)
元数据日志服务器 Metalogger server(Metalogger)(vm6)
数据存储服务器 data servers (chunkservers)(两台 vm5 vm6 做负载均衡)
客户机挂载使用 client computers

1. 生成 rpm, 便于部署:
[root@vm3~]# yum install -y fuse-devel zlib-devel gcc rpm-build.x86_64
[root@vm3~]# mv mfs-1.6.27-5.tar.gz mfs-1.6.27.tar.gz
[root@vm3~]# rpmbuild -tb mfs-1.6.27-5.tar.gz
[root@vm3~]# cd rpmbuild/
[root@vm3rpmbuild]# ls
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
[root@vm3rpmbuild]# cd RPMS/x86_64/
[root@vm3x86_64]# ls
mfs-cgi-1.6.27-4.x86_64.rpm          mfs-client-1.6.27-4.x86_64.rpm
mfs-cgiserv-1.6.27-4.x86_64.rpm      mfs-master-1.6.27-4.x86_64.rpm
mfs-chunkserver-1.6.27-4.x86_64.rpm  mfs-metalogger-1.6.27-4.x86_64.rpm

2. 主控服务器 Master server 安装:
[root@vm3x86_64]# rpm -ivh mfs-master-1.6.27-4.x86_64.rpm mfs-cgi*
Preparing…                ########################################### [100%]
  1:mfs-cgi                ########################################### [33%]
  2:mfs-cgiserv            ########################################### [67%]
  3:mfs-master            ########################################### [100%]
[root@vm3x86_64]# cd /etc/mfs/
[root@vm3mfs]# ls
mfsexports.cfg.dist  mfsmaster.cfg.dist  mfstopology.cfg.dist
[root@vm3mfs]# cp mfsexports.cfg.dist mfsexports.cfg
[root@vm3mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg
[root@vm3mfs]# cp mfstopology.cfg.dist mfstopology.cfg
[root@vm3mfs]# vim mfsexports.cfg
  # Allow “meta”.
  172.25.254.0/24                        .      rw  允许 172.25.254. 网段可写
[root@vm3mfs]# vim /etc/hosts           
 172.25.254.3 vm3.example.com mfsmaster
[root@vm3mfs]# cd /var/lib/mfs/
[root@vm3mfs]# cp metadata.mfs.empty metadata.mfs
[root@vm3mfs]# chown nobody /var/lib/mfs/ -R
[root@vm3mfs]# mfsmaster start
[root@vm3mfs]# mfsmaster test
mfsmaster pid: 6643
[root@vm3mfs]# cd /usr/share/mfscgi/
[root@vm3mfscgi]# chmod +x *.cgi
[root@vm3mfscgi]# mfscgiserv #启动 CGI 监控服务

现在再通过浏览器访问 http://172.25.254.3:9425/ 应该可以看见这个 MooseFS 系统的全部信息, 包括主控 master 和存储服务 chunkserver。
                   
3. 配置数据存储服务器 data servers (chunkservers)(vm5 vm6)
[root@vm3x86_64]# pwdcd
/root/rpmbuild/RPMS/x86_64
[root@vm3x86_64]# scp mfs-chunkserver-1.6.27-4.x86_64.rpm 172.25.254.5:
[root@vm3x86_64]# scp mfs-chunkserver-1.6.27-4.x86_64.rpm 172.25.254.6:

切换到 vm5
[root@vm5~]# rpm -ivh mfs-chunkserver-1.6.27-4.x86_64.rpm
Preparing…                ###########################################[100%]
 1:mfs-chunkserver        ########################################### [100%]
[root@vm5~]# cd /etc/mfs/
[root@vm5mfs]# ls
mfschunkserver.cfg.dist  mfshdd.cfg.dist
[root@vm5mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg
[root@vm5mfs]# cp mfshdd.cfg.dist mfshdd.cfg
[root@vm5mfs]# mkdir /var/lib/mfs
[root@vm5mfs]# chown nobody /var/lib/mfs/
[root@vm5mfs]# vim mfshdd.cfg
# mount points of HDD drives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/chunk1
[root@vm5mfs]# mkdir /mnt/chunk1
[root@vm5mfs]# chown nobody /mnt/chunk1
[root@vm5mfs]# mfschunkserver
working directory: /var/lib/mfs
lockfile created and locked
initializing mfschunkserver modules …
hdd space manager: path to scan: /mnt/chunk1/
hdd space manager: start background hdd scanning (searching for available chunks)
main server module: listen on *:9422
[root@vm5mfs]# vim /etc/hosts
加入 172.25.254.3 mfsmaster

在 vm6 做类似操作:
[root@vm6mfs]# vim mfshdd.cfg
# mount points of HDD drives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/chunk2

4. 客户端挂载读取
[root@vm3x86_64]# scp mfs-client-1.6.27-4.x86_64.rpm 172.25.254.1:
[root@benberba ~]# rpm -ivh mfs-client-1.6.27-4.x86_64.rpm
Preparing…                ########################################### [100%]
  1:mfs-client            ########################################### [100%]
[root@benberba ~]# cd /etc/mfs/
[root@benberba mfs]# ls
mfsmount.cfg.dist
[root@benberba mfs]# cp mfsmount.cfg.dist mfsmount.cfg
[root@benberba mfs]# mkdir /mnt/mfs
[root@benberba mfs]# vim mfsmount.cfg
mfsmaster=mfsmaster
/mnt/mfs
[root@benberba mfs]# vim /etc/hosts
172.25.254.3 mfsmaster
[root@benberba mfs]# mfsmount
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
MFS 测试:
在 MFS 挂载点下创建两个目录, 并设置其文件存储份数
[root@benberba mfs]# cd /mnt/mfs/
[root@benberba mfs]# mkdir dir1
[root@benberba mfs]# mkdir dir2
[root@benberba mfs]# mfssetgoal -r 2 dir2  设置在 dir2 中文件存储份数为两个, 默认是一个
[root@benberba mfs]# cp /etc/passwd dir1
[root@benberba mfs]# cp /etc/passwd dir2

查看文件信息
[root@benberba mfs]# mfsfileinfo dir1/passwd
dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        copy 1: 172.25.254.6:9422
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
    chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
        copy 1: 172.25.254.5:9422
        copy 2: 172.25.254.6:9422

关闭 mfschunkserver2 后再查看文件信息(即 [root@vm6mfs]# mfschunkserver stop)
[root@benberba mfs]# mfsfileinfo dir1/passwd
dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        no valid copies !!!
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
    chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
        copy 1: 172.25.254:9422
启动 mfschunkserver2 后, 文件回复正常([root@vm6mfs]# mfschunkserver start)。
[root@benberba mfs]# mfsfileinfo dir2/passwd
dir2/passwd:
    chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
        copy 1: 172.25.254.5:9422
        copy 2: 172.25.254.6:9422

恢复误删文件
[root@benberba mfs]# rm -f dir1/passwd
[root@benberba mfs]# mfsgettrashtime dir1/
dir1/: 86400
文件删除后存放在“垃圾箱”中的时间称为隔离时间, 这个时间可以用 mfsgettrashtime 命令来查
看, 用 mfssettrashtime 命令来设置, 单位为秒, 默认为 86400 秒。
[root@benberba mfs]# mkdir /mnt/mfsmeta
[root@benberba mfs]# mfsmount -m /mnt/mfsmeta/ -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@benberba mfs]# cd /mnt/mfsmeta/trash
[root@benberba trash]# ls
00000004|dir1|passwd  undel
[root@benberba trash]# mv 00000004\|dir1\|passwd undel/
到 dir1 目录中可以看到 passwd 文件恢复
[root@benberba ~]# mfsfileinfo /mnt/mfs/dir1/passwd
/mnt/mfs/dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        copy 1: 172.25.254.6:9422
在 MFSMETA 的目录里, 除了 trash 和 trash/undel 两个目录, 还有第三个目录 reserved, 该目
录内有已经删除的文件, 但却被其他用户一直打开着。在用户关闭了这些被打开的文件后,
reserved 目录中的文件将被删除, 文件的数据也将被立即删除。此目录不能进行操作

为了安全停止 MooseFS 集群, 建议执行如下的步骤:
# umount -l /mnt/mfs    #客户端卸载 MooseFS 文件系统
# mfschunkserver stop  #停止 chunk server 进程
# mfsmetalogger stop  #停止 metalogger 进程
# mfsmaster stop          #停止主控 master server 进程
安全的启动 MooseFS 集群:
# mfsmaster start          #启动 master 进程
# mfschunkserver start  #启动 chunkserver 进程
# mfsmetalogger start    #启动 metalogger 进程
# mfsmount                    #客户端挂载 MooseFS 文件系统
实际上无论如何顺序启动或关闭, 未见任何异常,master 启动后,metalogger、chunker、client
三个元素都能自动与 master 建立连接。

故障测试:
Client 客户端断电、断网对 MFS 的体系不产生影响.
如果客户端误杀 killall -9 mfsmount 进程, 需要先 umount /mnt/mfs, 然后再 mfsmount。否则会
提示:/mnt/mfs: Transport endpoint is not connected

 

 

mfschunkserver:

断网、杀掉 mfschunkserver 程序对 MFS 系统无影响。
断电:
# 无文件传输时, 对两个 chunker 都无影响;
# 当有文件传输时, 但是文件设置存储一份时, 对文件的存储无影响。
# 文件设置存储两份, 数据传输过程中, 关掉 chunker1, 等待数据传输完毕后, 启动
chunker1.chunker1 启动后, 会自动从 chunker2 复制数据块。整个过程中文件访问不受影响。
# 文件设置存储两份, 数据传输过程中, 关掉 chunker1, 不等待数据传输完毕, 开机启动
chunker1.chunker1 启动后,client 端会向 chunker1 传输数据, 同时 chunker1 也从 chunker2 复
制缺失的块。
只要不是两个 chunker 服务器同时挂掉的话, 就不会影响文件的传输, 也不会影响服务的使用。

master 端:
断网、杀掉 MFS 的 master 服务对 MFS 系统无影响。
断电可能会出现以下的情况:
# 当没有文件传输时, 可在服务器重启之后, 运行 mfsmetarestore –a 进行修复, 之后执行
mfsmaster start 恢复 master 服务。
# mfsmetarestore -a
loading objects (files,directories,etc.) … ok
loading names … ok
loading deletion timestamps … ok
loading chunks data … ok
checking filesystem consistency … ok
connecting files and chunks … ok
store metadata into file: /var/lib/mfs/metadata.mfs
# mfsmaster start
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmaster modules …
loading sessions … ok
sessions file has been loaded
exports file has been loaded
mfstopology configuration file (/etc/mfstopology.cfg) not found – using defaults
loading metadata …
loading objects (files,directories,etc.) … ok
loading names … ok
loading deletion timestamps … ok
loading chunks data … ok
checking filesystem consistency … ok
connecting files and chunks … ok
all inodes: 5
directory inodes: 3
file inodes: 2
chunks: 2
metadata file has been loaded
stats file has been loaded
master <-> metaloggers module: listen on *:9419
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly
# 当有文件传输时, 可能会在 /usr/local/mfs/sbin/mfsmetarestore –a 进行修复时可能会出现:
# mfsmetarestore -a
loading objects (files,directories,etc.) … ok
loading names … ok
loading deletion timestamps … ok
loading chunks data … ok
checking filesystem consistency … ok
connecting files and chunks … ok
�S:115: error: 32 (Data mismatch)
此时无法修复也无法启动 master 服务, 有个应急的办法是将 metadata.mfs.back 复制成
metadata.mfs, 然后再启动 master。这样将会丢失那些正在传输的数据。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121958.htm

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7991692
文章搜索
热门文章
星哥带你玩飞牛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-提高用户访问的响应速度和成功率
随机文章
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...

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

一言一句话
-「
手气不错
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

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

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...