写点什么

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:48884

评论

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

4天肝出一个数据应用,可能吗?| StartDT Hackathon

奇点云

操作系统 数据应用 奇点云

用友助力中核集团新华发电斩获“IDC未来企业大奖”

用友BIP

企业数智化

软件定义汽车时代,代码质量先行!

安势信息

车联网 代码质量 汽车软件安全 代码质量检测工具

🚀Flutter应用程序加固的问题及解决方案

雪奈椰子

iZotope RX 10 for mac(音频修复和增强软件) 10.4.2完美激活版

mac

苹果mac Windows软件 iZotope RX 10 音频修复和增强软件

C/C++ Zlib库封装MyZip压缩类

不在线第一只蜗牛

c c++ 开源 编程语言

ICP通识导读:了解未来区块链

TinTinLand

#区块链# Dfinity

增加外贸订单的实用外贸工具

九凌网络

电机制造业mes,mes生产管理系统,免费电机mes

万界星空科技

电机 mes 制造业生产管理系统 直流电机 云mes

[开源]MIT开源协议,前后端分离、后台通配权限管理系统

小狗围观科幻

回归算法全解析!一文读懂机器学习中的回归模型

不在线第一只蜗牛

机器学习 算法 回归算法

强大的Kubernetes工具的完整指南

互联网工科生

Kubernetes

监守自盗,如何防范员工窃密?

尚思卓越

网络安全 信息安全

为什么要在项目中使用TypeScript?

树上有只程序猿

typescript

全能pdf编辑工具 PDF Expert 中文激活最新版

mac大玩家j

PDF Mac软件 pdf编辑器 pdf工具

EAM与IOT融合,用友BIP资产云助力设备智慧运维!

用友BIP

资产管理

事项法会计:业财融合落地的基石

用友BIP

业财融合

用友助力浙江省国贸供应链企业数智化管理水平提升!

用友BIP

企业数智化

JavaScript 的发展史你真的了解吗?

伤感汤姆布利柏

JavaScript 低代码 js

DAPP公排互助项目系统开发丨智能合约技术开发

l8l259l3365

外贸人必须知道的20个WhatsApp实用技巧

九凌网络

WebSocket 是什么原理?为什么可以实现持久连接?

EquatorCoco

Web 网络协议 websocket 通信协议

NFTScan 正式上线 Starknet NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT\ NFTScan nft工具

打开浏览器,线上玩转C++

庄岩

c++ 在线编程 onlinegdb

CodeiumAI单元测试生成和覆盖率统计实践

lklmyy

单元测试 pytest AIGC CodiumAI

数据库安全运维系统厂家在深圳的有哪些?咨询电话多少?

行云管家

数据库 大数据 数据安全 数据库安全 数据安全运维

AE 3D粒子系统插件推荐 Trapcode Particular激活最新版

胖墩儿不胖y

Mac插件 粒子插件 粒子插件ae

用友iuap智能中台助力中国矿产“数智员工”成功上岗

用友BIP

数智员工

分享一套生产管理MES系统的源代码,可以直接拿来搞钱的好项目

万界星空科技

开源 开源代码 MES系统 生产管理系统 开源mes

两台电脑如何快速传输几百G文件,这款文件传输软件真快

镭速

大文件传输 传输大文件 文件传输工具

如何有效避免七个常见的身份验证漏洞

这我可不懂

身份验证 网络安全威胁

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