分布式存储MooseFS的搭建,它把数据分散在多台服
分布式存储MooseFS的搭建,它把数据分散在多台服
MooseFS介绍
mooseFS是一款网络分布式文件系统。它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源。MFS也像其他类unix文件系统一样,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时间),可以创建特殊的文件(块设备,字符设备,管道,套接字),符号链接,硬链接。
MooseFS文件系统结构包括以下四种角色:
1 管理服务器managing server (master)
2 元数据日志服务器Metalogger server(Metalogger)
3数据存储服务器data servers (chunkservers)
4 客户机挂载使用client computers
原理图:
搭建的环境介绍
Master server: 10.96.153.223
Metalogger server : 10.96.153.224
chunk server : 10.96.153.221 10.96.153.222
client server : 10.96.153.225
这里使用两台chunk server,master、metalogger和client各一台进行测试,当然,如果由于服务器有限,可以把master和metalogger分别放在chunkserver上。
Master Server安装
1、下载解压
#cd /usr/src #wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.26/mfs-1.6.26.tar.gz #tar xzf mfs-1.6.26.tar.gz
2、配置编译参数
#groupadd mfs #useradd -g mfs mfs #cd mfs-1.6.26/ #./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmount --disable-mfschunkserver
3、编译并安装
#make #make install
4、配置文件
#cd /usr/local/mfs/etc #cp mfsmaster.cfg.dist mfsmaster.cfg #cp mfsexports.cfg.dist mfsexports.cfg
更改配置文件mfsexports.cfg
10.96.153.0/24 / rw,alldirs,maproot=0
5、启动前准备
#cd /usr/local/mfs/var/mfs #cp metadata.mfs.empty metadata.mfs #echo "10.96.153.221 mfsmaster" >> /etc/hosts
6、启动mfsmaster
#/usr/local/mfs/sbin/mfsmaster start
7、监控服务
#/usr/local/mfs/sbin/mfscgiserv
浏览器输入10.96.153.221:9425
mfsmetalogger搭建
1、下载解压
#cd /usr/src #wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.26/mfs-1.6.26.tar.gz #tar xzf mfs-1.6.26.tar.gz
2、配置编译参数
#groupadd mfs #useradd -g mfs mfs #cd mfs-1.6.26/ #./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmount --disable-mfschunkserver
3、编译并安装
#make #make install
4、配置文件
#cd /usr/local/mfs/etc #cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
5、启动前准备
#echo "10.96.153.221 mfsmaster" >> /etc/hosts
6、启动mfsmetalogger
##/usr/local/mfs/sbin/mfsmetalogger start
Chunk servers 安装
1、下载解压
#cd /usr/src #wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.26/mfs-1.6.26.tar.gz #tar xzf mfs-1.6.26.tar.gz
2、配置编译参数
#groupadd mfs #useradd -g mfs mfs #cd mfs-1.6.26/ #./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmount --disable-mfsmaster
3、编译并安装
#make #make install
4、创建磁盘(100G)
#dd if=/dev/zero of=/mnt/storage/mfschunks1 bs=1024 count=1 seek=$((100*1024*1024-1)) #mkfs -t ext3 /mnt/storage/mfschunks1 #mkdir -p /mnt/mfs1 #mount -t ext3 -o loop /mnt/storage/mfschunks1 /mnt/mfs1
5、配置文件
#cd /usr/local/mfs/etc #cp mfschunkserver.cfg.dist mfschunkserver.cfg #cp mfshdd.cfg.dist mfshdd.cfg
更改配置文件mfshdd.cfg,加入:
/mnt/mfs1
6、启动前准备
#echo "10.96.153.221 mfsmaster" >> /etc/hosts #chown -R mfs:mfs /mnt/mfs1
7、启动chunkserver
##/usr/local/mfs/sbin/mfschunkserver start
mfsclient安装
1、下载解压
#cd /usr/src #wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.26/mfs-1.6.26.tar.gz #tar xzf mfs-1.6.26.tar.gz
2、配置编译参数
#groupadd mfs #useradd -g mfs mfs #cd mfs-1.6.26/ #./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster--disable-mfschunkserver
3、编译并安装
#make #make install
4、启动前准备
mkdir /mnt/mfs #echo "10.96.153.221 mfsmaster" >> /etc/hosts
5、开始挂载
#/usr/local/mfs/bin/mfsmount /mnt/mfs -H mfsmaster
6、检查
df -h查看输出
MFS维护
5.1、启动MFS集群
1、启动mfsmaster 进程2、启动所有的mfschunkserver 进程3、启动mfsmetalogger 进程(如果配置了mfsmetalogger)4、当所有的chunkservers 连接到MooseFS master 后,任何数目的客户端可以利用mfsmount 去挂接被export 的文件系统。(可以通过检查master 的日志或是CGI 监视器来查看是否所有的chunkserver被连接)。5.2、停止MFS集群
1、在所有的客户端卸载MooseFS 文件系统(用umount 命令或者是其它等效的命令)2、用mfschunkserver stop 命令停止chunkserver 进程3、用mfsmetalogger stop 命令停止metalogger 进程4、用mfsmaster stop 命令停止master 进程5.3、MFS chunkservers 的维护
若每个文件的goal(目标)都不小于2,并且没有under-goal 文件(这些可以用mfsgetgoal –r和mfsdirinfo 命令来检查),那么一个单一的chunkserver 在任何时刻都可能做停止或者是重新启动。以后每当需要做停止或者是重新启动另一个chunkserver 的时候,要确定之前的chunkserver 被连接,而且要没有under-goal chunks。
5.4、MFS元数据备份
用rsync定时备份/usr/local/app/soft/mfs/var/mfs/metadata.mfs.back
5.5、MFS Master的恢复
mfsmetarestore -a
5.6、从MetaLogger中恢复Master
mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs
评论暂时关闭