容器备份解决方案
目录
目录
容器数据备份
支持容器环境的备份方案
应用级别备份
容器存储自带解决方案(Cloud-Native Storage)
参考资料
容器数据备份
备份是任何 IT 系统必不可少的一部分,按照不同的系统架构,有不同的备份大致有下列几类:
文件级别的备份:直接在应用所属宿主机上运行定时任务,增量或者全量将文件复制到其他远程位置,此方式支持的应用有限,功能单一,恢复依赖于手动恢复。
应用级别的备份:通过应用完成备份,例如 gitlab 自带项目的备份,可以将用户数据和数据库一起备份到远程位置,又例如数据库可以将库备份到其他位置。
系统级别的备份:例如 mac 自带的备份(Time Machine),或者其他软件实现的全盘备份。
虚拟化备份:在有虚拟化的时候,整个操作系统等于多个文件,所以只需要将此文件备份便能实现整个虚拟机的备份,更高阶的备份软件会使用虚拟化提供的 API,实现块改变跟踪(CBT/BCT),增量备份,如果在虚拟机安装了插件,也能支持文件级别的恢复。
存储卷级别备份:如果存储有足够的剩余空间,可以启用卷级别的备份,根据不同存储,支持的功能可能有:全量备份、增量备份、压缩、文件级别恢复等等。
以上备份方式可以说是逐渐重量,但是对环境的依赖逐渐减少。比如存储卷级别的备份无需关心上面运行的是什么负载,用统一的方式进行备份,但是应用级别的则只有此应用能做到,其他应用可能无法效仿。
支持容器环境的备份方案
restic:
偶尔在网上搜到的软件,支持Linux、Windows、mac 平台,支持备份、恢复和 mount 三种操作,用法简单,后端支持:本地文件夹、SFTP、HTTP rest server、AWS S3、Openstack Swift、BackBlaze B2、微软 Azure Blob 存储、Google Cloud Storage
项目链接:https://github.com/restic/restic
官方有 Docker 镜像:restic/restic:latest
Velero:https://www.objectif-libre.com/en/blog/2020/01/10/kubernetes-backup-stateful-apps/
Avamar: https://github.com/cn-dp/K8s-Avamar
应用级别备份
HDFS:Cloudera
容器存储自带解决方案(Cloud-Native Storage)
焱融云 :
支持 Kubernetes 标准的 CSI 接口、支持 multi-write 多读写、Qos等
参考资料
https://www.openshift.com/blog/how-to-backup-clone-and-migrate-persistent-volume-claims-on-openshift