概述

备份是任何 IT 系统必不可少的一部分,按照不同的系统架构,有不同的备份大致有下列几类:

  • 文件级别的备份:直接在应用所属宿主机上运行定时任务,增量或者全量将文件复制到其他远程位置,此方式支持的应用有限,功能单一,恢复依赖于手动恢复。
  • 应用级别的备份:通过应用完成备份,例如 gitlab 自带项目的备份,可以将用户数据和数据库一起备份到远程位置,又例如数据库可以将库备份到其他位置。
  • 系统级别的备份:例如 mac 自带的备份(Time Machine),或者其他软件实现的全盘备份。
  • 虚拟化备份:在有虚拟化的时候,整个操作系统等于多个文件,所以只需要将此文件备份便能实现整个虚拟机的备份,更高阶的备份软件会使用虚拟化提供的 API,实现块改变跟踪(CBT/BCT),增量备份,如果在虚拟机安装了插件,也能支持文件级别的恢复。
  • 存储卷级别备份:如果存储有足够的剩余空间,可以启用卷级别的备份,根据不同存储,支持的功能可能有:全量备份、增量备份、压缩、文件级别恢复等等。

以上备份方式可以说是逐渐重量,但是对环境的依赖逐渐减少。比如存储卷级别的备份无需关心上面运行的是什么负载,用统一的方式进行备份,但是应用级别的则只有此应用能做到,其他应用可能无法效仿。

支持容器环境的备份方案

应用级别备份

容器存储自带解决方案(Cloud-Native Storage)

参考资料

​https://www.openshift.com/blog/how-to-backup-clone-and-migrate-persistent-volume-claims-on-openshift​