################相关概念
(1)MFS是什么?
MooseFS[MFS]是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
官网地址:http://www.moosefs.com/
(2)MFS特性有那些?
1. Free(GPL)
2. 通用文件系统,不需要修改上层应用就可以使用
3. 可以在线扩容,体系架构可伸缩性极强。
4. 部署简单。
5. 高可用,可设置任意的文件冗余程度(提供比 raid1+0 更高的冗余级别,而绝对不会影响读或
写的性能,只会加速!)
6. 可回收在指定时间内删除的文件( “ 回收站 ” 提供的是系统级别的服务,不怕误操作了,提供类
似 oralce 的闪回等高级 dbms 的即时回滚特性!)
7. 提供 netapp,emc,ibm 等商业存储的 snapshot 特性。(可以对整个文件甚至在正在写入的文
件创建文件的快照)
8. google filesystem 的一个 c 实现。
9. 提供 web gui 监控接口。
10. 提高随机读或写的效率。
11. 提高海量小文件的读写效率。
(3)MFS中角色及其作用?
MooseFS 是一种分布式文件系统,MooseFS 文件系统结构包括以下四种角色:
(4)MFS文件系统的组成架构:
(5)内部运行机制
1:客户端请求访问存储,请求发送到了MFS Master。
2:MFS Master根据我们的请求,查询所需要的文件分布在那些服务器上。
3:客户端直接和存储服务器进行数据存储和读写 。
#################MFS安装与配置
实验环境:
主机环境:RHEL6.5 selinux and iptables disabled
服务器角色:
server1—>172.25.254.1—>管理服务器managing server (master) 和元数据日志服务器(Metalogger)
server2—>172.25.254.2—> 数据存储服务器data servers (chunk servers )
server3—>172.25.254.3—> 数据存储服务器data servers (chunk servers )
foundation77—>172.25.254.77—>客户机挂载使用client computers
所有服务器端和客户端都要支持fuse内核模块。
由于mfs的客户端程序也就是加载mfs磁盘系统的命令是使用了fuse,因此只要是想挂载mfs的服务器,必要的前提条件就是先安装fuse,这样编译mfs的时候才能顺利通过。
fuse概述:
用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如NTFS-3G(作用:让Linux中对NTFS文件系统提供支持) 使用FUSE实现。
注:2.6以上内核,都自带fuse
一.MFS管理服务器(master配置)———server1
步骤:
(1)安装一些需要的依赖包
yum install rpm-build make gcc gcc-c++ fuse-devel zlib-devel –y
(2)在官网上下载有关mfs的rpm包,注意需对应相应的可用版本。
[root@server1 3.0.97]# ls
moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm
moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cli-3.0.97-1.rhsysv.x86_64.rpm
moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.97-1.rhsysv.x86_64.rpm
moosefs-master-3.0.97-1.rhsysv.x86_64.rpm
moosefs-metalogger-3.0.97-1.rhsy