OpenStack 数据备份安装篇

作者: branyang

硬盘有价,数据无价,本文将为大家分享Freezer的安装方法。Freezer主要用于数据的备份容灾,是OpenStack整个设计中一个必不可少的一环。

Freezer说明

Freezer 作为一个OpenStack offical项目,主要致力于OpenStack的数据备份/恢复相关的工作,从OpenStack-Kilo版本开始支持。它不仅是分布式的备份工具,而且还支持多个平台的使用 windows linux osx 等等,对数据的一致性校验,加密,上传限速等都做了处理。

▲Freezer 架构图

Freezer组件说明

▷Freezer-api

主要提供服务的Restful Api服务,监听端口默认为9090。主要用于通过该API与数据库进行交互并维护Freezer的Job 以及备份周期时间等相关的metadata等。多用于与Freezer-shceduler进行交互,freezer-scheduler定期从freezer-api读取相应的Job信息等。

▷Freezer-Scheduler

Freezer-scheduler 主要用于与Freezer-api进行交互获取Job 进行,并将Job中的信息以及metadata数据等进行使用Apscheduler进行不同方式的scheduler,并调用Freezer-agent 进行具体相应的任务的执行。Freezer-scheduler与Freezer-agent的强关联性,一般Freezer-scheduler与Freezer-agent安装在同一台节点上。目前支持的定期执行任务的方式一般为,interval,cron-like, date三个。

▷Freezer-agent

Freezer-agent 作为Freezer的主要动作的执行者,主要直接与相应的OpenStack的数据服务相直接接触,使用Cinderclient,Novaclient, Osbrick等直接与OpenStack需要备份的数据进行交互。目前支持的备份包括,nova-instance,cinder-volume,mysql,sqlserver等。

▷Freezer-web-ui

主要集成与OpenStack Horizon,提高UI服务,实现调用Freezerclient与Freezer-api进行串联实现数据备份动作等。

▷Freezer-DR

主要提供虚拟机的VMHA服务,利用Freezer-DR创建监听器,通过监听nova-compute节点的是否正常,并实现触发在共享存储下的虚拟机HA,保障了业务的高可用。

安装

▷使用Devstack 开发环境安装

▷准备DevStack开发环境

这里不再过多说明如何准备DevStack环境,可以参考devstack.org进行查看。

▷准备Freezer localrc文件

local|localrc
ADMIN_PASSWORD=password
DATABASE_PASSWORD=stackdb
RABBIT_PASSWORD=stackqueue
SERVICE_PASSWORD=$ADMIN_PASSWORD
MULTI_HOST=1
RECLONE=no
HOST_IP=192.168.9.129
SERVICE_TIMEOUT=180
USE_SCREEN=True
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
LOG_COLOR=True
LIBVIRT_TYPE=qemu
ENABLED_SERVICES=key,mysql,rabbit
ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-cauth,mysql,rabbit
ENABLED_SERVICES+=,c-sch,c-api,c-vol,c-bak
ENABLED_SERVICES+=,horizon,n-novnc
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
enable_service n-cell
enable_service freezer
export FREEZER_API_SERVER_TYPE=apache2
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron
enable_service placement-api
IMAGE_URLS="http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz,http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2"
Q_PLUGIN=ml2
Q_ML2_TENANT_NETWORK_TYPE=vxlan
PUBLIC_INTERFACE=ens33
FLOATING_RANGE=192.168.9.0/24
PUBLIC_NETWORK_GATEWAY=192.168.9.2
Q_FLOATING_ALLOCATION_POOL=start=192.168.9.200,end=192.168.9.220
enable_plugin freezerhttps://git.openstack.org/openstack/freezer master
enable_plugin freezer-apihttps://git.openstack.org/openstack/freezer-api.git master
enable_plugin freezer-web-uihttps://github.com/openstack/freezer-web-ui.git master
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data
SWIFT_ENABLE_TEMPURLS=True
SWIFT_HASH=password
SWIFT_TEMPURL_KEY=password
enable_plugin devstack-plugin-cephgit://git.openstack.org/openstack/devstack-plugin-ceph

验证

▷启动freezer-scheduler

   freezer-scheduler start

▷使用Freezer

   freezer client-list

  freezer job-list

这里Freezer 已经简单的安装完成,后续我们继续进行使用介绍。

如果想要对社区有更多的了解,可以查看Freezer的代码仓库地址。

Freezer: https://github.com/openstack/freezer

Freezer-api: https://github.com/openstack/freezer-api

Freezer-web-ui: https://github.com/openstack/freezer-web-ui

Freezer-dr: https://github.com/openstack/freezer-dr

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库新发现

Oracle9i新特点-SPFILE的使用

本文发表于itpub技术丛书《Oracle数据库DBA专题技术精粹》,未经许可,严禁转载本文.

531
来自专栏程序猿

父子节点

create table Jiedian( node hierarchyid primary key, nodLevel as node.Get...

35110
来自专栏大魏分享(微信公众号:david-share)

怎样一个金箍圈(Pipeline),让至尊宝(Openshift)完成了到孙悟空(DevOps)的蜕变

但说出这句话,和实现Devops全工具链落地之间的差距,与造出原子弹和E=MC2公式的差距,实不逞多让。

1322
来自专栏杨建荣的学习笔记

一封备库报警邮件的分析(r6笔记第82天)

对于orabbix报出的警报,自己都是心怀敬畏,因为这些表面的现象如果深入分析没准就能有所收获,当然目的还是解决问题,不是一味追求指标。 今天收到的报警邮件如下...

2644
来自专栏农夫安全

android客户端渗透测试案例一

? android客户端渗透测试案例一 本文为网络收集,如有侵权联系删除,仅供学习使用 0x01 Root root的话直接看私有文件就可以了,做个简单加...

29511
来自专栏杨建荣的学习笔记

通过shell脚本得到数据库的基本信息(一)(r9笔记第89天)

今天写了个脚本,虽然实现的功能不多,但是个人感觉是一个好的开始,架子出来了,后面要补充的细节加进来就逐步完善了。 这个脚本的运行效果如下: OS Ver...

3334
来自专栏数据和云

如何用BBED使Offline的数据文件Online

编辑手记:一个6T的数据库,使用ASM磁盘存储。在添加磁盘的过程中导致数据文件offline,但可悲的是,数据库没有备份,在发现问题的时候归档也已经被清除,此时...

2826
来自专栏程序员的酒和故事

为什么C++不会衰老

Thoughts about C++ in the modern world. 一些关于当代C++的思考。 ? Debates about the pre...

3428
来自专栏杨建荣的学习笔记

一个Oracle bug的手工修复(r6笔记第59天)

在上周五的时候,本来一个例行巡检,想扩充一些表空间,结果弄巧成拙,因为一个drop datafile的操作直接导致了一主两备的两个备库MRP直接抛出了ORA-6...

2655
来自专栏Seebug漏洞平台

“盲”逆向:iOS 应用 Blind 寻踪

原文:https://exceptionlevelone.blogspot.tw/2017/10/blind-reversing.html 译者:hello19...

43714

扫码关注云+社区