文章目录
1.MooseFS的介绍
MooseFS是容错的分布式文件系统。 它将数据分布在几个物理位置(服务器)上,这些位置对于用户来说是一种资源。
MooseFS可以用作任何其他类似Unix的文件系统:
•分层结构(目录树)
•存储POSIX文件属性(权限,最后访问和修改时间)
•支持特殊文件(块和字符设备,管道和套接字)
•符号链接(指向目标文件的文件名称,不一定在MooseFS上)和硬链接(在MooseFS上引用相同数据的文件的不同名称)
•可以基于IP地址和/或密码来限制对文件系统的访问
MooseFS的显着特征是:
•高可靠性(数据的多个副本可以存储在单独的物理机上)
•通过添加新的计算机/磁盘可动态扩展容量
•删除的文件在可配置的时间内保留(文件系统级别) “垃圾箱”)
•文件的连贯快照,即使正在写入/访问文件时
MooseFS包含四个组件:
1.管理服务器(主服务器)–在MooseFS一台计算机中,在MooseFS Pro中,可以管理整个文件系统的任意数量的计算机,存储每个文件的元数据(有关大小,属性和文件位置的信息,包括有关非文件的所有信息)。常规文件,即目录,套接字,管道和设备)。
2.数据服务器(块服务器)–任何数量的商品服务器,用于存储文件的数据并在它们之间进行同步(如果某个文件应该存在多个副本中)。
3.元数据备份服务器(Metalogger服务器)–任意数量的服务器,所有服务器都存储元数据变更日志并定期下载主元数据文件。
在MooseFS(非Pro)中,可以将带有Metalogger的计算机轻松设置为主服务器,以防主服务器出现故障。
在MooseFS Pro中,可以设置Metalogger以提供更高级别的安全性。
4.访问(装载) MooseFS中文件的客户端计算机–使用mfsmount进程与管理服务器(以接收和修改文件元数据)和块服务器(以交换实际文件数据)进行通信的任意数量的计算机。
mfsmount基于FUSE1机制(USErspace中的文件系统),因此在具有有效FUSE实现的每个操作系统(Linux,FreeBSD,MacOS X等)上都可以使用MooseFS。
MooseFS的工作原理
读的过程:
1.客户端向元数据服务器发出读请求
2.元数据服务器把所需数据存放的位置(Chunk Server的IP地址和Chunk编号)告知客户端
3.客户端向已知的Chunk Server请求发送数据
4.Chunk Server向客户端发送数据
写的过程:
1.客户端向元数据服务器发送写入请求
2.元数据服务器与Chunk Server进行交互,但元数据服务器只在某些服务器创建新的分块Chunks,
3.创建成功后由hunk Servers告知元数据服务器操作成功
4.元数据服务器告知客户端,可以在哪个Chunk Server的哪些Chunks写入数据
5.客户端向指定的Chunk Server写入数据
6.该Chunk Server与其他Chunk Server进行数据同步,同步成功后Chunk Server告知客户端数据写入成功
7.客户端告知元数据服务器本次写入完毕
2.搭建MooseFS
实验环境:
server1 172.25.254.10 做master主机 管理服务器
server2 172.25.254.20 chunk服务器
server3 172.25.254.30 chunk服务器
server6 172.25.254.60 客户端
2.1 配置master主机,安装mfsmaster和web图形化界面
1.server1做MooseFS分布式文件系统的master主机
yum install moosefs-cgi-3.0.113-1.rhsystemd.x86_64.rpm \ moosefs-cgiserv-3.0.113-1.rhsystemd.x86_64.rpm \ moosefs-cli-3.0.113-1.rhsystemd.x86_64.rpm \ moosefs-master-3.0.113-1.rhsystemd.x86_64.rpm -y
2.修改所有主机的地址解析
3.启动
systemctl start moosefs-master
systemctl start moosefs-cgiserv.service