MFS - MooseFS 文件系统
MFS
MooseFS 文件系统 可以实现RAID 功能;节约成本 实现在线扩展;是一种半分布式文件系统。
一、MFS文件系统的组成
1、mfsmaster 元数据服务器。
在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。
2、 数据存储服务器 chunkserver。
真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。
3、 MFS客户端。
使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。元数据服务器安装和配置元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的环境里,我是用freebsd做为MFS元数据的运行平台。GNU源码,在各种类unix平台的安装都基本一致。
二、基础架构
1、MFSmaster 10.10.100.101 1、Metalogger 也可以和master在同一台 10.10.100.102 3、Chunkserver 10.10.100.103-105 4、client IP
1、yum 安装;设置 yum 源
For EL6 family: # curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo MooseFS.repo 需要设置 gpgcheck=0
2、MFSmaster 管理服务器
1、mfsmaster.cfg 主配置文件 默认开放 9414 9420 9421 端口; 配置元数据存放位置; metadata.mfs 默认的元数据文件 需要放置到设置的DATA_PATH目录; # cat /etc/mfs/mfsmaster.cfg |grep -v ^$ |grep -v ^# DATA_PATH = /mfs/data 2、mfsexports.cfg 对被挂载目录及其权限配置
mfsexports.cfg 对被挂接目录及其权限进行设置 # cat /etc/mfs/mfsexports.cfg |grep -v ^$ |grep -v ^# * / rw,alldirs,admin,maproot=0:0 * . rw 3、Metalogger -- 元数据日志服务器 主配置文件 mfsmetalogger.cfg 配置 master_host # cat /etc/mfs/mfsmetalogger.cfg |grep -v ^$ |grep -v ^# MASTER_HOST = 10.10.100.101
2、数据存储服务器
# yum install moosefs-chunkserver 1、 Chunkservers -- 数据存储服务器 主配置文件 mfschunkserver.cfg master_host master_port # cat /etc/mfs/mfschunkserver.cfg |grep -v ^$ |grep -v ^# DATA_PATH = /mfs/data MASTER_HOST = 10.10.100.101 MASTER_PORT = 9420 2、mfshdd.cfg 指定服务器分配给 MFS 使用的空间; 配置MFS 分区 /mfsdata chown -R mfs:mfs /mfsdata # cat /etc/mfs/mfshdd.cfg |grep -v ^$ |grep -v ^# /mfs/data 3、需要端口; 9419 元数据日志服务监听端口 9420 chunk server 数据存储服务器连接端地址; 9421 客户端链接挂接链接端口 9422 chunkserver 端口 9425 moosefs-cgiserv 监控客户端的链接状态;
3、Clients 客户端挂载 需要 fuse 插件;
# yum install moosefs-client # yum install fuse # modprobe fuse ( 加载fuse 模块 ) fuse 设置 /etc/fstab and then add one of the following entries to your /etc/fstab: "classic" entry (works with all MooseFS 3.0 and 2.0 verisons): mfsmount /mnt/mfs fuse defaults 0 0 or "NFS-like" entry (works with MooseFS 3.0.75+): mfsmaster.host.name: /mnt/mfs moosefs defaults 0 0
三、客户端创建挂载点;
mkdir /mnt/mfs 挂载 MFS mfsmount /mnt/mfs -H mfsmasterIP # -p 有密码就输入密码 (注 这只是挂载的是同一个元数据服务器IP ;而不是存储服务器的iP;)
四、 mfscgiserv 监控客户端链接状态
http://MFSMASTER:PORT/
五、源码编译
# useradd mfs -s /sbin/nologin
# wget http://ftp5.gwdg.de/pub/linux/archlinux/extra/os/x86_64//fuse2-2.9.7-3-x86_64.pkg.tar.xz
# wget http://ppa.moosefs.com/src/moosefs-3.0.91-1.tar.gz
管理服务 元数据服务 存储服务 针对不同的服务起:
mfsmaster mfschunkserver mfsmetalogger chown -R mfs:mfs /usr/local/mfs cd /usr/local/mfs ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs make &&make install
MFS 客户端
# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount # make &&make install
MFS 常用操作