《the Google File System》Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,包括几百甚至几千台普通的廉价设备组装的存储机器,同时被相当数量的客户机访问。GFS存储的文件被分割成若干固定大小的chunk,以唯一的chunk标识区分,保存在chunkserver上,为保证数据可靠性,每个chunk块被复制到三个chunkserver。

GFS系统的架构如下图所示,由三部分组成:client,master和chunkserver,其中client从master节点读取元数据,从chunkserver节点进行数据块的读写,从而减少与master节点的通讯(为什么要减少与master节点通讯?原因:GFS只有一个master节点,其带宽和内存有限。另一措施是选用64M的Chunk尺寸,减少了Master节点需要保存的元数据的数量,这就允许我们把元数据全部放在内存中)。一个master节点包含多台chunk服务器,同时可被多个客户端访问,master管理所有元数据(包括chunk名字空间和映射信息,chunk副本存放位置等),采用周期轮询方式,保持和每个chunkserver通讯,使用checksum检测数据是否损坏,周期性的将checkpoint写入本地和远程硬盘,保证在唯一的master节点损坏后,能从最近的checkpoint恢复master节点。
本文详细介绍了Google GFS文件系统的设计理念、核心组件及其工作原理,包括客户端、master和chunkserver的角色分配,以及如何通过减少与master节点的通讯来提高系统性能,确保数据可靠性。
1227

被折叠的 条评论
为什么被折叠?



