文档章节

翻译:使用OpenStack Database(Trove):复制及聚合

Hochikong
 Hochikong
发布于 2014/08/12 15:38
字数 924
阅读 246
收藏 1
随着应用程序迁移到云中,操作数据库的复杂性,在这个新环境变得非常明显。即使你这样做在一个受控的奢侈的数据中心在专用硬件,也很难操作数据库基础结构。云引入了性能的可变性及虚拟化开销,并在底层硬件为最终用户提供了更低级别的控制。在公共云,单个虚拟机实例的可靠性被认为是大大低于在数据中心的专用机器。操作大量的服务器时,观察到的失败更频繁。所有的这些使在云中操作数据库更具挑战性。

Database-as-a-Service通过在操作基础设施时减轻管理员的管理负担去简化对云中的数据库的操作。依靠紧紧结合在底层基础设施和把许多常见操作自动化,DBaaS大大简化了许多这样的活动。然而,失败(failures)可能导致服务中断。因此,至关重要的是,为了使failures对最终用户透明,DBaaS平台解释和处理它们的方式, 

Trove实现了这几个方面
第一,trove与OpenSatck基础设施紧密结合,与Nova,Neutron,Swift,Cinder和keystone紧密集成。它把启动一个新的服务器所需的大量的配置和设定都自动化,类似于其他工具如Puppet,Chef和Ansible所做的那样。它还允许网站管理员建立标准配置和使用那些配置可靠地启动服务器。

这个配置支持尤为重要的领域是复制和聚合。没有Trove,用户可能要靠自己手动配置这些特性和管理失效和故障转移。Trove使这些功能自动化,并且这些功能正在被分阶段实施。

Trove中最初被实施的复制(replication)使用了mysql内置的复制(replication)特性,用于MysqL数据储存。后续阶段将此功能扩展到包括聚合和复制所有Trove支持的数据储存。第一个版本的这个特性,用户可以创建一个单独的MySQL实例,然后创建一个从属的实例。创建从属(slave)的行为会建立一个新的与最初的实例同等的复制实例

以下命令说明用户将如何做到这一点。以下的Trove实例运行一个mysql5.5:

$ trove list
+--------------------------------------+------+-----------+-------------------+--------+-----------+------+
| ID                                   | Name | Datastore | Datastore Version | Status | Flavor ID | Size |
+--------------------------------------+------+-----------+-------------------+--------+-----------+------+
| d2bd91ef-3d7c-43ae-97a9-f0726c91d322 | m1   | mysql     | 5.5               | ACTIVE | 7         |    2 
+--------------------------------------+------+-----------+-------------------+--------+-----------+------+



现在将创建第二个(slave)实例引用上面提供的master,如下。

$ trove create s1 7 --size 2 --slave_of d2bd91ef-3d7c-43ae-97a9-f0726c91d322
+-------------------+--------------------------------------+
| Property          | Value                                |
+-------------------+--------------------------------------+
| created           | 2014-06-13T14:33:27                  |
| datastore         | mysql                                |
| datastore_version | 5.5                                  |
| flavor            | 7                                    |
| id                | 9ffc7b3a-9205-412a-9cd2-521f95755c43 |
| name              | s1                                   |
| slaveOf           | d2bd91ef-3d7c-43ae-97a9-f0726c91d322 |
| status            | BUILD                                |
| updated           | 2014-06-13T14:33:27                  |
| volume            | 2                                    |
+-------------------+--------------------------------------+



用户可以现在查看复制的状态对(replicated pair)如下所示。

$ trove show 9ffc7b3a-9205-412a-9cd2-521f95755c43
+-------------------+---------------------------------------------+
|      Property     |         Value                               |
+-------------------+---------------------------------------------+
|      created      | 2014-06-13T14:33:27                         |
|     datastore     | mysql                                       |
| datastore_version | 5.5                                         |
|       flavor      | 7                                           |
|         id        | 9ffc7b3a-9205-412a-9cd2-521f95755c43        |
|        name       | s1                                          |
|       slaveOf     | d2bd91ef-3d7c-43ae-97a9-f0726c91d322        |
|       status      | ACTIVE                                      |
|      updated      | 2014-06-13T14:33:27                         |
|      volume      | 2                                            |
+-------------------+---------------------------------------------+
$ trove show d2bd91ef-3d7c-43ae-97a9-f0726c91d322
+-------------------+---------------------------------------------+
|     Property     |         Value                                |
+-------------------+---------------------------------------------+
|      created      | 2014-06-13T14:33:27                         |
|     datastore     | mysql                                       |
| datastore_version | 5.5                                         |
|       flavor      | 7                                           |
|         id        | d2bd91ef-3d7c-43ae-97a9-f0726c91d322        |
|        name       | s1                                          |
|       slaves      | 9ffc7b3a-9205-412a-9cd2-521f95755c43        |
|       status      | ACTIVE                                      |
|      updated      | 2014-06-13T14:33:27                         |
|       volume      | 2                                           |
+-------------------+---------------------------------------------+



断开一个slave与master的连接,用户将会“分离(detach)”:

$ trove detach_replication <slave instance>



现在你已经了解了Trove的复制特性的基本结构。在下一篇文章中,我们将描述客户端和任务管理器的实现细节。

© 著作权归作者所有

Hochikong
粉丝 19
博文 113
码字总数 59961
作品 1
广州
程序员
私信 提问
trove 配置 mysql replica

一、 binlog 模式 mysql 5.6 及以上版本 templates 未提供 binlog 模板,默认只能使用gtid模式,可以考虑自行制作模板以用binlog复制 1、 编辑 /etc/trove/trove-taskmanager.conf [DEFAULT...

757781091
2017/03/31
0
0
trove mysql replica 使用

1、trove mysql replica 一些限制 trove 可以同时支持binlog replica 和gtid replica gtid 需要mysql5.6及其以上版本 newton trove 对mysql 的 binlog replica 支持不是很好 newton trove 对......

757781091
2017/03/31
0
0
openstack mitaka升级至ocata-trove实例升级

openstack Mitaka升级到Ocata后,由于service与实例之间的api(主要是参数)发生变化,之前创建并使用的trove实例必须升级,否则在运行个别功能时,实例会发生异常。此外,由于trove upgrade...

Jun_Wong
2017/10/17
0
0
通过数据库修改trove instance status

由于测试mysql5.5的复制功能,默认trove使用gtid,instance 一直处于 BACKUP 状态,trove reset-status 不能在 BACKUP 状态下运行,手动修改数据库 修改 servicestatuses 表中 statusid 字段...

757781091
2017/03/30
0
0
openstack mitaka下 trove填坑过程

trove 是什么就不解释了,原理什么的网上一大堆,周末折腾了两天终于搞定,下面说下几点填坑的经历 1、搭建过程 参考官网 http://docs.openstack.org/mitaka/install-guide-rdo/trove.html ...

superbigsea
2016/09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部