系统下载、安装、激活,就到系统天地来!

所在位置: 首页 — 系统文章 — 软件教程

MooseFS的安装配置和使用技巧

作者:系统天地 日期:2018-08-31

MooseFS是一种Linux下的开源半分布式文件系统,以下简称为MFS。目前许多企业都在使用它。它之所以使用如此广泛是因为有如下优点:

 

安装和配置简单方便

可靠性高(数据的多个拷贝被存储在多个不同的服务器上)

通过添加新的服务器或硬盘就可以实现容量的动态扩展

删除的数据可在一定时间内保留(类似windows里面的回收站机制,数据保留时间需要配置)

以上优点不难看出,MFS虽然是开源的,但是它功能上不逊色于专业的存储系统。下面我们来具体学习安装和配置MFS。

 

MFS文件系统结构

整个文件系统包括如下几个角色:

管理服务器-MasterServer

元数据日志服务器-MetaloggerServer

数据存储服务器-ChunkServer

客户端-Client

 

每个角色的作用如下:

1、管理服务器,负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复多节点拷贝。

2、元数据日志服务器,负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。

3、数据存储服务器,负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。

4、客户端,通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地unix文件系统使用一样的效果。

 

准备工作

准备服务器:

OS: Centos 5.8 x86_64

管理服务器:192.168.0.201

元数据日志服务器:192.168.0.202

数据存储服务器:192.168.0.203

数据存储服务器:192.168.0.204

客户端:192.168.0.205

 

下载安装包:

wgethttp://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=

moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz

添加相关用户与用户组:

groupaddmfs

useradd-gmfsmfs-s /sbin/nologin

编译安装MFS

整个MFS安装很简单,只有如下几步。

tarzxvfmfs-1.6.26.tar.gz

cdmfs-1.6.26

./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs

make

makeinstall

注意客户端部分在安装之前,需要查看是否安装了fuse。没有安装请执行如下部分:

yuminstallfuse

yuminstallfuse-devel

配置使用

管理服务器(192.168.0.201):

mfsmaster.cfg的配置

cd/usr/local/mfs/etc

cpmfsmaster.cfg.distmfsmaster.cfg

vim mfsmaster.cfg

 

mfsmaster.cfg文件内容如下,

带#号的均为默认配置,不带#号的需手工配置。

#WORKING_USER=mfs运行mfsmaster的用户

#WORKING_GROUP=mfs运行mfsmaster的组

#SYSLOG_IDENT=mfsmaster是MasterServer在syslog中的标识

#LOCK_MEMORY=0是否执行mlockall()以避免mfsmaster进程溢出

#NICE_LEVEL=-19运行的优先级

#EXPORTS_FILENAME=/usr/local/mfs/etc/mfsexports.cfg被挂接目录及其权限控制文件的存放路径

#TOPOLOGY_FILENAME=/usr/local/mfs/etc/mfstopology.cfg

#DATA_PATH=/usr/local/mfs/var/mfs数据存放路径,存放了三类文件,changelog、sessions、stats

#BACK_LOGS=50元数据的改变日志文件数量

#BACK_META_KEEP_PREVIOUS=1

#REPLICATIONS_DELAY_INIT=300延迟复制时间

#REPLICATIONS_DELAY_DISCONNECT=3600ChunkServer断开复制的延时

#MATOML_LISTEN_HOST=*元数据日志服务器监听的IP地址

#MATOML_LISTEN_PORT=9419元数据日志服务器监听的端口地址

#MATOCS_LISTEN_HOST=*用于ChunkServer连接的IP地址

#MATOCS_LISTEN_PORT=9420用于ChunkServer连接的端口地址

#MATOCL_LISTEN_HOST=*用于客户端挂接连接的IP地址

#MATOCL_LISTEN_PORT=9421用于客户端挂接连接的端口地址

#CHUNKS_LOOP_CPS=100000

#CHUNKS_LOOP_TIME=300chunks的回环频率

#CHUNKS_SOFT_DEL_LIMIT=10

#CHUNKS_HARD_DEL_LIMIT=25

#CHUNKS_WRITE_REP_LIMIT=2在一个循环里复制到一个ChunkServer的最大chunks数目

#CHUNKS_READ_REP_LIMIT=10在一个循环里从一个ChunkServer中复制的最大chunks数目

#REJECT_OLD_CLIENTS=0弹出低版本的客户端挂接

#deprecated:

#CHUNKS_DEL_LIMIT-useCHUNKS_SOFT_DEL_LIMITinstead
#LOCK_FILE-locksystemhasbeenchanged,andthisoptionisusedonlyto

 

searchforoldlockfile

mfsmaster.cfg的配置

cd/usr/local/mfs/etc

 

cpmfsmaster.cfg.distmfsmaster.cfg

vimmfsmaster.cfg

 

mfsmaster.cfg文件的内容如下:

该配置文件中每个条目分为三部分,客户端IP地址、挂接的目录、客户端拥有的权限。默认带#号的配置是不生效的。

*/rw,alldirs,maproot=0

#192.168.1.0/24/rw,alldirs,maproot=0,password=passcode

#10.0.0.0-10.0.0.5/testrw,maproot=nobody,password=test

#10.1.0.0/255.255.0.0/publicrw,mapall=1000:1000

#10.2.0.0/16/rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w

[!--empirenews.page--]

 

复制元数据文件

cd/usr/local/mfs/var/mfs/

mvmetadata.mfs.emptymetadata.mfs

 

与管理服务器相关的命令:

启动命令:/usr/local/mfs/sbin/mfsmasterstart

安全停止命令:/usr/local/mfs/sbin/mfsmaster–s

更多帮助信息:/usr/local/mfs/sbin/mfsmaster–h

 

元数据日志服务器(192.168.0.202):

mfsmetalogger.cfg的配置

cd/usr/local/mfs/etc

cpmfsmetalogger.cfg.distmfsmetalogger.cfg

vimmfsmetalogger.cfg

 

mfsmetalogger.cfg文件的内容如下:

带#号的均为默认配置,不带#号的需手工配置。

#WORKING_USER=mfs

#WORKING_GROUP=mfs

#SYSLOG_IDENT=mfsmetalogger

#LOCK_MEMORY=0

#NICE_LEVEL=-19

#DATA_PATH=/usr/local/mfs/var/mfs

#BACK_LOGS=50

#BACK_META_KEEP_PREVIOUS=3

#META_DOWNLOAD_FREQ=24元数据备份文件下载请求频率,默认是24小时。

#MASTER_RECONNECTION_DELAY=5

MASTER_HOST=192.168.0.201此处需要修改为MasterServer的IP

#MASTER_PORT=9419

#MASTER_TIMEOUT=60

#deprecated,toberemovedinMooseFS1.7

#LOCK_FILE=/var/run/mfs/mfsmetalogger.lock

与元数据日志服务器相关的命令:

启动命令:/usr/local/mfs/sbin/mfsmetaloggerstart

安全停止命令:/usr/local/mfs/sbin/mfsmetalogger–s

更多帮助信息:/usr/local/mfs/sbin/mfsmetalogger–h

 

数据存储服务器(192.168.0.203和192.168.0.203):

mfschunkserver.cfg的配置

cd/usr/local/mfs/etc

cpmfschunkserver.cfg.distmfschunkserver.cfg

vimmfschunkserver.cfg

 

mfschunkserver.cfg文件的内容如下:

带#号的均为默认配置,不带#号的需手工配置。

#WORKING_USER=mfs

#WORKING_GROUP=mfs

#SYSLOG_IDENT=mfschunkserver

#LOCK_MEMORY=0

#NICE_LEVEL=-19

#DATA_PATH=/usr/local/mfs/var/mfs

#MASTER_RECONNECTION_DELAY=5

#BIND_HOST=*

MASTER_HOST=192.168.0.201元数据服务器的名称或地址,可以是主机名或IP地址

MASTER_PORT=9420

#MASTER_TIMEOUT=60

#CSSERV_LISTEN_HOST=*

#CSSERV_LISTEN_PORT=9422该端口用于与其他数据存储服务器间的连接,通常是数据复制。

#HDD_CONF_FILENAME=/usr/local/mfs/etc/mfshdd.cfg分配给MFS使用的磁盘空间配置文件的位置。

#HDD_TEST_FREQ=10

#deprecated,toberemovedinMooseFS1.7

#LOCK_FILE=/var/run/mfs/mfschunkserver.lock

#BACK_LOGS=50

#CSSERV_TIMEOUT=5

mfshdd.cfg的配置

cd/usr/local/mfs/etc

cpmfshdd.cfg.distmfshdd.cfg

vimmfshdd.cfg

 

mfshdd.cfg文件的内容如下:

/data

上面的/data是一个MFS分区,需要将此分区的属主改为mfs。

chown–Rmfs.mfs/data

与数据存储服务器相关的命令:

启动命令:/usr/local/mfs/sbin/mfschunkserverstart

安全停止命令:/usr/local/mfs/sbin/mfschunkserver–s

更多帮助信息:/usr/local/mfs/sbin/mfschunkserver–h

 

客户端(192.168.0.205):

创建挂接点

mkdir–p/data/mfs

挂载MFS的命令

/usr/local/mfs/bin/mfsmount/data/mfs-H192.168.0.201

查看挂载情况:

查看挂载信息:

卸载MFS挂载:

umount/data/mfs

查看更多帮助信息:

/usr/local/mfs/bin/mfsmount–h