一、地址规划

     主控服务器MasterServer:192.168.11.100            安装Master角色

     元数据日志服务器MetaLoggerServer:192.168.11.103          安装metalogger角色

     存储服务器Chunk Server:192.168.11.102  192.168.11.110        安装chunkserver角色

     客户端Client:192.168.11.111               安装mfsmount角色和fuse挂载工具

     所有节点均配置hosts文件,以便解析mfsmaster

#vi /etc/hosts
192.168.11.100  mfsmaster


二、安装配置mater管理数据服务(192.168.11.100)

     1、下载

wget http://sourceforge.net/projects/moosefs/files/moosefs-packages/2.0.60/moosefs-packages-2.0.60-centos.tar.gz

     2、创建用户

useradd mfs -s /sbin/nologin  

     3、安装

#tar -zxvf moosefs-packages-2.0.60-centos.tar.gz -C src/
#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
#make && make install

     4、mfs配置文件目录

MFS分布式文件系统安装配置_第1张图片


     5、生成配置文件

#cp /usr/local/mfs/etc/mfs/mfsmaster.cfg.dist /usr/local/mfs/etc/mfs/mfsmaster.cfg     #主配置文件
#cp /usr/local/mfs/etc/mfs/mfsexports.cfg.dist /usr/local/mfs/etc/mfs/mfsexports.cfg    #挂载目录和权限配置文件
#cp /usr/local/mfs/etc/mfs/mfstopology.cfg.dist /usr/local/mfs/etc/mfs/mfstopology.cfg   #允许chunkserver加入集群配置
#cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs   #mfs数据文件


     5.1、配置文件详解(配置文件默认使用#注释,如不修改注释的即为默认配置)

         5.1.1、 配置文件位于安装目录/usr/local/mfs/etc,需要的配置文件有两个:mfsmaster.cfg 和mfsexports.cfg,mfsmaster.cfg 是主配置文件,mfsexports.cfg 是被挂接目录及权限设置。

          mfsmaster.cfg为主配置文件

MFS分布式文件系统安装配置_第2张图片

需要注意的是,凡是用#注释掉的变量均使用其默认值。以上是对master server 的mfsmaster.cfg 配置文件的解释,对于这个文件不需要做任何修改就可以工作。

         5.1.2、 mfsexports.cfg 是被挂接目录及权限配置文件

MFS分布式文件系统安装配置_第3张图片

     注:配置文件共有三个部分。

          第一部分:客户端IP地址

          第二部分:被挂载的目录

          第三部分:客户端拥有的权限

     地址可以被指定为以下几种形式

*                           所有的ip 地址
n.n.n.n                  单个ip 地址
n.n.n.n/b IP           网络地址/位数掩码
n.n.n.n/m.m.m.m   IP网络地址/子网掩码
f.f.f.f-t.t.t.t             IP段

     目录需注意的地方:

/                         表示MooseFS 根;
.                          表示MFSMETA 文件系统

     权限部分:

ro                 只读模式共享
rw                 读写的方式共享
alldirs            许挂载任何指定的子目录
maproot        映射为root,还是指定的用户
password       指定客户端密码


     5.2、启动master server

/usr/local/mfs/sbin/mfsmater start

      注:可能会遇到以下错误

          5.2.1、mfstopology.cfg不存在。此配置文件是后期版本加入的。cp /usr/local/mfs/etc/mfs/mfstopology.cfg.dist /usr/local/mfs/etc/mfs/mfstopology.cfg即可解决

     MFS分布式文件系统安装配置_第4张图片

          2.2.2、metadata.cfg不存在,不能创建数据文件,解决方法:cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs

     MFS分布式文件系统安装配置_第5张图片

     启动成功后会有如下提示

MFS分布式文件系统安装配置_第6张图片

     启动完成后在/usr/local/mfs/var/mfs目录下,之前cp的metadata.mfs配置文件会变成metadata.mfs.back。直到停止服务

     停止master服务命令

/usr/local/mfs/sbin/mfsmaster stop

     2.2.3、为了监控 MooseFS 当前运行状态,我们可以运行 CGI 监控服务,这样就可以用浏览器查看整个

     MooseFS 的运行情况:

# //usr/local/mfs/sbin/mfscgiserv

MFS分布式文件系统安装配置_第7张图片

二、安装配置元数据日志服务(192.168.11.103)

     1、创建用户

useradd mfs -s /sbin/nologin

     2、编译安装

#tar -zxvf moosefs-packages-2.0.60-centos.tar.gz -C src/
#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
#make && make install

     3、生成配置文件

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

     4、编辑配置文件

 vim mfsmetalogger.cfg
###############################################
# RUNTIME OPTIONS                             #
###############################################
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmetalogger
# LOCK_MEMORY = 0
# NICE_LEVEL = -19
# FILE_UMASK = 027
# DATA_PATH = /usr/local/mfs/var/mfs
# BACK_LOGS = 50
# BACK_META_KEEP_PREVIOUS = 3
# META_DOWNLOAD_FREQ = 24
###############################################
# MASTER CONNECTION OPTIONS                   #
###############################################
# MASTER_RECONNECTION_DELAY = 5
MASTER_HOST = 192.168.11.100        #如修改为IP则取消#,如为默认需添加hosts文件
# MASTER_PORT = 9419
# MASTER_TIMEOUT = 10

     5、启动mfsmetaloger服务

/usr/local/mfs/sbin/mfsmetalogger start
可能会遇到下面的错误
MFS分布式文件系统安装配置_第8张图片    原因:元数据日志服务器会向master服务器发出mfsmaster的请求。因此需要配置hosts文件
    vi /etc/hosts
    192.168.11.100  mfsmaster
再次启动
wKioL1lllNDheEHYAAAc6cmDL6Q356.png


三、安装配置chunkserver数据存储服务器(192.168.11.102  192.168.11.110)

        1、创建用户

useradd mfs -s /sbin/nologin

     2、编译安装

#tar -zxvf moosefs-packages-2.0.60-centos.tar.gz -C src/
#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs  --with-default-group=mfs --disable-mfsmaster
#make && make install

     配置文件位于安装目录/usr/local/mfs/etc ,需要的配置文件有两个: mfschunkserver.cfg 和mfshdd.cfg,mfschunkserver.cf 是主配置文件,mfshdd.cfg 是服务器用来分配给MFS使用的空间,最好是一个单独的硬盘或者一个raid 卷,最低要求是一个分区。

     3、生成配置文件

# cp /usr/local/mfs/etc/mfs/mfschunkserver.cfg.dist /usr/local/mfs/etc/mfs/mfschunkserver.cfg
# cp /usr/local/mfs/etc/mfs/mfshdd.cfg.dist /usr/local/mfs/etc/mfs/mfshdd.cfg

     4、编辑mfschunkserver.cfg配置文件

[root@mail etc]# vi mfschunkserver.cfg

# WORKING_USER = mfs
# WORKING_GROUP = mfs
# DATA_PATH = /usr/local/mfs/var/mfs
# LOCK_FILE = /var/run/mfs/mfschunkserver.pid
# SYSLOG_IDENT = mfschunkserver
# BACK_LOGS = 50
# MASTER_RECONNECTION_DELAY = 30
MASTER_HOST = mfsmaster 元数据服务器的名称或地址,可以是主机名,也可以是ip 地址
MASTER_PORT = 9420
# MASTER_TIMEOUT = 60
# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422 这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制
# CSSERV_TIMEOUT = 60
# CSTOCS_TIMEOUT = 60
# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配给MFS 使用的磁盘空间配置文件的位置

     注:需要添加hosts条目  192.168.11.100  mfsmaster

     5、创建共享目录,并修改共享配置文件

#mkdir /home/data
#vim /usr/local/mfs/etc/mfs/mfshdd.cfg
    /home/data

     注:这里的/home/data是给mfs指定的分区,在本机上可以是一个独立的磁盘挂载目录。

          需要修改属主为mfs

          chown -R mfs:mfs /home/data

     6、启动mfschunkserver

          启动时可能会遇到下面的错误

wKiom1lllODDKsceAAAZgFZ0Xh8082.png

          原因:乜有对mfs工作目录写入的权限

          解决办法:chown -R mfs:mfs /usr/local/mfs/var/mfs。再次启动

MFS分布式文件系统安装配置_第9张图片

     7、停止mfschunkserver

/usr/local/mfs/sbin/mfschunkserver stop



四、客户端配置(192.168.11.111)

     由于MFS依赖与fuse,所以需要先安装fuse

     1、下载fuse

#wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz

     2、安装

./configure && make && make install

     3、导入环境变量

#echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >>/etc/profile
#source /etc/profile

     4、安装mfs

       4.1、创建用户

useradd mfs -s /sbin/nologin

     4.2、编译安装

#tar -zxvf moosefs-packages-2.0.60-centos.tar.gz -C src/
#./configure --prefix=/usr/local/mfs --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver
#make && make install

     4.3、挂载文件系统

#mkdir /mnt/mfs   #创建挂载点
#/usr/local/mfs/bin/mfsmount /mnt/mfs -H mfsmaster或/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.11.100    #挂载

     4.4、查看挂载信息

wKioL1lllQ_Rzyi3AAAOXtPPIeQ109.png

wKiom1lllRCA_orVAAAK2CEW2hs927.png


五、验证

     5.2、验证是否可正常读写

cp /etc/hosts /mnt/mfs

     5.3、mfs是通过副本保存文件的。可以指定文件保存的副本数量。

/usr/local/mfs/bin/mfsrsetgoal 3 /mnt/mfs/     #设置保存副本数量为3份

     5.4、查看设置是否成功

/usr/local/mfs/bin/mfsgetgoal /mnt/mfs/hosts

wKioL1lllTLAcPiTAAALbZidBf8033.png

     5.5、实际的拷贝份数和拷贝到chunkserver节点可以通过mfscheckfile 和mfsfile info 命令来证实

/usr/local/mfs/bin/mfscheckfile /mnt/mfs/hosts

/usr/local/mfs/bin/mfsfileinfo /mnt/mfs/hosts

MFS分布式文件系统安装配置_第10张图片

我只有两台chunkserver。可以看到,实际拷贝了两份,存放在两个chunkserver节点上

     注意:空文件不会拷贝。

     5.6、设置删除文件后空间回收时间。
     默认回收时间为7天(604800秒)

# /usr/local/mfs/bin/mfssettrashtime 600 /mnt/mfs
# /usr/local/mfs/bin/mfsgettrashtime 600 /mnt/mfs


六、破坏性测试

     6.1、实验环境为两台chunkserver,先停止一台chunkserver。看数据存储是否正确

wKiom1lllW2AmRN3AAAVkkq_sLI294.png