服务器分布:
概述:
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 �Cntlp
监控平台,修改默认绑定IP地址和端口:
any --> 10.185.15.241
9425 --> 80
# vim /usr/local/mfs/sbin/mfscgiserv
# /usr/local/mfs/sbin/mfscgiserv start
# netstat -ntlp
访问:http://10.185.15.241
二、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文件系统
关于数据备份修复以及容灾,请关注后续博文