分布式文件系统MFS(MooseFS)搭建与配置
一 MFS介绍:
Distinctive features of MooseFS are:
MooseFS优越特性如下:
- higher reliability (data can be stored in several copies on separate computers)
高可用性(数据可以存储在多个机器上的多个副本)
- dynamically expanding disk space by attaching new computers/disks
可动态扩展随时新增加机器或者是磁盘
- possibility of storing deleted files for a defined period of time ("trash bin" service on a file system level)
可回收在指定时间内删除的文件(“垃圾回收站”是一个系统级别的服务)
- possibility of creating snapshot of a file, which means coherent copy of the whole file, even while the file is being written.
可以对整个文件甚至在正在写入的文件创建文件的快照。
MFS文件系统结构(包含4种角色):
1)管理服务器managing server (master) :负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝。单个机器管理整个文件系统,用来存储记录每一个文件的Metadata(记录文件的大小、文件的属性、文件的位置,也包括非规则文件的系统,如目录、sockets、管道和设备)
2)元数据日志服务器Metalogger server(Metalogger):负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。
3)数据存储服务器data servers (chunkservers):负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
4)数据存储服务器data servers (chunkservers) :负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
另外一个角色是:
客户机挂载使用client computers :通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果。
二 测试环境说明:
os版本:rhel5.7 64位 ,CentOS6.6 64位
mfs版本:mfs-1.6.27
mfs master服务器:node4(172.16.41.151)
mfs chunkServer服务器:node3,node2
mfs metalogger(日志)服务器:node1
mfs client服务器:node29
三 软件安装:
mfs master服务器安装(node4):
1)创建mfs用户和组:
useradd mfs -s /sbin/nologin
2)解压mfs压缩包,然后编译:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)master服务器需要以下文件:
mfsmaster.cfg :主文件
mfsexports.cfg :mfs挂载权限设置,参考NFS文件系统中的exports.cfg
mfstopology.cfg :机架感知
具体配置如下:
mfsmaster.cfg文件可以不修改,全部按照默认配置即可!
cp -a mfsmaster.cfg.dist mfsmaster.cfg
mfsexports.cfg文件:
cp -a mfsexports.cfg.dist mfsexports.cfg
172.16.41.0/24 / rw,alldirs,maproot=0
代表让172.16.41.0网段机器可以挂载mfs的根分区;
启动mfsmaster命令:/usr/local/mfs/sbin/mfsmaster start
关闭:mfsmaster:/usr/local/mfs/sbin/mfsmaster -s
chunkserver 安装与配置
在node3和node2服务器上操作:
1)创建mfs用户和组:
useradd mfs -s /sbin/nologin
2)解压mfs压缩包,然后编译:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)chunkserver配置文件如下:
mfschunkserver.cfg mfschunkserver配置文件
mfshdd.cfg mfschunkserver上的分区,必须是独立分区!
mfschunkserver.cfg配置如下:
MASTER_HOST = 172.16.41.154 #mfs master服务器ip或者主机名
MASTER_PORT = 9420
mfshdd.cfg配置:
[root@node3 mfs]# cat mfshdd.cfg
# mount points of HDD drives
/usr/local/mfsdata
启动chunkserver上的服务: /usr/local/mfs/sbin/mfschunkserver start
停止chunkserver上的服务: /usr/local/mfs/sbin/mfschunkserver -s
日志服务器metalogger 配置与搭建:
1)创建mfs用户和组:
useradd mfs -s /sbin/nologin
2)解压mfs压缩包,然后编译:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)mfsmetalogger.cfg文件配置:
其他参数默认,以下参数视实际情况而定:
# 元数据备份下载请求频率,设置为1小时;
META_DOWNLOAD_FREQ = 1
# MASTER_RECONNECTION_DELAY = 5
MASTER_HOST = 172.16.41.154
MASTER_PORT = 9419
启动metalogger节点服务:
启动日志服务:/usr/local/mfs/sbin/mfsmetalogger start
关闭日志服务:/usr/local/mfs/sbin/mfsmetalogger stop
mfs client安装与配置:
mfs client安装依赖与系统包fuse,你可以源码安装也可以yum方式安装
本环境os版本为centOS 6.6 ,通过yum方式安装的!
yum -y install fuse fuse-devel
1)创建mfs用户和组:
useradd mfs -s /sbin/nologin
2)解压mfs压缩包,然后编译:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make && make install
3)创建mfs挂载目录:
mkdir /mnt/mfs
4)mfs client 挂载命令:
/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 172.16.41.154
查看:
至此,mfs已经配置完成!
四 mfs client常用命令:
1)设置mfs文件系统中文件的副本个数,本测试案例,设置2份:
mfssetgoal -r 2 /mnt/mfs/
查看文件份数:
[root@node29 bin]# mfsgetgoal /mnt/mfs/mfs-1.6.27-5.tar.gz
/mnt/mfs/mfs-1.6.27-5.tar.gz: 2
与设置的文件副本数一致!
2)设置回收站清空时间:
mfsrsettrashtime 600 /mnt/mfs/
ps:600的单位为秒,也就是回收站文件存放时间为10分钟。
相关阅读:
MooseFS 的详细介绍:请点这里
MooseFS 的下载地址:请点这里