MFS原理python
MFS 是一个具备容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
分布式文件系统的好处:集中访问、简化操做、数据容灾、提升文件的存取性能。web
- 管理服务器 Master: 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝
- 元数据日志服务器 MetaLogger: 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs,以便于在 master 出问题的时候。从日志服务器取得文件,进行恢复
- 数据存储服务器 chunk servers: 遵从管理服务器调度,提供存储空间,并为客户提供数据传输.。 真正存储用户数据的服务器。存储文件时,首先把文件分红块,而后这些块在数据服务器 之间复制。 数据服务器能够是多个,而且数量越多,可以使用的“磁盘空间”越大,可靠性也越高。
- 客户机 client :挂载使用 挂载进程 mfs 服务器共享出的存储并使用。
添加键值:vim
# 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
主服务器: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 curl
# 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
mfssetgoal命令同来设置文件被复制的份数,生产环境中Chunk节点数量应至少大于2,文件副本数量小于等于Chunk服务器数量。ide
# mfsgetgoal -r /mnt/mfs/ //查询文件被复制的份数 # mfssetgoal -r 3 /mnt/mfs/ //设置文件被复制的份数 # mfsgetgoal -r /mnt/mfs/ # cd /mnt/mfs/ # touch test # mfsgetgoal test //查看test被复制的份数
主服务器上开启监控性能
# mfscgiserv