温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行OpenStack云环境数据备份方案的分析

发布时间:2021-12-28 16:36:51 来源:亿速云 阅读:205 作者:柒染 栏目:云计算

这期内容当中小编将会给大家带来有关如何进行OpenStack云环境数据备份方案的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

为什么要引入Freezer

对于很多用户来说,OpenStack 环境中的数据备份一直存在着众多痛点,影响了OpenStack备份,具体包括如下几个方面:

1.    Nova Cinder 备份方式存在不统一性

OpenStack 数据备份过程中,我们的主要关注点在Nova 和Cinder中。

Nova备份方式,一贯做法是将该虚拟机进行快照处理。

Cinder的Volume备份目前主要有两种方式

1) 对Volume制作快照,形成Volume快照链备份数据

2) 对Volume使用Cinder-backup 的方式进行备份,针对不同的后端使用不同的备份Driver

如果我们在OpenStack的使用过程中,既要备份云主机又要备份云硬盘就需要在Nova 和Cinder上分别进行备份,无法使其由一种中间的方式来管理所有的备份

2.    备份数据不方便统一的管理

备份的数据存储比较独立,Nova Instance一般存放于Glance中,而Cinder Volume 一般存放备份数据,由不同的Driver存于不同的存储中

3.    无法进行有效的周期性备份

目前在OpenStack的云环境数据备份中,还无法对备份动作进行有效的周期性的自动化备份

4.    没有好的备份链管理

没有好的备份链管理,无法对备份数据进行整理

5.    对旧备份的删除不智能

对旧备份的删除能力,云硬盘的备份一般由手工判断等方式,进行清理,即不方便也不智能

综上所述,OpenStack环境数据备份中急需一套好的备份方案, 而Freezer在解决上述问题中也有比较好的表现,所以我们引入了Freezer

Freezer是什么?

Freezer是一套开源的备份软件,它能帮助你自动的进行数据备份和还原动作。

目前Freezer已正式引入OpenStack,从事数据备份,是OpenStack社区中一个官方项目,旨在为OpenStack提供数据备份环境的解决方案。Freezer从OpenStack Liberty 版本开始引入支持,以前的版本支持需要做微量的修改。

Freezer 可以做什么?

上面我们已经解释了Freezer已经是OpenStack的一套数据备份的解决方案,那Freezer具体可以做哪些工作呢?

目前Freezer有四种Job可供支持

BackupJob 数据备份

主要用于数据的备份任务。目前Freezer支持的数据备份有下面这些:

l   FS:基于文件的数据备份

l   Mysql: 对Mysql数据库进行有效的备份

l   MongoDB: 对MongoDB数据库进行有效的备份

l   SQL Server: 对Microsoft sql server数据库进行有效的备份

l   OpenStack Nova instance(nova): 对OpenStack 云主机进行备份

l   OpenStack Cinder volume(Cinder or Cindernative): 对OpenStack 云硬盘进行备份

说明: 目前Freezer 对云硬盘的备份主要有两种方式

1) Freezer自主的一套对云硬盘的备份机制(Cinder)

2) Freezer 编排Cinder Backup 的方式进行备份(Cindernative)

RestoreJob 数据还原

数据的还原任务

AdminJob 备份数据管理

对备份数据的管理,主要用户整理备份链以及旧备份的删除任务

ExecJob 命令以及脚本的执行

执行命令以及脚本

Freezer的特性介绍

如何进行OpenStack云环境数据备份方案的分析

对于Freezer可以做哪些,我们已经有了大概的认识,那么Freezer还有哪些额外的特性呢。

1.    多平台支持性

目前Freezer支持平台包括 Linux Based OS、 Windows、 Mac-OS、BSD Based OS 等多种平台

2.    备份数据的多存储支持

目前Freezer 备份数据可以支持的存储包括 对象存储Swift,本地挂载存储Local以及备份数据到远程的SSH server

3.    备份数据的一致性校验

Freezer对每次备份都会做数据一致性的校验

4.    备份数据的压缩以及加密

默认的压缩方式为zip,支持的压缩方式有 bzip、xz等

加密方式采用openssl的 AES-256-CFB方式

5.    备份数据可支持增量全量

备份数据可以备份数据的全量以及增量

6.    备份数据的上传带宽的限速

对备份的数据在上传到存储中时,为了不影响业务,还可以限制上传的带宽

7.    对备份链的整理

对备份的整理,方便管理员对备份数据进行有效的整理,删除旧备份,整理全量备份等。

对Freezer的能力已经有了大概的认识,那么Freezer的内部到底是如何进行工作的,下面主要说明Freezer的构成。

Freezer的组件介绍

Freezer主要有四个组件, Freezer-Agent、Freezer-Scheduler、Freezer-Web-Ui、 Freezer-Api。

l   Freezer-Agent:

主要用于真正执行备份、还原等动作的组件。

l   Freezer-Scheduler:

与Freezer-api进行交互以及编排Freezer-agent定期执行特定任务的组件。

l   Freezer-Api:

提供Rest Api 服务,与数据库进行交互,存取Job的一些信息。

l   Freezer-Web-Ui:

在Horizon中进行任务的编排,与Freezer-api进行交互发送Job的一些信息等。

Freezer的总体架构图

如何进行OpenStack云环境数据备份方案的分析

1) Freezer-web-ui 编排Job信息通过apiclient发送给Freezer-api。

2) Freezer-api 生成action 生成任务。

3) Freezer-scheduler 通过三种不同的周期任务方式调用Freezer-agent 执行任务。

4) Freezer-agent 执行任务将数据存储在备份的Storage中。

Freezer 创建Job流程图

如何进行OpenStack云环境数据备份方案的分析

Freezer创建备份实例举例说明

任务需求:

1.    备份OpenStack 云环境中一个正在使用的云硬盘。

2.    进行周期的进行全量备份。

3.    每次备份完成后保留最后的三次全量备份,并删除以前的旧备份。

使用freezer-scheduler 进行备份

编辑备份所需要的任务json文件

如何进行OpenStack云环境数据备份方案的分析

创建任务

freezer-scheduler job-create –file backup-cinder.json

说明:

freezer-action:

action: backup 表示备份job

cindernative-vol-id: 表示使用的cinder volume的uuid

action: admin 表示使用admin job

fullbackup-rotation: 3 表示保留三次备份

job-schedule:

schedule_interval: 1 weeks 表示每隔一周执行该job 一次

schedule_start_date: 表示第一次开始执行的时间

Freezer的不足之处

1. Freezer 社区开发人员目前过少

2. 数据备份尚未对Ceph支持

3. 目前还无法对OpenStack进行整体的备份

4. 对计算节点的服务进行监控,保护业务的不间断性

上述就是小编为大家分享的如何进行OpenStack云环境数据备份方案的分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI