50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Openstack Trove 在奇云上的实践

  • 2019-11-14
  • 本文字数:1259 字

    阅读完需:约 4 分钟

Openstack Trove在奇云上的实践

Openstack Trove 是 Openstack 为用户提供的数据库即服务。Trove 允许用户快速又简单的使用关系型或非关系型数据库,不需要有处理复杂管理任务的负担。在实际使用中,原生的 Trove 在创建主从模式数据库实例,如 RDS/Redis 时,需要先单独创建一个主实例,再创建一个该实例的副本,才能建立好主从关系,需要两步操作。同时在实例里,用户私有网络需要与管理网络互通,有很大的安全隐患。本文将介绍奇云在创建主从模式数据库实例上,对 Trove 做了哪些改造。

Trove 简介

Trove 能完全运行于 Openstack 中,Trove 与 Openstack 其他组件通过 Restful API 来交互。其中最主要的部分,Trove 在 Nova 中创建包含 trove-guestagent 和数据库程序的虚机,Trove 所使用的镜像存放在 Glance 中, Neutron 为 Trove 分配所要的网络信息,同时 Trove 依赖 keystone 与其他组件通信。



Trove 自身包含的组件通过消息队列来通信,它们可以运行在不同的服务器上。Trove 主要由下面这些组件组成。


  • API Server

  • Message Bus

  • Task Manager

  • Guest Agent

  • Conductor


Trove-api 服务对外提供创建和管理实例等 Restful API 接口,支持 Json 和 Xml 格式。Trove-api 将复杂的异步任务交给 trove-taskmanager 来处理,对于简单任务,Trove-api 也可以直接与 Trove-guestagent 通信。


Trove-taskmanager 服务主要是做一些重的任务,比如创建实例,管理实例的生命周期,对数据库实例执行一些操作等


Trove-guestagent 服务运行在每一个客户实例中,监听消息队列的消息,负责管理数据库和对数据库执行相应操作,


Trove-conductor 运行在主机上,接收从客户实例发送来的消息。

Trove 相关概念

Instance:数据库实例,一个包含数据库程序的 Openstack 虚机


Replica instance:数据库副本实例,创建时需要指定从属于哪个主实例


Datastore/Dastastore version:用来表示和存储数据库的类型、版本、对应虚拟机镜像等信息。当用户创建一个数据库实例时需要指定 Datastore 和版本

Trove 在奇云中的实践

系统架构


奇云基于原生 Mitaka 版的 Trove,结合自身需要,做了很多改造,增加了自动备份服务 Trove-backup,存活监控服务 Trove-monitor, 优化了主从切换,实例扩容,参数配置等操作,在这里不进行一一详述。下面主要讲述奇云在创建主从模式的数据库实例,例如 RDS/Redis,做了哪些操作。

创建主从模式的实例

奇云 Trove 支持一个 API 创建请求创建出主从两个实例,两个实例分属于两个物理集群(master/slave),之后再关联好主从关系,这样主从实例就可以正常使用了。实例虚机内包含两块网卡,管理网卡可与管理网络通信,而与用户数据网络隔离,并且用户数据网络增加一个服务 IP(VIP),便于主从切换的实现。下图所示是奇云 Trove 在创建 RDS 实例的过程,该网络交互过程是在虚机分配的管理网卡上。


主从切换

用户通过 VIP 来访问数据库实例,当主节点宕机或不可用时,管理员可以进行主从切换,切换节点角色,把 VIP 切换到从节点上,保证服务的可用性。



本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/oloafWaDFTJRIG9IHxcN3A


2019-11-14 18:481511

评论

发布
暂无评论
发现更多内容

独有且优质!这些Mac软件绝了!

Jackpop

2022-11-04:给定一个正数n,表示有多少个节点 给定一个二维数组edges,表示所有无向边 edges[i] = {a, b} 表示a到b有一条无向边 edges一定表示的是一个无环无向图,也

福大大架构师每日一题

算法 rust 福大大

hadoop2.7集群初始化之后没有DataNode的问题

程序员欣宸

大数据 hadoop 11月月更

低代码实现探索(五十一)组件的配置

零道云-混合式低代码平台

WEB-INF/web.xml泄露

我是一个茶壶

WEB安全 11月月更 源码泄露

不借助 Fiori client,直接在手机浏览器里调用 SAP UI5 BarcodeScanner 实现条形码扫描的可能性?

汪子熙

sdk SAP Fiori SAP UI5 11月月更

产品负责人的轻度思考,6个小策略,面对迭代Sprint评审会

老彦

敏捷 回顾会 产品负责人

华为高清空间音频将登陆座舱,打造移动“车载大剧院”

最新动态

全新升级的鸿蒙开发套件,你想知道的都在这里

HarmonyOS开发者

HarmonyOS

Vue组合式函数(一)

Augus

vue.js 11月月更

HNCTF--Misc部分题解

我是一个茶壶

11月月更 杂项 HNCTF

JAVA中如何实现代码优化(技巧讲解)

叶秋学长

Java 优化 技巧总结 11月月更

阿里低代码引擎怎么样,好不好用?

优秀

低代码

网络安全必学SQL注入

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

chrome调试工具之network

格斗家不爱在外太空沉思

浏览器 11月月更 浏览器调试

卷积模型分类图片

芯动大师

Python 卷积网络 11月月更

vue中网络请求axios的使用和封装

格斗家不爱在外太空沉思

Vue axios 11月月更

【C语言】case 关键字

謓泽

11月月更

云原生训练营课程总结

Rex

应用防火墙WAF架构分类

阿泽🧸

waf 11月月更

NB的Github项目,看到最后一个我惊呆了!

艾小仙

Java GitHub

如虎添翼!微软OneNote迎来新利器!

Jackpop

Mac上有那些你认为极其好用的app?

Jackpop

作为资深Mac用户,有哪些你相见恨晚的软件值得推荐?

Jackpop

工赋开发者社区 | 研究了代码质量后,开发速度提高了 2 倍,bug 减少了 15 倍

工赋开发者社区

九科信息荣获《2022爱分析RPA厂商全景报告》RPA软件市场代表厂商

九科Ninetech

华为发布鸿蒙开发套件 全面加速推进鸿蒙生态

科技汇

如何通俗易懂理解Python类和面向对象?

Jackpop

工赋开发者社区 | SPL工业智能:发现时序数据的异常

工赋开发者社区

Vue-Vuex学习

格斗家不爱在外太空沉思

vue.js vuex 11月月更

华为阅读“WebBrain搜索”和“知识图谱”在HDC2022首次亮相!

叶落便知秋

Openstack Trove在奇云上的实践_文化 & 方法_方慧琳_InfoQ精选文章