34r2312 发表于 2015-1-15 08:17:37

分布式文件系统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

1
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=mfsmake && make install
chomd -R mfs:mfs /usr/local/mfs

3)chunkserver配置文件如下:
mfschunkserver.cfg   mfschunkserver配置文件
mfshdd.cfgmfschunkserver上的分区,必须是独立分区!


mfschunkserver.cfg配置如下:

1
2
MASTER_HOST = 172.16.41.154   #mfs master服务器ip或者主机名
MASTER_PORT = 9420





mfshdd.cfg配置:
# 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=mfsmake && make install
chomd -R mfs:mfs /usr/local/mfs

3)mfsmetalogger.cfg文件配置:
其他参数默认,以下参数视实际情况而定:

1
2
3
4
5
6
7
# 元数据备份下载请求频率,设置为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-mfsmountmake && 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/

查看文件份数:
# 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分钟。


页: [1]
查看完整版本: 分布式文件系统mfs(moosefs)搭建与配置