一、原理
## MFS特性:
1、高可靠性(数据库可以镜像到多个计算机)
2、轻松动态扩容
3、可以设置删除文件的空间回收时间
4、优越的性能
## MFS文件系统的组成:
1、元数据服务器。
在整个体系中负责管理文件系统,维护这元数据。目前版本只支持单个Master服务器,存在单点故障的风险,建议采用性能稳定的服务器充当。
2、元数据日志服务器(MetaLogger)
备份Master服务器的变化日志文件,文件类型为:changelog_ml.*.mfs 。当master服务器数据丢失或者损坏,可以从日志服务器中取得文件恢复。
3、数据存储服务器(Chunk Server)
真正存储数据的服务器。存数文件时,会把文件分块保存,并在数据服务器之间复制,数据服务器越多,能使用的“容量”就越大,可靠性就越高,性能越好。
4、客户端。
可以像挂载NFS一样挂载MFS文件系统,操作一样。
## MFS读处理过程:
1、客户端向元数据服务器发出读请求。
2、元数据服务器把所需数据存放的位置(Chunk Server的IP地址和chunk编号)告知客户端。
3、客户端向已知的Chunk Server请求发送数据。
4、Chunk Server向客户端发送数据。

如图:

MFS 分布式文件系统工作原理_mfs系统 

特点:数据传输并不经过元数据服务器,这样既减轻元数据服务器的压力,也同时增大了整个系统的吞吐能力。在多个客户端读取数据时,读取点会被分散到不同的数据服务器。

## MFS写处理过程:
1、客户端向元数据服务器发送写入请求。
2、元数据服务器与Chunk Server进行交互(只有当所需的分块Chunks存在的时候才进行这个交互):
a、元数据服务器只是在某些服务器创建新的分块chunks。
b、Chunk Servers告知元数据服务器,步骤a已经操作成功。
3、元数据服务器告知客户端,你可以在哪个Chunk Server的哪些Chunks写入数据。
4、客户端向指定的Chunk Server写入数据
5、Chunk Server与其他Chunk Server进行数据同步。
6、Chunk Server之间同步成功。
7、Chunk Server告知客户端数据写入成功。
8、客户端告知元数据服务器本次写入完毕。

 

MFS 分布式文件系统工作原理_mfs工作原理_02