分享

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

hochikong 发表于 2014-8-2 17:34:19 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 11032
问题导读:         
1.Trove可以满足怎样的应用场景?
2.DBaaS有什么特色?
3.如何创建slave?




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

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:
  1. $ trove list
  2. +--------------------------------------+------+-----------+-------------------+--------+-----------+------+
  3. | ID                                   | Name | Datastore | Datastore Version | Status | Flavor ID | Size |
  4. +--------------------------------------+------+-----------+-------------------+--------+-----------+------+
  5. | d2bd91ef-3d7c-43ae-97a9-f0726c91d322 | m1   | mysql     | 5.5               | ACTIVE | 7         |    2
  6. +--------------------------------------+------+-----------+-------------------+--------+-----------+------+
复制代码
现在将创建第二个(slave)实例引用上面提供的master,如下。
  1. $ trove create s1 7 --size 2 --slave_of d2bd91ef-3d7c-43ae-97a9-f0726c91d322
  2. +-------------------+--------------------------------------+
  3. | Property          | Value                                |
  4. +-------------------+--------------------------------------+
  5. | created           | 2014-06-13T14:33:27                  |
  6. | datastore         | mysql                                |
  7. | datastore_version | 5.5                                  |
  8. | flavor            | 7                                    |
  9. | id                | 9ffc7b3a-9205-412a-9cd2-521f95755c43 |
  10. | name              | s1                                   |
  11. | slaveOf           | d2bd91ef-3d7c-43ae-97a9-f0726c91d322 |
  12. | status            | BUILD                                |
  13. | updated           | 2014-06-13T14:33:27                  |
  14. | volume            | 2                                    |
  15. +-------------------+--------------------------------------+
复制代码
用户可以现在查看复制的状态对(replicated pair)如下所示。
  1. $ trove show 9ffc7b3a-9205-412a-9cd2-521f95755c43
  2. +-------------------+---------------------------------------------+
  3. |      Property     |         Value                               |
  4. +-------------------+---------------------------------------------+
  5. |      created      | 2014-06-13T14:33:27                         |
  6. |     datastore     | mysql                                       |
  7. | datastore_version | 5.5                                         |
  8. |       flavor      | 7                                           |
  9. |         id        | 9ffc7b3a-9205-412a-9cd2-521f95755c43        |
  10. |        name       | s1                                          |
  11. |       slaveOf     | d2bd91ef-3d7c-43ae-97a9-f0726c91d322        |
  12. |       status      | ACTIVE                                      |
  13. |      updated      | 2014-06-13T14:33:27                         |
  14. |      volume      | 2                                            |
  15. +-------------------+---------------------------------------------+
复制代码
断开一个slave与master的连接,用户将会“分离(detach)”:
  1. $ trove detach_replication <slave instance>
复制代码
现在你已经了解了Trove的复制特性的基本结构。在下一篇文章中,我们将描述客户端和任务管理器的实现细节。


################################################################
译者:hochikong
本文译自:http://www.mirantis.com/blog/using-openstack-database-trove-replication-and-clustering/








欢迎加入about云群9037177932227315139327136 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

已有(4)人评论

跳转到指定楼层
ascentzhen 发表于 2014-8-3 09:02:39
OpenStack主要应用在哪些场景下啊?谢谢
回复

使用道具 举报

hochikong 发表于 2014-8-3 09:45:53
ascentzhen 发表于 2014-8-3 09:02
OpenStack主要应用在哪些场景下啊?谢谢

我问问你:为什么需要虚拟机?想一下这个答案再结合现实想想
回复

使用道具 举报

howtodown 发表于 2014-8-3 12:19:20
ascentzhen 发表于 2014-8-3 09:02
OpenStack主要应用在哪些场景下啊?谢谢
搭建云平台,资源合理利用。
具体你需要了解openstack是什么?
一分钟快速入门openstack

回复

使用道具 举报

ascentzhen 发表于 2014-8-3 15:28:37
谢谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条