您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用OpenStack Database實現復制及聚合,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
隨著應用程序遷移到云中,操作數據庫的復雜性,在這個新環境變得非常明顯。即使你這樣做在一個受控的奢侈的數據中心在專用硬件,也很難操作數據庫基礎結構。云引入了性能的可變性及虛擬化開銷,并在底層硬件為最終用戶提供了更低級別的控制。在公共云,單個虛擬機實例的可靠性被認為是大大低于在數據中心的專用機器。操作大量的服務器時,觀察到的失敗更頻繁。所有的這些使在云中操作數據庫更具挑戰性。
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的復制特性的基本結構。在下一篇文章中,我們將描述客戶端和任務管理器的實現細節。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用OpenStack Database實現復制及聚合”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。