如何使用OpenStack Database实现复制及聚合

54次阅读
没有评论

共计 3336 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要介绍了如何使用 OpenStack Database 实现复制及聚合,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

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

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 的复制特性的基本结构。在下一篇文章中, 我们将描述客户端和任务管理器的实现细节。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“如何使用 OpenStack Database 实现复制及聚合”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3336字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)