MFS分布式文件系统(一)关于MFS文件系统概念

1.什么是mfs?

mfs出现的原因:

        多台web服务器通过nfs共享一个存储,虽然业务上满足需求,但在性能与容量上无法胜任更高的要求,nfs服务器不堪重负,出现超时问题,同时也存在单点故障问题。尽管可以使用rsync同步数据到另一台服务器上做nfs服务的备份,但对提高整个系统的性能毫无帮助。可对nfs进行优化或者采取别的解决方案,但是优化并不能满足日益增多的客户端的性能要求。
解决方案是采用分布式文件系统。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系,而是多对多的关系(即多web服务器对多文件服务器),这样可以使性能得到大幅提升。

MooseFS分布式文件系统,即MFS。是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,以保证数据的安全性,高可用,可扩展,而呈现给用户的则是一个统一的资源。

2、MFS分布式文件系统的原理

分布式文件系统是指文件系统管理的物理存储资源不一定直接连接本地节点上,而是通过计算机网络与节点相连。就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有连接到虚拟共享文件夹内的共享文件,用户感觉不到这些共享文件夹是分散于各个计算机上的。

  • 好处:集中访问、简化操作、数据容灾、提高文件存取性能、在线扩容。
  • MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈献给用户的是一个统一的资源,对于这个统一的源,可挂载使用。

MFS分布式文件系统(一)关于MFS文件系统概念

             组成                                                                作用
master 元数据服务器 在整个系统中负责管理文件系统,维护元数据。
metalogger 元数据日志服务器 备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当master服务器数据丢失或损坏,可以从日志服务器中取得文件恢复。
chunk server 数据存储服务器 真正存储数据的服务器。存储文件时,会把文件分块保存,并在数据服务器之间复制,数据服务器越多,能使用的容量越大,可靠性越高,性能越好。
客户端 client 可以像挂载nfs一样挂载mfs文件系统,操作相同。
  • MFS 读取数据的处理过程
    客户端(client)向元数据服务器(master)发出读请求——>元数据服务器把所需数据存放的位置(chunk server的IP地址和chunk编号)告知客户端——>客户端向已知的chunk server请求发送数据——>chunk server向客户端发送数据

MFS分布式文件系统(一)关于MFS文件系统概念

  • MFS 写入数据的处理过程
    客户端(client)向元数据服务器(master)发送写请求——>元数据服务器与chunk server进行交互(只有当所需的分块chunks存在的时候进行这个交互),但元数据服务器只在某些服务器创建新的分块chunks,创建完告知元数据服务器操作成功——>元数据服务器告知客户端,可以在哪个chunk server的哪些chunks写入数据——>客户端向指定的chunk server写入数据——>该chunk server与其他chunk server进行数据同步,之后chunk server告知客户端数据写入成功——>客户端告知元数据服务器本次写入完毕

  • MFS分布式文件系统(一)关于MFS文件系统概念

MFS分布式文件系统(一)关于MFS文件系统概念