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

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

作者:Andy-xxb 2014-06-24 15:24:52

开发

前端

分布式 本篇为大家分享一下关于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 源定义,用来解决软件包的依赖性问题

  1. # cat yum.repo  
  2. [base]  
  3. name=yum 
  4. baseurl=ftp://192.168.2.234/pub/RHEL6.4  
  5. gpgcheck=0 
  6. [HA]  
  7. name=ha 
  8. baseurl=ftp://192.168.2.234/pub/RHEL6.4/HighAvailability  
  9. gpgcheck=0 
  10. [lb]  
  11. name=LB 
  12. baseurl=ftp://192.168.2.234/pub/RHEL6.4/LoadBalancer  
  13. gpgcheck=0 
  14. [Storage]  
  15. name=St 
  16. baseurl=ftp://192.168.2.234/pub/RHEL6.4/ResilientStorage  
  17. gpgcheck=0 
  18. [SFS]  
  19. name=FS 
  20. baseurl=ftp://192.168.2.234/pub/RHEL6.4/ScalableFileSystem  
  21. gpgcheck=0 

二、主机解析准备

  1. # cat /etc/hosts  
  2. 192.168.2.88 node1        mfsmaster  
  3. 192.168.2.89 node2  
  4. 192.168.2.90 node3  
  5. 192.168.2.82 node4  
  6. 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安装:

  1. # 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文件)

本文来自:http://my.oschina.net/xxbAndy/blog/282833

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/303666.html<

(0)
运维的头像运维
上一篇2025-05-25 08:59
下一篇 2025-05-25 09:00

相关推荐

  • HostVenom美国是什么,HostVenom美国怎么样

    HostVenom 美国服务器在 2026 年凭借高防 BGP 架构与极致性价比,成为国内企业出海及游戏开发场景下的首选方案,其核心优势在于稳定规避网络波动与显著低于行业平均的防护成本,随着 2026 年全球数据中心合规性要求的升级,选择海外节点时,稳定性与合规性已成为决策的核心变量,HostVenom 美国服……

    2026-05-02
    0
  • HostVenomVPS测评,实测体验如何?HostVenomVPS好不好用

    HostVenom VPS 在 2026 年实测中展现出极高的性价比,特别适合需要低成本搭建海外独立站或轻量级应用的中小开发者,但在高并发场景下稳定性略逊于一线品牌,在 2026 年云计算市场格局重塑的背景下,HostVenom VPS 作为新兴的托管服务商,凭借灵活的计费模式与优化的网络架构,迅速在开发者社区……

    2026-05-02
    0
  • 美国virtonoVPS测评靠谱吗?virtonoVPS真实体验与数据对比

    美国VirtonoVPS在2026年的实测结论是:其基于LVE架构的独享资源方案在价格与性能的平衡上表现优异,特别适合需要高并发处理且预算敏感的小微跨境电商与独立站卖家,但在跨国网络延迟上略逊于原生CN2 GIA线路,随着2026年云计算市场的进一步洗牌,美国VPS服务商的竞争已从单纯的硬件堆砌转向架构优化与网……

    2026-05-02
    0
  • woothostingVPS测评,实测体验,woothostingVPS怎么样,woothostingVPS真实测评

    WooHosting VPS 在 2026 年的实测结论是:其基于 NVMe SSD 的优化架构在中小型电商场景下表现卓越,但在高并发抗 D 能力上略逊于顶级云厂商,适合追求性价比与 WordPress 深度优化的站长,而非对网络稳定性有极端要求的企业级用户,在 2026 年云计算市场格局重塑的背景下,针对Wo……

    2026-05-02
    0
  • 服务器测评,实测数据与性能表现,服务器性能怎么样,服务器测评

    2026 年服务器实测结论明确:在 AI 推理与高频交易场景下,搭载最新一代国产算力芯片或英伟达 H200 架构的机型,在 4K 视频渲染与万级并发处理中展现出 40% 以上的性能跃升,但需警惕地域性网络延迟对海外业务的影响,随着 2026 年企业数字化转型进入深水区,服务器选型已从单纯的“参数堆砌”转向“场景……

    2026-05-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注