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 加速
- 存储虚拟机影响虚拟机性能的文件
- 用于存储机械盘的缓冲层
- 以条带方式写到单个节点的多个磁盘上,聚合磁盘的性能.(读写性能分别提升 3 倍)
猜想
- altas 是没有将快照链的数据真实合并的。进行瞬时恢复时,才进行元数据合并对外提供需要的快照副本。我们设计的系统存储的虚拟机快照也是类似,并且数据真实合并了。但是性能比不上 rubirk。说明它有很多细节优化。猜想是不是把合并的元数据都放在 ssd 上。
- 节点间数据均衡如何实现。节点是需要有整个虚拟机的快照链数据,那么需要均衡时,需要把整个虚拟机的快照链迁移走。那么均衡时,要移动的数据量可能很大