GFS系统架构及设计要点
2019-10-21孙伟
中国电气工程学报 2019年27期
关键词:设计策略
孙伟


摘要:本文主要阐述关于分布式文件系统GFS,它是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。通过详细介绍其一致性模块以及读写流程,针对GFS的大块的逻辑和设计理念及相关要点都进行了详细的分析。
关键词:云储存系统;GFS系统架构;设计策略;
一、GFS设计思路
1.组件/机器失效
GFS包括几百甚至几千台普通的廉价设备组装的存储机器,同时被相当数量的客户机访问。GFS组件的数量和质量导致在事实上,任何给定时间内都有可能发生某些组件无法工作,某些组件无法从它们目前的失效状态中恢复。例如谷歌遇到过各种各样的问题,比如应用程序bug、操作系统的bug、人为失误,甚至还有硬盘、内存、连接器、网络以及电源失效等造成的问题。所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在GFS中。
2.谷歌处理的文件都非常巨大。(大数据):
这点跟NEFS的场景既有相似性又不完全一致,NEFS上层对接的是NOS对象存储,基本都是大量的小文件(100MB以下),总体量比较大,对象个数比较多,因此也需要考虑元数据管理的成本,因此NEFS采用了小文件合并的设计思路(不详细展开)。
谷歌系统中数GB的文件非常普遍。每个文件通常都包含许多应用程序对象,比如web文档。当我们经常需要处理快速增长的、并且由数亿个对象构成的、数以TB的数据集时,采用管理数亿个KB大小的小文件的方式是非常不明智的,尽管有些文件系统支持这样的管理方式。……
登录APP查看全文
