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

相关文章

来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–应收帐款(157)-3 F-37预付款

4.3 F-37过帐预付款请求 预付款请求是一些不会影响余额表的备注项。在帐户分析、催款程序和付款程序中可将它们考虑在内。 使用备用统驭帐户19990501的特...

3594
来自专栏机器之心

教程 | Python代码优化指南:从环境设置到内存分析(一)

选自pythonfiles.wordpress 机器之心编译 参与:Panda、蒋思源 近日,Python Files 博客发布了几篇主题为「Hunting P...

2629
来自专栏Flutter&Dart

DartVM服务器开发(第十七天)--Jaguar_websocket结合Flutter搭建简单聊天室

我们这里定义了一个ChatMessageData,如果你想需要更多字段,可以再添加

841
来自专栏小怪聊职场

爬虫课堂(二十六)|使用scrapy-redis框架实现分布式爬虫(1)

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

性能调优之redo切换频率(47天)

生产系统的一个库(负责容错处理的),目前遇到了严重的性能问题,数据量也大的出奇,一个分区表一百多个分区,blob字段达到了800多G.查看 AWR 系统负载倒不...

3254
来自专栏散尽浮华

同步服务器系统时间操作记录

在初始化一台linux服务器后,发现这台服务器的时间不对 [root@dev ~]# date 2016年 10月 11日 星期二 07:04:34 CST L...

2265
来自专栏乐沙弥的世界

使用 SQLNET.EXPIRE_TIME 清除僵死连接

    数据库连接的客户端异常断开后,其占有的相应并没有被释放,如从v$session视图中依旧可以看到对应的session处于inactive,且对应的服务器...

802
来自专栏黑白安全

如何检测并清除WMI持久性后门

当前,Windows Management Instrumentation(WMI)事件订阅已经变成了一种非常流行的在端点上建立持久性后门的技术。于是,我决定鼓...

542
来自专栏FreeBuf

漏洞预警 | 海洋CMS(SEACMS)0day漏洞预警

概述 最近我们的一名安全托管客户反应,其服务器遭受到攻击,被黑客上传了webshell并篡改网页内容。经过我们为客户安装云锁防护软件后,拦截到一个针对海洋CMS...

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

Oracle 12c Data Guard搭建(一) (r10笔记第57天)

对于使用12c的PDB,如果想尽快熟悉,掌握,那就是和业务挂钩,让它跑在业务上。当然是在能够基本驾驭它的前提下,要不就真成了甩手掌柜。11g可以玩得很好...

3479

扫码关注云+社区