上QQ阅读APP看书,第一时间看更新
三、GFS技术
Google文件系统是一个大型的分布式文件系统,为Google云计算提供海量存储,并与Chubby、MapReduce及BigTable等技术紧密结合,形成Google云计算解决方案。GFS将整个系统的节点分为客户端(Client)、主服务器(Master)和数据块服务器(Chunk Server)3类。Client是GFS以库文件的形式提供给应用程序的一组专用访问接口,不遵守POSIX规范,应用程序直接调用这些库函数,并与该库链接。Master是GFS的管理节点,逻辑上只有一个,它负责保存系统的元数据和整个文件系统的管理。Chunk Server负责具体的存储工作,数据以文件形式存储在Chunk Server上,Chunk Server可有多个,其数目直接决定GFS规模。GFS将文件按照固定大小分为不同的数据块(默认是64MB),每个Chunk有一个对应的索引号。
客户端访问GFS时首先访问Master节点,获取与之交互的Chunk Server信息,并直接访问这些Chunk Server完成数据存取,实现了控制流和数据流的分离。Client与Master之间只有控制流,极大地降低了Master的负载,使之无法影响系统性能。Client与Chunk Server之间直接传输数据流,同时由于文件被分成多个Chunk进行分布式存储,Client可同时访问多个Chunk Server,使整个系统I/O高度并行,系统整体性能提高。