服务器分布:
概述: 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文件系统使用一样的效果。
总体架构图:
一、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
# ps aux | grep mfs
# netstat –ntlp
监控平台,修改默认绑定IP地址和端口: any --> 10.185.15.241 9425 --> 80
# vim /usr/local/mfs/sbin/mfscgiserv
# /usr/local/mfs/sbin/mfscgiserv start
# netstat -ntlp
二、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
# netstat -nt | grep :9419
三、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
# netstat -ntlp
四、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
设置文件副本数 # /usr/local/mfs/bin/mfsrsetgoal 3 /data/mfsdata # echo 'mytest' > /data/mfsdata/testfile # /usr/local/mfs/bin/mfsfileinfo /data/mfsdata/testfile
设置删除文件后空间回收时间 # /usr/local/mfs/bin/mfsrsettrashtime 600 /data/mfsdata
取消本地挂载 # umount -l /data/mfsdata
一些效果图:
五、一点建议
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文件系统
|