 Ceph扩容时,由于其数据分布均衡的特性,会导致整个存储系统性能的下降。

二、 GFS

GFS是google的分布式文件存储系统,是专为存储海量搜索数据而设计的,2003年提出,是闭源的分布式文件系统。适用于大量的顺序读取和顺序追加,如大文件的读写。注重大文件的持续稳定带宽,而不是单次读写的延迟。

1.GFS的主要架构GFS 架构比较简单,一个 GFS 集群一般由一个 master 、多个 chunkserver 和多个 clients 组成。在 GFS 中,所有文件被切分成若干个 chunk,每个 chunk 拥有唯一不变的标识(在 chunk 创建时,由 master 负责分配),所有 chunk 都实际存储在 chunkserver 的磁盘上。为了容灾,每个 chunk 都会被复制到多个 chunkserve

2.GFS的功能模块

主流分布式存储技术的对比分析与应用

 GFS client客户端:为应用提供API,与POSIX API类似。同时缓存从GFS master读取的元数据chunk信息; GFS master元数据服务器:管理所有文件系统的元数据,包括命令空间(目录层级)、访问控制信息、文件到chunk的映射关系,chunk的位置等。同时 master 还管理系统范围内的各种活动,包括chunk 创建、复制、数据迁移、垃圾回收等; GFS chunksever存储节点:用于所有 chunk的存储。一个文件被分割为多个大小固定的chunk(默认64M),每个chunk有全局唯一的chunk ID。

3.GFS的写入流程

Client 向 master 询问要修改的 chunk在哪个 chunkserver上,以及 该chunk 其他副本的位置信息。

Master 将Primary、secondary的相关信息返回给 client。

Client 将数据推送给 primary 和 secondary;。

当所有副本都确认收到数据后,client 发送写请求给 primary,primary 各不同 client 的操作分配序号,保证操作顺序执行。

Primary 把写请求发送到 secondary,secondary 按照 primary 分配的序号顺序执行所有操作

当 Secondary 执行完后回复 primary 执行结果。

Primary 回复 client 执行结果。

主流分布式存储技术的对比分析与应用

由上述可见,GFS在进行写数据时,有如下特点:

 GFS在数据读写时,数据流与控制流是分开的,并通过租约机制,在跨多个副本的数据写入中, 保障顺序一致性;

 Master将chunk租约发放给其中一个副本,这个副本称为主副本,由主副本确定chunk的写入顺序,此副本则遵守这个顺序,这样就保障了全局顺序一致性

 Master返回客户端主副本和次副本的位置信息,客户端缓存这些信息以备将来使用,只有当主副本所在chunkserver不可用或返回租约过期了,客户端才需要再次联系Master;

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查