一、地址规划
主控服务器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配置文件目录
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为主配置文件
需要注意的是,凡是用#注释掉的变量均使用其默认值。以上是对master server 的mfsmaster.cfg 配置文件的解释,对于这个文件不需要做任何修改就可以工作。
5.1.2、 mfsexports.cfg 是被挂接目录及权限配置文件
注:配置文件共有三个部分。
第一部分:客户端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即可解决
2.2.2、metadata.cfg不存在,不能创建数据文件,解决方法:cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
启动成功后会有如下提示
启动完成后在/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
二、安装配置元数据日志服务(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
可能会遇到下面的错误
原因:元数据日志服务器会向master服务器发出mfsmaster的请求。因此需要配置hosts文件
vi /etc/hosts
192.168.11.100 mfsmaster
再次启动
三、安装配置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
启动时可能会遇到下面的错误
原因:乜有对mfs工作目录写入的权限
解决办法:chown -R mfs:mfs /usr/local/mfs/var/mfs。再次启动
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、查看挂载信息
五、验证
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
5.5、实际的拷贝份数和拷贝到chunkserver节点可以通过mfscheckfile 和mfsfile info 命令来证实
/usr/local/mfs/bin/mfscheckfile /mnt/mfs/hosts
/usr/local/mfs/bin/mfsfileinfo /mnt/mfs/hosts
我只有两台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。看数据存储是否正确
-----------------------------------
©著作权归作者所有:来自51CTO博客作者亮公子的原创作品,请联系作者获取转载授权,否则将追究法律责任
MFS分布式文件系统安装配置
https://blog.51cto.com/iyull/1946582
MFS分布式文件系统安装配置_51CTO博客_分布式文件系统
https://blog.51cto.com/iyull/1946582
Linux的企业-分布式文件系统mfs(moosefs)搭建与配置_运维的技术博客_51CTO博客
https://blog.51cto.com/anfishr/1975415
"MFS"搜索结果 - 程序员大本营
https://www.pianshen.com/search