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下载:
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