简单介绍:
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
一:mfsmaster安装 创建mfs组与用户。 1
2
| # groupadd mfs
# useradd -g mfs mfs -s /sbin/nologin
|
上传MooseFS安装包,解压,编译,安装。 1
2
3
4
5
| # 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二进制文件后缀修改。 1
| # mv /usr/local/mfs/lib/mfs/metadata.mfs.empty /usr/local/mfs/lib/mfs/metadata.mfs
|
示例配置文件后缀修改,使之成为我们所需的mfsmaster配置文件。 1
2
| # 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磁盘。 1
2
| # grep -v"^#" mfsexports.cfg | grep -v "^$"
192.168.1.0/24
|
修改hosts解析,配置文件中MASTER_HOST的默认配置是“mfsmaster”。 1
2
| # vi /etc/hosts
192.168.1.225 mfsmaster
|
二:mfsmetalogger安装(安装步骤类似mfsmaster) 1
2
3
4
5
6
7
8
9
10
| # 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配置文件。 1
| # mv /usr/local/mfs/etc/mfs/mfsmetalogger.cfg.dist /usr/local/mfs/etc/mfs/mfsmetalogger.cfg
|
配置mfsmetalogger.cfg文件。(配置与master的连接参数) 1
2
3
| # vi mfsmetalogger.cfg
MASTER_HOST = mfsmaster
MASTER_PORT = 9419
|
三:mfschunkserver安装(安装步骤类似mfsmaster) 1
2
3
4
5
6
7
8
9
| # 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配置文件。 1
2
| # 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的连接参数。 1
2
3
| # vi /usr/local/mfs/etc/mfs/mfshdd.cfg
MASTER_HOST = mfsmaster
MASTER_PORT = 9420
|
mfshdd.cfg定义了chunkserver的数据存放目录。 1
2
| # grep -v"^#" mfshdd.cfg | grep -v "^$"
/data/mfs
|
创建数据目录: 1
2
| # mkdir -p /data/mfs
# chown -R mfs.mfs /data/mfs
|
四:mfsClient部署 FUSE包安装,为后续安装mfsmount工具做准备。 1
2
3
4
5
6
| # 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工具安装: 1
2
3
4
| # 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解析: 1
2
| # 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. 1
2
3
4
5
6
| # 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)
|