Rubrik Atlas文件系统

Introducing Atlas, Rubrik’s Cloud-Scale File System
THE ATLAS FILE SYSTEM – THE FOUNDATION OF THE RUBRIK PLATFORM
Rubrik Atlas File System: Designed to be Masterless, Self-healing, and Cloud-scale

做备份产品,底座最重要。就如《密集数据交互系统设计》书中第五章开头所说

与可能出错的东西比,’不可能’出错的东西最显著的特点就是:一旦真的出错,通常就彻底玩完了。
——道格拉斯·亚当斯(1992)

Rubrik作为业界一流的备份产品,altas文件系统是它产品底座是。我对altas如何保护数据完整性和 altas 如何提高性能特别感兴趣。

节约空间

  • 用于支持 the time machine paradigm。
  • 可以理解 altas 存储了一系列版本不同的文件.每个系列的文件代表虚拟机,每个快照对于该文件一个版本
  • 对于增量备份,altas 每个快照所对应的文件只存储它相对于前一个快照的增量数据

性能优化细节

  • altas 将虚拟机文件副本相关的数据块放置到特定的节点上,而不是随机分散到整个集群所有节点.

    for a file with three replicas, three nodes in our system will each contain the entirety of the data representing that file.

  • altas 数据落盘时,根据文件进行逻辑分组

    • 对于任意一个虚拟机,在集群中,都有一些节点会本地存储了整个虚拟机的备份历史的所有数据
    • Atlas会将相似的虚拟机的副本放在一起,以允许跨虚拟机重复数据删除
  • 数据均衡
    通过调整虚拟机复制机制和副本存放位置,平衡节点间的容量
  • 利用硬件

    • 以条带方式写到单个节点的多个磁盘上,聚合磁盘的性能.(读写性能分别提升 3 倍)
      将一个文件的数据横跨多个磁盘进行条带写
    • 利用ssd 加速
      • 存储虚拟机影响虚拟机性能的文件
      • 用于存储机械盘的缓冲层

猜想

  1. altas 是没有将快照链的数据真实合并的。进行瞬时恢复时,才进行元数据合并对外提供需要的快照副本。我们设计的系统存储的虚拟机快照也是类似,并且数据真实合并了。但是性能比不上 rubirk。说明它有很多细节优化。猜想是不是把合并的元数据都放在 ssd 上。
  2. 节点间数据均衡如何实现。节点是需要有整个虚拟机的快照链数据,那么需要均衡时,需要把整个虚拟机的快照链迁移走。那么均衡时,要移动的数据量可能很大

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.