MFS文件系统安装指南-阿里云开发者社区

开发者社区> 开发与运维> 正文

MFS文件系统安装指南

简介:

 一,MFS文件系统概论

    MFS是linux下的开源存储系统,是由波兰人开发的。MFS文件系统能够实现RAID的功能,不但能够节约存储成本,而且不逊于专业的存储系统,能够实现在线扩展。MFS是一种半分布式文件系统。

   MFS官网的网络组成及运行原理如下图:

MFS的网络分三部分组成,MASTER SERVER、CHUNK SERVER 和 CLIENT,其中MASTER SERVER只有一个,而CHUNK SERVER 和CLIENT可以有多个。MFS读进程和写进程的工作机制分别如下图:

MFS 读进程工作机制

MFS写进程工作机制

二、MFS文件系统体系结构

MFS文件系统结构包含4种角色,分别是:

1、管理服务器--MASTER SERVER

2、元数据日志服务器--Metalogger

3、数据存储服务器--CHUNK SERVER

4、客户端

三、MFS的编译与安装实例

安装环境:Centos 6.2 

系统内核:2.6.32-71.el6.x86_64

软件版本:mfs-1.6.15.tar.gz

服务器分配:

角色 IP
主控服务器(Master server) 10.10.11.246
主控备份服务器(Metalogger server) 10.10.11.247
存储块服务器(Chunk server) 10.10.11.243
客户端主机(Clients) 10.10.11.244

1、主控服务器的安装,在配置过程中(./configure),可以取消安装 chunk server(--disable-mfschunkserver)以及MooseFS客户端(--disable-mfsmount)。安装主控服务器Master的具体步骤如下:

1、添加MFS组和用户:


  1. [root@MFS_Master_246 ~]# groupadd mfs 
  2. [root@MFS_Master_246 ~]# useradd -s /sbin/nologin -g mfs -M mfs 

2、下载软件包并解压安装:

 

[root@MFS_Master_246 dl]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz 

[root@MFS_Master_246 dl]# tar zxvf  mfs-1.6.15.tar.gz

 

[root@MFS_Master_246 dl]# cd mfs-1.6.15

[root@MFS_Master_246 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs 

[root@MFS_Master_246 mfs-1.6.15]# make

[root@MFS_Master_246 mfs-1.6.15]# make install

 

成功安装master后,系统会在/usr/local/mfs/etc 目录自动生成样例配置文件,这些样例配置文件是以.dist后缀命名,这里将借用这些样例文件作为MooseFS主控服务器的目标配置文件:

[root@MFS_Master_246 mfs-1.6.15]# cd /usr/local/mfs/etc/

 

 

[root@MFS_Master_246 etc]# cp mfsmaster.cfg.dist mfsmaster.cfg

[root@MFS_Master_246 etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

[root@MFS_Master_246 etc]# cp mfsexports.cfg.dist mfsexports.cfg

要更改这些配置文件中的某些项目的值,则需要打开特定配置文件相关文本行前的注释,然后修改跟随其后的值。因为被注释掉的行,即是MooseFS内置的缺省值。

Mfsmaster.cfg配置文件包含主控服务器master相关的设置,在这里我们暂时不打算对其进行修改。

 

mfsexports.cfg配置文件指定那些客户端主机可以远程挂接MooseFS文件系统,以及授予挂接客户端什么样的访问权限。例如,我们指定只有192.168.1.X网段的主机可以以读写模式访问MooseFS的整个共享结构资源(/)。在配置文件mfsexports.cfg文件的第一行,先取消注释,然后把星号(*)改成10.10.11.0/8,以便我们可以得到下面的文本行:

10.10.11.0/8                    /       rw,alldirs,maproot=0

二进制文件metadata和文本文件changelog将被保存在目录 /usr/local/mfs/var/mfs 

注:MooseFS master运行以后,metadata.mfs文件大小将发生变化,肯定不是空文件。

修改主机名和修改/etc/hosts文件,以绑定主机名mfsmaster与IP地址10.10.11.246:

[root@MFS_Master_246 mfs]# hostname mfsmaster   #修改主机名后要重新连接终端才会显示新的主机名

10.10.11.246 mfsmaster   #修改/etc/hosts 文件

启动master服务:[root@mfsmaster ~]# /usr/local/mfs/sbin/mfsmaster start

在生产环境中,我们应当设置自动启动脚本,以便操作系统重新启动时,MooseFS master也能自动运行,为了监控MooseFS当前运行状态,我们可以运行CGI监控服务,这样就可以用浏览器查看整个MooseFS的运行情况:

[root@mfsmaster bin]# /usr/local/mfs/sbin/mfscgiserv

在浏览器中输入:http://10.10.11.246:9425 就能看到master的运行情况,效果如下图所示:

四、备份服务器Backup server(metalogger)安装

用来安装metalogger的主机,在性能上应该比master 强大(至少有更多的内存),一旦主控服务器master失效,只要导入changelogs到元数据文件,备份服务器metalogger将接替发生故障的master,行使管理服务器的职能。备份服务器Metalogger的安装跟主控服务器master类似,安装命令如下:

 

[root@MFS_Backup_247 bin]# groupadd mfs

[root@MFS_Backup_247 bin]# useradd -s /sbin/nologin -g mfs -M mfs

[root@MFS_Backup_247 dl]# wget wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@MFS_Backup_247 dl]# tar zxvf mfs-1.6.15.tar.gz

[root@MFS_Backup_247 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

[root@MFS_Backup_247 mfs-1.6.15]# make

[root@MFS_Backup_247 mfs-1.6.15]# make install

安装完后 配置文件在 /usr/local/mfs/etc/ 目录下面,配置文件只要mfsmetalogger.cfg

 

[root@MFS_Backup_247 mfs-1.6.15]# cd /usr/local/mfs/etc/

[root@MFS_Backup_247 etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

类似的修改 /etc/hosts 文件,增加下面的行

10.10.11.246 mfsmaster

启动备份服务mfsmetaloger:

[root@MFS_Backup_247 etc]# /usr/local/mfs/sbin/mfsmetalogger start  

五、存储块服务器Chunk servers 安装

在每个Chunk servers主机上执行下面的命令:

 

[root@mfs_chunk bin]# groupadd mfs

[root@mfs_chunk bin]# useradd -s /sbin/nologin -g mfs -M mfs

[root@mfs_chunk bin]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@mfs_chunk bin]# tar zxvf mfs-1.6.15.tar.gz

[root@mfs_chunk bin]# cd mfs-1.6.15

[root@mfs_chunk mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-group=mfs --disable-mfsmaster

[root@mfs_chunk mfs-1.6.15]# make

[root@mfs_chunk mfs-1.6.15]# make install

安装完成后配置文件在 /usr/local/mfs/etc/ 目录,准备Chunk server服务所需的配置文件:

[root@mfs_chunk mfs-1.6.15]# cd /usr/local/mfs/etc/

 

[root@mfs_chunk etc]# cp mfschunkserver.cfg.dist mfschunkserver.cfg

[root@mfs_chunk etc]# cp mfshdd.cfg.dist mfshdd.cfg

为了测试这个安装,我们保留mfschunkserver.cfg文件不错任何改动,

在配置文件mfshdd.cfg中,我们给出了用于客户端挂接MooseFS分布式文件系统根分区所使用的共享空间位置。建议在Chunk server上划分单独的空间给MooseFS使用。这样做的好处是便于管理剩余的空间,此处我们假定要使用两个贡献点/mnt/mfschunks1 和/mnt/mfschunks2,为此我们在mfshdd.cfg加入/mnt/mfschunks1 和 /mnt/mfschunks2。

在启动前 创建这两个目录和确保用户mfs有权限读写将要挂接的分区

 

[root@mfs_chunk etc]# mkdir /mnt/{mfschunks1,mfschunks2}

[root@mfs_chunk etc]# chown mfs.mfs /mnt/mfschunks1/

[root@mfs_chunk etc]# chown mfs.mfs /mnt/mfschunks2/

修改 /etc/hosts文件增加下面的行,

10.10.11.246 mfsmaster

启动 chunk server:

[root@mfs_chunk ~]# /usr/local/mfs/sbin/mfschunkserver start

现在 在通过浏览器访问:http://10.10.11.246:9425 就可以看到这个MooseFS系统的全部信息,

包括主控master和存储服务器chunkserver

六、客户端User' computers安装

为了挂接基于MooseFS 分布式文件,客户端主机必须安装FUSE软件包(FUSE版本号至少2.6,推荐版本号大于2.7的fuse)。如果系统没安装fuse,你必须手动对其进行安装。在所以客户端上执行如下命令:

安装FUSE:

 

[root@MFS_Client_244 dl]# wget http://nchc.dl.sourceforge.net/project/fuse/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz

[root@MFS_Client_244 dl]# tar zxvf fuse-2.9.2.tar.gz

[root@MFS_Client_244 dl]# cd fuse-2.9.2

[root@MFS_Client_244 fuse-2.9.2]# ./configure

[root@MFS_Client_244 fuse-2.9.2]# make

[root@MFS_Client_244 fuse-2.9.2]# make install

安装客户端软件mfsmount的步骤:

[root@MFS_Client_244 dl]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@MFS_Client_244 dl]# tar zxvf mfs-1.6.15.tar.gz

 

[root@MFS_Client_244 mfs-1.6.15]# groupadd mfs

[root@MFS_Client_244 mfs-1.6.15]# useradd -s /sbin/nologin -g mfs -M mfs

[root@MFS_Client_244 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

[root@MFS_Client_244 mfs-1.6.15]# make

[root@MFS_Client_244 mfs-1.6.15]# make install

修改/etc/hosts,增加如下行:

10.10.11.246 mfsmaster

假定客户端的挂载点是/mnt/mfs,我们将以下面的指令来使用MooseFS分布式共享文件系统:

1、创建挂载点:[root@MFS_Client_244 ~]# mkdir /mnt/mfs

2、开始挂载操作:[root@MFS_Client_244 mfs-1.6.15]# /usr/local/mfs/bin/mfsmount /mnt/mfs/ -H mfsmaster

用df -h | grep mfs 检查分区情况。



本文转自1594cqb 51CTO博客,原文链接:http://blog.51cto.com/wolfchen/1125731,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章