搭建MFS分布式文件系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建MFS分布式文件系统相关的知识,希望对你有一定的参考价值。
-
MFS原理
MFS 是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
- MFS的组成
- 管理服务器 Master: 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
- 元数据日志服务器 MetaLogger: 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs,以便于在 master 出问题的时候。从日志服务器取得文件,进行恢复
- 数据存储服务器 chunk servers: 听从管理服务器调度,提供存储空间,并为客户提供数据传输.。 真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器 之间复制。 数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。
- 客户机 client :挂载使用 挂载进程 mfs 服务器共享出的存储并使用。
- 使用YUM安装配置
-
添加键值:
# curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
-
添加适当的库条目
# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
- 然后安装适当的MooseFS组件
-
主服务器:Master
# yum install -y moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli # systemctl start moosefs-master //启动主服务 # ps -ef | grep mfs //查看端口
-
元数据日志服务器 Metaloggers
# yum install -y moosefs-metalogger # vim mfsmetalogger.cfg MASTER_HOST=192.168.200.129 # systemctl start moosefs-metalogger //启动日志服务器
-
数据存储服务器:Chunk
# yum install -y moosefs-chunkserver # vim /etc/mfs/mfschunkserver.cfg MASTER_HOST = 192.168.200.130 # vim /etc/mfs/mfshdd.cfg //末尾添加 /data //给MFS的分区,独立的分区或磁盘挂载到此目录 # mkdir /data # chown -R mfs:mfs /data # systemctl start moosefs-chunkserver //启动节点服务
-
对于客户端
# yum install -y moosefs-client # mkdir /mnt/mfs 创建挂接点 # modprobe fuse //加载fuse模块到内核 # mfsmount /mnt/mfs -H 192.168.200.128 # df -TH
- 基本操作和测试
- mfsgetgoal命令用来查询文件被复制的份数,利用-r命令可以对整个目录进行递归,goal是指文件被复制的份数。
-
mfssetgoal命令同来设置文件被复制的份数,生产环境中Chunk节点数量应至少大于2,文件副本数量小于等于Chunk服务器数量。
# mfsgetgoal -r /mnt/mfs/ # mfssetgoal -r 3 /mnt/mfs/ # mfsgetgoal -r /mnt/mfs/ # cd /mnt/mfs/ # touch test # mfsgetgoal test
- MFS监控
- Mfscgiserv是一个用python编写的web服务器,监听端口是9425,可以在Master Server 上通过命令:mfscgiserv 来启动
-
主服务器上开启监控
# mfscgiserv
- 浏览器输入 http://192.168.200.128:9425/mfs.cgi
以上是关于搭建MFS分布式文件系统的主要内容,如果未能解决你的问题,请参考以下文章