一、地址规划
主控服务器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配置文件
[[email protected] etc]# vi mfschunkserver.cfg
# WORKING_USER = 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。看数据存储是否正确