写点什么

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

评论

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

与鲸同行,智领未来!和鲸科技高校市场渠道合作伙伴正式开启招募

ModelWhale

人工智能 数据科学 渠道

HStream Webinar: 兼容 Kafka 协议的下一代流数据平台

EMQ映云科技

kafka mqtt

深入了解 Linux 常用性能统计命令

霍格沃兹测试开发学社

探索自然语言处理:语言模型的发展与应用

霍格沃兹测试开发学社

零基础入门数据挖掘-课程汇总

阿里云天池

阿里云

揭秘ChatGPT的Prompt方法:原理与应用总结

霍格沃兹测试开发学社

提升跨境直播体验,选择适用的直播专线

Ogcloud

海外直播专线 海外直播 跨境直播 跨境直播专线

ADB 下载、安装及使用教程:让你更好地管理 Android 设备

霍格沃兹测试开发学社

设计原则 — DRY & Rule of three

Lemoon Can

设计原则 DRY Rule Of three

探索机器学习:从基础概念到应用实践

霍格沃兹测试开发学社

AppLink对51Tracking的集成方式

谷云科技RestCloud

APPlink 自动化集成 51tracking

Java 异常处理与正则表达式详解,实例演练及最佳实践

小万哥

Java 程序人生 编程语言 软件工程 后端开发

华为校园鸿蒙公开课走进南京大学

极客天地

活动预告:如何培养高质量应用型医学人才?

ModelWhale

数据分析 人才培养 R语言 临床医学 新医科

走进AI新时代:织信低代码的实践与启示

优秀

AI 低代码 AI智能

一文告诉你服务器为什么要托管?

Finovy Cloud

云服务器 IDC 服务器托管

干货盘点!市场调查与分析必备的10个模板!

彭宏豪95

职场 在线白板 行业调研 效率软件 调研报告

阿里通义灵码全面公测,来看看它的水平怎么样?

阿里巴巴云原生

阿里云 云原生 通义灵码

大模型 | LLM的7大主要功能有哪些?

澳鹏Appen

大模型 LLM

电子签赛道效率之争,e签宝率先给解法

ToB行业头条

开源LLM大模型聊天

百度开发者中心

人工智能 大模型 问答助手

1688API接口推荐:1688工厂档案信息数据接口

tbapi

1688 1688API接口 1688工厂档案信息

“打工人”的自我修养-如何在30秒内把“问题”讲清楚

M

原创 职场 认知 逻辑

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

不在线第一只蜗牛

数据库 LDBC

SQL中如何添加数据:基础指南

霍格沃兹测试开发学社

观测云在 .NET 业务中分析性能问题的最佳实践

观测云

APM Profile 可观测性

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