简单介绍:
MooseFS是一款网络分布式文件系统。它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源。MFS也像其他类unix文件系统一样,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时间),可以创建特殊的文件(块设备,字符设备,管道,套接字),符号链接,硬链接。
MooseFS角色:
1 管理服务器managing server (master):管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝。
2 元数据日志服务器Metalogger server(Metalogger):元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。
3 数据存储服务器data servers (chunkservers):数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
4 客户机挂载使用client computers:通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,.看起来共享的文件系统和本地unix文件系统使用一样的效果。
部署安装:
角色分配:
192.168.1.225 mfsmaster
192.168.1.226 mfsmetalogger
192.168.1.227 mfschunkserver
192.168.1.228 mfsclient
需要资源包:MooseFS、FUSE
MooseFS下载:http://sourceforge.net/projects/moosefs/
FUSE下载:http://sourceforge.net/projects/fuse/
一:mfsmaster安装
创建mfs组与用户。
# groupadd mfs # useradd -g mfs mfs -s /sbin/nologin
上传MooseFS安装包,解压,编译,安装。
# tar -zxvf moosefs-ce-2.0.43-1.tar.gz # cd moosefs-ce-2.0.43 # ./configure --prefix=/usr/local/mfs --sysconfdir=/usr/local/mfs/etc --localstatedir=/usr/local/mfs/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount # make # make install
metadata二进制文件后缀修改。
# mv /usr/local/mfs/lib/mfs/metadata.mfs.empty /usr/local/mfs/lib/mfs/metadata.mfs
示例配置文件后缀修改,使之成为我们所需的mfsmaster配置文件。
# mv /usr/local/mfs/etc/mfs/mfsmaster.cfg.dist /usr/local/mfs/etc/mfs/mfsmaster.cfg # mv /usr/local/mfs/etc/mfs/mfsexports.cfg.dist /usr/local/mfs/etc/mfs/mfsexports.cfg
配置修改:
mfsmaster.cfg为master服务器配置文件,可以使用默认配置。
mfsexports.cfg配置了客户端的挂载权限,这里配置为192.168.1.0网段的客户端可挂载mfs磁盘。
# grep -v"^#" mfsexports.cfg | grep -v "^$" 192.168.1.0/24
修改hosts解析,配置文件中MASTER_HOST的默认配置是“mfsmaster”。
# vi /etc/hosts 192.168.1.225 mfsmaster
二:mfsmetalogger安装(安装步骤类似mfsmaster)
# groupadd mfs # useradd -g mfsmfs -s /sbin/nologin # tar -zxvf moosefs-ce-2.0.43-1.tar.gz # cd moosefs-ce-2.0.43 # ./configure --prefix=/usr/local/mfs --sysconfdir=/usr/local/mfs/etc --localstatedir=/usr/local/mfs/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount # make # make install # mv /usr/local/mfs/lib/mfs/metadata.mfs.empty /usr/local/mfs/lib/mfs/metadata.mfs # vi /etc/hosts 192.168.1.225 mfsmaster
示例配置文件后缀修改,使之成为我们所需的mfsmetalogger配置文件。
# mv /usr/local/mfs/etc/mfs/mfsmetalogger.cfg.dist /usr/local/mfs/etc/mfs/mfsmetalogger.cfg
配置mfsmetalogger.cfg文件。(配置与master的连接参数)
# vi mfsmetalogger.cfg MASTER_HOST = mfsmaster MASTER_PORT = 9419
三:mfschunkserver安装(安装步骤类似mfsmaster)
# groupadd mfs # useradd -g mfsmfs -s /sbin/nologin # tar -zxvf moosefs-ce-2.0.43-1.tar.gz # cd moosefs-ce-2.0.43 # ./configure --prefix=/usr/local/mfs --sysconfdir=/usr/local/mfs/etc --localstatedir=/usr/local/mfs/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster # make # make install # vi /etc/hosts 192.168.1.225 mfsmaster
示例配置文件后缀修改,使之成为我们所需的mfschunkserver配置文件。
# mv /usr/local/mfs/etc/mfs/mfschunkserver.cfg.dist /usr/local/mfs/etc/mfs/mfschunkserver.cfg # mv /usr/local/mfs/etc/mfs/mfshdd.cfg.dist /usr/local/mfs/etc/mfs/mfshdd.cfg
mfschunkserver.cfg为chunkserver.cfg的配置文件,主要配置与master的连接参数。
# vi /usr/local/mfs/etc/mfs/mfshdd.cfg MASTER_HOST = mfsmaster MASTER_PORT = 9420
mfshdd.cfg定义了chunkserver的数据存放目录。
# grep -v"^#" mfshdd.cfg | grep -v "^$" /data/mfs
创建数据目录:
# mkdir -p /data/mfs # chown -R mfs.mfs /data/mfs
四:mfsClient部署
FUSE包安装,为后续安装mfsmount工具做准备。
# tar -zxvffuse-2.8.3.tar.gz # cd fuse-2.8.3 # ./configure # make&&make install # echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >>/etc/profile # source /etc/profile
mfsmount工具安装:
# tar -zxvf moosefs-ce-2.0.43-1.tar.gz # cd moosefs-ce-2.0.43 # ./configure --prefix=/usr/local/mfs --sysconfdir=/usr/local/mfs/etc --localstatedir=/usr/local/mfs/lib --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount # make&&make install
修改hosts解析:
# vi /etc/hosts 192.168.1.225 mfsmaster
启动服务:
Mfsmaster:
#/usr/local/mfs/sbin/mfsmaster start
查看端口信息:
Mfsmetalogger:
#/usr/local/mfs/sbin/mfsmetalogger start
查看与master的连接:
Mfschunkserver:
#/usr/local/mfs/sbin/mfschunkserver start
查看与master的连接:
客户端挂载:
#/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H mfsmaster
查看挂载信息:
若挂载时报以下错误:
/bin/mount:unrecognized option `--no-canonicalize'
........
........
errorin fuse_mount
这是mount工具版本太低导致,升级mount工具即可:
下载util-linux-ng-2.17.tar.bz2,然后安装,替换原来的mount.
# tar jxvf util-linux-ng-2.17.tar.bz2 # cd util-linux-ng-2.17 # ./configure --prefix=/usr/local/util-linux-ng # make&& make install # mv /bin/mount /bin/mount.old # ln -s /usr/local/util-linux-ng/bin/mount /bin
mfs自带cgi监控工具:
#/usr/local/mfs/sbin/mfscgiserv
lockfilecreated and locked
startingsimple cgi server (host: any , port: 9425 , rootpath:/usr/local/mfs/share/mfscgi)
这时会开启9425端口,直接使用http://192.168.1.225:9425访问即可访问moose的相关监控信息: