• 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    //启动日志服务器

搭建MFS分布式文件系统_第1张图片

  • 数据存储服务器: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    //启动节点服务

    搭建MFS分布式文件系统_第2张图片

  • 对于客户端

    # yum install -y moosefs-client
    # mkdir /mnt/mfs     创建挂接点
    # modprobe fuse    //加载fuse模块到内核
    # mfsmount /mnt/mfs -H 192.168.200.128
    # df -TH

搭建MFS分布式文件系统_第3张图片

  • 基本操作和测试
  • 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       //查看test被复制的份数

搭建MFS分布式文件系统_第4张图片

  • MFS监控
  • Mfscgiserv是一个用python编写的web服务器,监听端口是9425,可以在Master Server 上通过命令:mfscgiserv 来启动
  • 主服务器上开启监控

    # mfscgiserv

    搭建MFS分布式文件系统

  • 浏览器输入 http://192.168.200.128:9425/mfs.cgi

搭建MFS分布式文件系统_第5张图片
搭建MFS分布式文件系统_第6张图片