zoukankan      html  css  js  c++  java
  • (2)Google云计算原理与应用之文件系统GFS

    Google云计算技术:让多达百万台廉价计算机协同工作,共同完成任务的简单而高效的技术。
     GFS是一个大型的分布式文件系统,为Google云计算提供海量存储,处于Google云计算所有核心技术的底层。
     
    GFS的系统架构:
    GFS的系统节点分为3类角色:
    (1)Client(客户端) 提供给应用程序的访问接口
    (2)Master(主服务器) GFS的管理节点,保存系统的元数据,负责整个文件系统的管理
    (3)Chunk Server(数据块服务器) 负责具体的存储工作,数据以文件的形式存储在ChunkServer中。
     
    GFS将文件按照固定大小进行分块,默认大小为64MB,每一块称为一个Chunk(数据块),每个Chunk都有一个对应的索引号。
    GFS的实现机制:
     
    GFS的特点:
    (1)采用中心服务器模式
    可以方便地增加Chunk Server
    Master维护了一个统一的命名空间,掌握系统内所有Chunk Server的情况,方便进行数据存储的负载均衡
    由于只有一个中心服务器,不存在元数据的一致性问题
    (2)不缓存数据
    文件操作大部分是流式读写,不存在大量重复读写,使用Cache对性能提高不大
    Chunk Server上数据存取使用本地文件系统
    从可行性看,Cache与实际数据的一致性维护也极其复杂
    对于存储在Master中的元数据,GFS采取了缓存策略。
    (3)在用户态下实现
    利用POSIX编程接口存取数据降低了实现难度,提高通用性
    POSIX接口提供功能更丰富
    用户态下有多种调试工具
    Master和Chunk Server都以进程方式运行,单个进程不影响整个操作系统
    GFS和操作系统运行在不同的空间,两者耦合性降低 
    (4)只提供专用接口
     
    GFS的容错机制:
    (1)Master的容错机制
    Master保存了GFS文件系统的3中元数据:
       命名空间(整个文件系统的目录结构)
       chunk与文件名的映射表
       chunk副本位置信息,直接保存在各个chunk server上(每一个chunk默认有3个副本)
     Master的容错机制:
    对于前两种元数据,GFS通过操作日志来提供容错功能。
    第三种元数据则保存在各个ChunkServer上。
    当Master发生故障时: 磁盘数据保存完好-->迅速恢复元数据
                               Master彻底死机-->使用Master的远程实时备份,另一个GFS Master可以迅速接替其工作。
    (2)ChunkServer容错机制
    GFS采用副本的方式实现Chunk Server的容错
    每一个Chunk有多个存储副本(默认为三个),分布存储在不同的Chunk Server上
    对于每一个Chunk,必须将所有的副本全部写入成功,才视为成功写入
    相关的副本出现丢失或不可恢复等情况,Master自动将该副本复制到其他Chunk Server,从而确保副本保持一定的个数
    GFS中的每一个文件被划分成多个Chunk,Chunk的默认大小是64MB
    每一个Chunk以Block为单位进行划分,大小为64KB,每一个Block对应一个32bit的校验和 
     
    GFS的系统管理技术:
  • 相关阅读:
    【Vue】详解Vue生命周期
    千万不要用window自带文本编辑器编辑配置文件或者代码
    [其它]iOS 13 正式版发布 iPhone 6s或更新型号均可升级
    [转]解决ubuntu16.04 ‘E: 无法获得锁 /var/lib/dpkg/lock-frontend
    [golang]使用gomail发邮件(在Go中发送电子邮件的最佳方式)
    [golang]按图片中心旋转后的新图左顶点和原图左顶点的偏移量计算
    分布式CAP定理,为什么不能同时满足三个特性?
    Java如何运行一个class文件的main方法
    数据库的四大特性以及四个隔离级别和引发的问题
    Redis为什么可以支持那么大的并发访问量?为什么redis没有单点并发瓶颈?
  • 原文地址:https://www.cnblogs.com/paradis/p/11007748.html
Copyright © 2011-2022 走看看