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 条评论
登录 后参与评论

相关文章

来自专栏linjinhe的专栏

TCP 为什么是三次握手四次挥手?

我们都知道 TCP 有建立连接时的三次握手和断开连接时的四次挥手,如上图所示。这个过程具体怎么样就不多说了。 今天主要想讨论一下,为什么 TCP 是三次握手,...

3004
来自专栏Rovo89

使用Webpack快速配置编写HTML基础环境

1574
来自专栏拭心的安卓进阶之路

Android 进阶15:HandlerThread 使用场景及源码解析

眼睛困得要死,但今天的计划不完成又怎么能睡呢?明日复明日,明日何其多啊! 为了避免 ANR,我们常常需要在线程中做耗时操作,然后把结果抛到主线程进行处理。 An...

30710
来自专栏王磊的博客

asp.net 操作ftp 通用代码[测试通过]

代码如下: // 建立目录 FtpWebRequest Request = (FtpWebRequest)WebRequest.Crea...

3264
来自专栏xdecode

Java读取打印机自定义纸张.

打印出现截断? 对于自定义纸张打印, 一定要先在打印机配置那边添加, 不然会出现截断. 例如打印1000*500, 出来是正常的, 打印216*139, 出现了...

33010
来自专栏AnitDDoS

防御各种DDoS反射的方法

1270
来自专栏女程序员的日常

坏块管理(Bad Block Management,BBM)

  看了很多坏块管理的文章,加上自己的理解,把整个坏块管理做了个总结。 坏块分类 1、出厂坏块   又叫初始坏块,厂商会给点最小有效块值(NVB,mininum...

2231
来自专栏用户画像

1.2.3.1 ISO/OSI参考模型

国际化标准组织(ISO)提出的网络体系结构模型,称为开发系统互联参考模型(OSI/RM),通常简称为OSI参考模型。OSI有七层,自下而上依次为物理层、数据链路...

772
来自专栏田超学前端

【微信小程序】c# 实现获取openid、session_key 服务端

8780
来自专栏吴老师移动开发

TCP/IP协议

1445

扫码关注云+社区