Google File System 学习
摘要
Google的人设计并实现了Google File System,一个可升级的分布式文件系统,用于大的分布式数据应用。可以运行在廉价的日用硬件上,具备容错性,且为大量客户端提供了高聚合的性能。
与之前的分布式文件系统的目标一致,但Google的设计是基于对Google的应用负载和技术环境的观察的,包括当下和可预期的,这与一些早期的文件系统有着显著的不同。这让我们重新审视了传统的选择,并辐射性地探索不同的设计点。
该文件系统已经成功的满足了我们的存储需求。它被广泛地部署在Google内部作为存储平台,用于生成和处理数据 -- Google的服务以及研究和开发所使用的大量数据。截止到当前(2003年),最大的cluster提供了数以百计TB的存储 -- 通过一千部机器的数以千计的磁盘,且由数以百计的客户端并发访问。
在该论文中,他们呈现了文件系统接口扩展 -- 被设计成支持分布式应用,还讨论了他们的设计的很多方面,最后报告了测量结果 -- 来自微测试和实际世界的使用。
类别和主题描述:分布式文件系统。
主要词条:设计、可靠性、性能、测量。
关键词:容错性、可升级性、数据存储、集群存储。
1、介绍
首先,组件失效是一种常见现象,而非异常现象。文件系统由数以百计甚至数以千计的存储机器组成,而这些机器是由廉价的日常组件构建而成,并由同样数量级的客户端机器访问。组件的数量和质量使得在任何给定时刻都可能有一些机器失效,而又有一些并不能从其当前失效中恢复过来。我们见过有由应用bug、os bug、人为错误、磁盘/内存/连接器/网络/电源供应失效导致的问题。因此,constant 监视、错误探测、容错性、还有自动恢复必须集成到该系统中。
其次,文件是很巨大的 -- 相对于传统标准来说。几个GB的文件很常见。每个文件都包含很多应用对象,例如web documents。当我们