710661809 发表于 2019-2-1 09:17:09

试用分布式存储MooseFS

  服务器分布:
  http://s3.运维网.com/wyfs02/M00/25/86/wKioL1NiZcyzHZpGAAHKdXySKDA644.jpg
  
  

  概述:
  MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:
  1、管理服务器managing server(master)
  2、元数据日志服务器Metalogger server(Metalogger)
  3、数据存储服务器 dataservers(chunkservers)
  4、客户机挂载使用 clientcomputers
  

  角色描述:
  1、管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷贝;
  2、元数据日志服务器:负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在masterserver出问题的时候接替其进行工作;
  3、数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输;
  4、客户端:通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地UNIX文件系统使用一样的效果。
  

  总体架构图:
  http://s3.运维网.com/wyfs02/M02/25/88/wKioL1Nib8bQoBFqAAH3lmiwtKE490.jpg
  

  
  一、MFS Master节点部署
  # /usr/sbin/groupadd mfs
  # /usr/sbin/useradd mfs -g mfs -s /sbin/nologin
  

  # tar xvzf mfs-1.6.27-5.gz
  # cd mfs-1.6.27
  # ./configure --prefix=/usr/local/mfs \
  --with-default-user=mfs \
  --with-default-group=mfs \
  --disable-mfschunkserver \
  --disable-mfsmount
  # make && make install
  

  # cd /usr/local/mfs/etc/mfs
  # cp mfsmaster.cfg.dist mfsmaster.cfg
  # cp mfsexports.cfg.dist mfsexports.cfg
  # cp mfstopology.cfg.dist mfstopology.cfg
  

  对允许远程挂载的主机进行授权
  # vim mfsexports.cfg
  10.0.0.0/8             /       rw,alldirs,maproot=0
  172.0.0.0/8         /       rw,alldirs,maproot=0
  

  # vim mfsmaster.cfg
  DATA_PATH = /data/mfsmetadata
  

  # mkdir -p /data/mfsmetadata
  # cp -a /usr/local/mfs/var/mfs/metadata.mfs.empty /data/mfsmetadata/metadata.mfs
  # chown -R mfs:mfs /data/mfsmetadata
  

  # vim /etc/hosts
  10.185.15.241      mfsmaster
  10.185.15.242      mfsmetalogger
  10.137.153.224      mfschunkserver1
  10.166.147.229      mfschunkserver2
  10.185.4.99         mfschunkserver3
  

  # /usr/local/mfs/sbin/mfsmaster start
http://s3.运维网.com/wyfs02/M02/25/88/wKiom1NiZ2KDZK8VAAH04E9dPes759.jpg
  

  # ps aux | grep mfs
http://s3.运维网.com/wyfs02/M02/25/88/wKiom1NiZ5DxHLdzAABOMTgnb2A139.jpg
  

  # netstat –ntlp
http://s3.运维网.com/wyfs02/M01/25/88/wKioL1NiZ47BJg0RAACtBLIqdJ8272.jpg
  

  监控平台,修改默认绑定IP地址和端口:
  any   --> 10.185.15.241
  9425 --> 80
  

  # vim /usr/local/mfs/sbin/mfscgiserv
http://s3.运维网.com/wyfs02/M00/25/88/wKiom1NiZ-HwtGalAADNe7R8di4880.jpg
  

  # /usr/local/mfs/sbin/mfscgiserv start
http://s3.运维网.com/wyfs02/M02/25/88/wKioL1NiZ_HBGe38AABj-VMx6a0224.jpg
  

  # netstat -ntlp
http://s3.运维网.com/wyfs02/M02/25/88/wKiom1NiaEvy6hHlAACtodIFdBc996.jpg
  

  访问:http://10.185.15.241
http://s3.运维网.com/wyfs02/M01/25/88/wKioL1NiaE-gDhMGAAGlquO-6S8329.jpg
  

  二、MFS Metalogger节点部署
  # /usr/sbin/groupadd mfs
  # /usr/sbin/useradd mfs -g mfs -s /sbin/nologin
  

  # tar xvzf mfs-1.6.27-5.gz
  # cd mfs-1.6.27
  # ./configure --prefix=/usr/local/mfs \
  --with-default-user=mfs \
  --with-default-group=mfs \
  --disable-mfschunkserver \
  --disable-mfsmount
  # make && make install
  

  # cd /usr/local/mfs/etc/mfs
  # cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
  

  # mkdir -p /data/mfsmetadata
  # chown -R mfs:mfs /data/mfsmetadata
  

  # vim mfsmetalogger.cfg
  DATA_PATH = /data/mfsmetadata
  

  # vim /etc/hosts
  10.185.15.241   mfsmaster
  

  # /usr/local/mfs/sbin/mfsmetalogger start
http://s3.运维网.com/wyfs02/M00/25/88/wKiom1NiaLfBfHF_AADigtpRBwU374.jpg
  

  # netstat -nt | grep :9419
http://s3.运维网.com/wyfs02/M01/25/88/wKioL1NiaLnhKMZtAAA3G5SZDTU232.jpg
  

  三、MFS chunkservers节点部署
  # /usr/sbin/groupadd mfs
  # /usr/sbin/useradd mfs -g mfs -s /sbin/nologin
  

  # tar xvzf mfs-1.6.27-5.gz
  # cd mfs-1.6.27
  # ./configure --prefix=/usr/local/mfs \
  --with-default-user=mfs \
  --with-default-group=mfs \
  --disable-mfsmaster \
  --disable-mfsmount
  # make && make install
  

  # cd /usr/local/mfs/etc/mfs
  # cp mfschunkserver.cfg.dist mfschunkserver.cfg
  # cp mfshdd.cfg.dist mfshdd.cfg
  

  # vim /etc/hosts
  10.185.15.241   mfsmaster
  

  # mkdir -p /data/mfsmetadata
  # chown -R mfs:mfs /data/mfsmetadata
  

  # vim mfschunkserver.cfg
  DATA_PATH = /data/mfsmetadata
  

  # mkdir -p /data/mfschunk
  # chown -R mfs:mfs /data/mfschunk
  

  可以添加多个路径(后续可能会增加多个磁盘)
  # vim mfshdd.cfg
  /data/mfschunk
  

  # /usr/local/mfs/sbin/mfschunkserver start
http://s3.运维网.com/wyfs02/M00/25/88/wKiom1NiaR2gA-gYAADuvC3EFLk991.jpg
  

  # netstat -ntlp
http://s3.运维网.com/wyfs02/M02/25/88/wKioL1NiaSGCLv3DAACCIeGN7VM788.jpg
  

  四、MFS client节点部署
  # /usr/sbin/groupadd mfs
  # /usr/sbin/useradd mfs -g mfs -s /sbin/nologin
  

  # tar xvzf fuse-2.9.2.tar.gz
  # cd fuse-2.9.2
  # ./configure --prefix=/usr/local
  # make && make install
  

  运行以下export命令,否则挂载moosefs系统会失败
  # vim /etc/profile
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
  # source /etc/profile
  

  # tar xvzf mfs-1.6.27-5.gz

  # cd mfs-1.6.27
  # ./configure --prefix=/usr/local/mfs \
  --with-default-user=mfs \
  --with-default-group=mfs \
  --enable-mfsmount
  # make && make install
  

  # vim /etc/hosts
  10.185.15.241   mfsmaster
  

  # mkdir -p /data/mfsdata
  # /usr/local/mfs/bin/mfsmount /data/mfsdata -H mfsmaster
http://s3.运维网.com/wyfs02/M02/25/88/wKioL1NiaUyTXMXMAAD__uwce8s583.jpg
  

  设置文件副本数
  # /usr/local/mfs/bin/mfsrsetgoal 3 /data/mfsdata
  # echo 'mytest'> /data/mfsdata/testfile
  # /usr/local/mfs/bin/mfsfileinfo /data/mfsdata/testfile
http://s3.运维网.com/wyfs02/M01/25/88/wKiom1NiaZ-Q-LLCAAC7gqyphjo819.jpg
  

  设置删除文件后空间回收时间
  # /usr/local/mfs/bin/mfsrsettrashtime 600 /data/mfsdata
  

  取消本地挂载
  # umount -l/data/mfsdata
  

  一些效果图:
http://s3.运维网.com/wyfs02/M00/25/88/wKioL1Niaa6we9QtAADRDyPL0iw624.jpg
  

http://s3.运维网.com/wyfs02/M01/25/88/wKioL1Niac7TgnNzAADALbwa1R4176.jpg
  

  五、一点建议

  1、安全停止MooseFS集群,建议如下步骤
  umount -l /data/mfsdata                                                    # 客户端卸载MooseFS文件系统
  /usr/local/mfs/sbin/mfschunkserver stop                              # 停止chunkserver进程
  /usr/local/mfs/sbin/mfsmetalogger stop                              # 停止metalogger进程
  /usr/local/mfs/sbin/mfsmaster stop                                    # 停止主控master server进程
  

  2、安全启动MooseFS集群,建议如下步骤
  /usr/local/mfs/sbin/mfsmaster start                                    # 启动主控master server进程
  /usr/local/mfs/sbin/mfschunkserver start                              # 启动chunkserver进程
  /usr/local/mfs/sbin/mfsmetalogger start                              # 启动metalogger进程
  /usr/local/mfs/bin/mfsmount /data/mfsdata -H mfsmaster       # 客户端挂载MooseFS文件系统
  

  关于数据备份修复以及容灾,请关注后续博文   http://img.baidu.com/hi/jx2/j_0057.gif
  

  




页: [1]
查看完整版本: 试用分布式存储MooseFS