发布时间:2019-11-07
OpenStack是业界主流的开源云管理平台,旨在提供实施简单、可大规模扩展、丰富、标准统一的云平台。全球数百家大品牌企业依靠OpenStack每天运营业务,从而降低成本,并更快地行动。
Freezer是OpenStack中备份和恢复服务工具,帮助用户进行自动化的数据备份和恢复。Freeze支持OpenStack中多种对象的备份,例如普通文件以及目录备份、数据库、虚机、卷存储、glance镜像等。
Freezer基本特性介绍
多平台:linux,win,bsd,osx
缓存层:使用linuxlvm层作为缓存层进行快照处理
强加密支持:支持AES=256-CFB
低存储消耗:备份和恢复是以流的方式处理数据
弹性备份策略:全量,增量
多压缩格式:zlib,bzip2,xz
支持多种存储媒体:swift,S3,本地文件,FTP(FTP/FTPS/SFTP),多目标存储
支持多种对象备份:普通文件和目录备份,部分数据库(mysql,mongo,sqlserver,支持用户扩展其它数据库备份),
整个KVM虚拟机(虚拟机元数据以及本地盘和云盘数据), cinder卷备份,glance镜像备份
支持根据规则和参数自动删除旧备份文件
同时执行和管理多JOBs
支持刷新内核缓冲到磁盘
多节点上协同备份和恢复操作:多个节点上的job共同组成一个session,一起备份和恢复
备份任务管理后端存储:支持Sqlalchemy和ELASTICSEARCH
Freezer的基础架构
下面的Freezer架构图,可以更好地理解Freezer与OpenStack各组件之间的关系。
备注:
Freezer API: Restful接口,为scheduler存储和提供元数据, 为多个节点间备份同步存储会话信息
Freezer-scheduler: 在执行数据备份的节点上运行的组件,作为一个后端守护进程执行,和api进行数据交互并通过调度agent来执行某些jobs
Keystone: OpenStack的认证组件
Freezer-agent: 运行在client上的多进程python软件,能够被单独执行或被scheduler调度执行。是备份,恢复和管理命令的最终执行者
SqlAlchemy和ElasticSearch: 数据库,用于存储备份恢复的管理数据
Web-UI: Horizon中使用的web界面插件,提供了与api进行交互的用户界面
综上,Freezer提供了一种OpenStack 的备份恢复解决方案,将多个OpenStack服务与备份恢复技术有效地结合到一起,提高了OpenStack容灾的能力。当前,Freezer社区的各项功能正在开发完善当中,值得期待。
中兴通讯作为OpenStack基金会黄金会员和主要代码贡献者之一,致力于推动OpenStack的演进和发展。针对Freezer社区,中兴通讯bp完成数居第一位,修复bug数居第一位,提交代码次数居第一位,代码审阅数居第一位。同时,中兴通讯在Stein与Train版本单项项目负责人(PTL),为Freezer项目的发展,做出了卓越的贡献。未来,中兴通讯将不断加大对开源社区的投入,将Freezer不断发展和完善。