Pangu – The High Performance Distributed File System by Alibaba Cloud——阅读

Website 分布式元数据论文阅读笔记整理

背景

由于硬件改进和业务需求,需要将阿里云的分布式文件系统盘古1.0进行升级和改进。

底层硬件快速发展

存储介质从HDD发展到SATA SSD和NVMe SSD,IOPS有两个数量级的提升,延迟也减少了两个数量级。 4KB顺序写入性能降低至7μs,内存接口的Optane内存即将进入纳秒时代。而且网络也从GE、10GE快速发展到25GE、40GE、50GE甚至100GE,一跳仅需五微秒。

上层业务压力

  • 存储与计算分离是阿里云的策略,需要一个存储集群为多个计算集群提供存储服务,这对存储集群提出了更高的性能要求。需要实现用最少的存储集群服务最多的计算集群。

  • 存储与计算分离后,希望计算集群尽可能使用相同的存储集群命名空间,使得存储集群的内部架构和控制对用户透明。但元数据节点依赖于特定的高配置型号,限制了文件系统支持的节点大小和文件数量。此外,集中式元数据服务器成为系统中最容易受到攻击的组件。某些元数据服务器的故障可能会导致整个存储集群的故障。

  • 不同的业务需要不同类型的接入方式。为了扩大访问范围,必须兼容复杂的开放接口。比如:支持HDFS访问,支持POSIX访问。

  • 市场竞争激烈。必须利用技术将成本降到最低,为业务赢得主动。

设计目标

  • 卓越性能:对下一代网络、存储软硬件进行架构设计和工程优化,提供高吞吐量、低延迟的超高性能分布式文件系统。

  • 全分布式元数据管理:对元数据进行全分布式管理和动态拆分迁移,大幅增加管理文件数量,解决元数据节点特殊模型依赖问题,减少故障“爆炸半径”,提高平台稳定性。

  • 系统弹性:支持多种产品形态,共享核心路径,为更多业务接入提供可扩展性,避免业务接入带来的架构调整;统一硬件接入接口,支持当前和未来新硬件的接入。

  • 优化成本:采用层次化、纠删码、压缩、重复数据删除等技术降低存储成本。

架构

软硬件集成层位于最底层,与硬件交互,独立完成新硬件、新媒体的快速导入。

基于软硬件集成层提供的标准服务和存储业务逻辑,每个存储服务器作为独立的存储引擎进行数据持久化。

核心基础层,负责元数据的管理、数据的放置、一致性、可靠性。客户端、元数据层和独立存储引擎相互配合,完成多副本协议、EC等更复杂的功能。

核心基础层

MetaServer管理目录树、数据放置等元数据,ChunkServer读取、写入和维护数据,客户端与ChunkServer配合,通过与少量MetaServer元数据交互来完成数据持久化。盘古的整体架构与HDFS类似。

完全分布式元数据管理

MetaServer可水平扩展。数据分区是根据预设的策略进行的,每个分区中的多个MetaServer使用RAFT协议实现高可靠性和可用性,每个MetaServer中的数据以metachunk方式持久化在ChunkServer中。通过使用这种横向扩展设计,集群中的文件数量不受限制。同时,由于MetaServer的故障仅影响部分Meta分区,故障爆炸半径减小,MetaServer快速迁移后故障影响周期进一步缩短。

高效的 I/O 路径

与基于Raft的I/O路径进行充分比较后,使用了基于客户端的协调I/O路径。原因是Raft方式存在一些问题,如:对EC的支持、大多数副本故障时服务不可用、大型集群的RaftRing数据爆炸等。而基于客户端的协调方式则不存在这样的问题,并且简化了逻辑,提高了性能。

优秀的线程模型

为了工程实现和更好的性能,数据路径采用运行到完成的并发模型。整个 I/O 请求在一个线程中处理,从而节省了线程同步、CPU 缓存未命中和上下文切换的开销。为了利用这种并发模型获得最优的性能,精心设计了底层的RDMA/TCP网络库、SPDK I/O库以及业务层的模块。

高性能网络库

在高速网络环境下,支持使用RDMA的RPC通信,RDMA封装在RPC中,对上层业务透明。盘古还可以根据不同业务的需求灵活实现TCP和RDMA通信。

成本控制

支持多介质大型存储池:可以在ChunkServer中使用SSD、HDD等多种介质,并在指定的介质中存储不同的文件或文件的不同副本,满足业务元数据/数据和前后端数据在容量、性能、成本、存储等方面的需求。同时,将大存储池中的资源分散分配给多个业务,提高资源利用率。

EC:HDFS 3.0支持EC,盘古1.0已支持后端EC,盘古2.0已支持前端EC。与多副本服务相比,EC大大减少了I/O和网络流量。在某些场景下,EC还可以降低成本并提高吞吐量。

总结

对阿里云盘古2.0的基本介绍,整体分为三层:软硬件集成层,与硬件交互,独立完成新硬件、新媒体的快速导入;存储引擎进行数据持久化;核心基础层,负责元数据管理、数据的放置、一致性、可靠性、多副本协议、EC等功能。核心架构和HDFS相似。

  • 26
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妙BOOK言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值