- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Google需要一个支持海量存储的文件系统 购置昂贵的分布式文件系统与硬件? 是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统? * 为什么不使用当时现存的文件系统? Google所面临的问题与众不同 不同的工作负载,不同的设计优先级(廉价、不可靠的硬件) 需要设计与Google应用和负载相符的文件系统 * 硬件出错是正常而非异常 系统应当由大量廉价、易损的硬件组成 必须保持文件系统整体的可靠性 主要负载是流数据读写 主要用于程序处理批量数据,而非与用户的交互或随机读写 数据写主要是“追加写”,“插入写”非常少 需要存储大尺寸的文件 存储的文件尺寸可能是GB或TB量级,而且应当能支持存储成千上万的大尺寸文件 * 将文件划分为若干块(Chunk)存储 每个块固定大小(64M) 通过冗余来提高可靠性 每个数据块至少在3个数据块服务器上冗余 数据块损坏概率? 通过单个master来协调数据访问、元数据存储 结构简单,容易保持元数据一致性 无缓存 Why? * 单一Master, 若干ChunkServer 1、文件存储方式 2、数据读写流程 GFS的架构有什么问题吗? * 分布式系统设计告诉我们: 这是单点故障 这是性能瓶颈 GFS的解决办法 单点故障问题 采用多个(如3个)影子Master节点进行热备,一旦主节点损坏,立刻选举一个新的主节点服务 * GFS的解决办法 性能瓶颈问题 尽可能减少数据存取中Master的参与程度 不使用Master读取数据,仅用于保存元数据 客户端缓存元数据 采用大尺寸的数据块(64M) 数据修改顺序交由Primary Chunk Server完成 Simple, and good enough! * 存储元数据 文件系统目录管理与加锁 与ChunkServer进行周期性通信 发送指令,搜集状态,跟踪数据块的完好性 数据块创建、复制及负载均衡 对ChunkServer的空间使用和访问速度进行负载均衡,平滑数据存储和访问请求的负载 对数据块进行复制、分散到ChunkServer上 一旦数据块冗余数小于最低数,就发起复制操作 * 垃圾回收 在日志中记录删除操作,并将文件改名隐藏 缓慢地回收隐藏文件 与传统文件删除相比更简单、更安全 陈旧数据块删除 探测陈旧的数据块,并删除 * 采用中心服务器模式 可以方便地增加Chunk Server Master掌握系统内所有Chunk Server的情况,方便进行负载均衡 不存在元数据的一致性问题 * 不缓存数据 GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大 Chunk Server上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache 从可行性看,Cache与实际数据的一致性维护也极其复杂 ? * 在用户态下实现 直接利用Chunk Server的文件系统存取Chunk,实现简单 用户态应用调试较为简单,利于开发 用户态的GFS不会影响Chunk Server的稳定性 提供专用的访问接口 未提供标准的POSIX访问接口 降低GFS的实现复杂度 * GFS的容错机制 Chunk Server容错 每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上 每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本) * GFS的容错机制 Master容错 三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息 前两类通过日志提供容错,Chunk副本信息存储于Chunk Server,Master出现故障时可恢复 * 超过50个GFS集群 每个集群包含数千个存储节点 管理着PB(1015Byte)级的数据 巨型、廉价、稳定的数据中心 * 简单的,就是最好的! * “个人通信和协作工具”。它是一个Web服务、计算平台和通信协议,旨在合并电子邮件、即时通讯、wiki和社交网络。 * * * * * * Google云计算的背景 * * Google和微软之间日益激烈的对立将是一场史诗般的企业战争,将对两家公司的成功和发展产生重要影响,并规定着消费者和企业如何工作、购物、通讯,以及“他们过的数字生活” Google认为这一切将发生在遥远的数据中心中的服务器,用户可以通过许多有线和无线设备访问这些服务,这就是所谓的“云计算” 微软也认为未来在于Web,但它的重心仍然是其桌面PC软件 * 90%计算任务都能够通过“云计算”技术完成 桌面软件正在向Web软件转型 云计算是开放标准 ,业界不会有公司独裁 中小企业、大学、消费者会相对迅速地转向基于W
文档评论(0)