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

这期内容当中小编将会给大家带来有关如何进行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云环境数据备份方案的分析  openstack 第1张

对于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云环境数据备份方案的分析  openstack 第2张

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

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

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

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

Freezer 创建Job流程图

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

Freezer创建备份实例举例说明

任务需求:

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

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

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

使用freezer-scheduler 进行备份

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

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

创建任务

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云环境数据备份方案的分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注蜗牛博客行业资讯频道。

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

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram