這篇文章主要介紹了如何使用OpenStack Database實現(xiàn)復制及聚合,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設、網(wǎng)絡營銷策劃、小程序制作、電子商務建設、網(wǎng)絡推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術型公司。公司成立十余年以來,已經為1000多家成都PE包裝袋各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務?,F(xiàn)在,服務的1000多家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
隨著應用程序遷移到云中,操作數(shù)據(jù)庫的復雜性,在這個新環(huán)境變得非常明顯。即使你這樣做在一個受控的奢侈的數(shù)據(jù)中心在專用硬件,也很難操作數(shù)據(jù)庫基礎結構。云引入了性能的可變性及虛擬化開銷,并在底層硬件為最終用戶提供了更低級別的控制。在公共云,單個虛擬機實例的可靠性被認為是大大低于在數(shù)據(jù)中心的專用機器。操作大量的服務器時,觀察到的失敗更頻繁。所有的這些使在云中操作數(shù)據(jù)庫更具挑戰(zhàn)性。
Database-as-a-Service通過在操作基礎設施時減輕管理員的管理負擔去簡化對云中的數(shù)據(jù)庫的操作。依靠緊緊結合在底層基礎設施和把許多常見操作自動化,DBaaS大大簡化了許多這樣的活動。然而,失?。╢ailures)可能導致服務中斷。因此,至關重要的是,為了使failures對最終用戶透明,DBaaS平臺解釋和處理它們的方式,
Trove實現(xiàn)了這幾個方面
第一,trove與OpenSatck基礎設施緊密結合,與Nova,Neutron,Swift,Cinder和keystone緊密集成。它把啟動一個新的服務器所需的大量的配置和設定都自動化,類似于其他工具如Puppet,Chef和Ansible所做的那樣。它還允許網(wǎng)站管理員建立標準配置和使用那些配置可靠地啟動服務器。
這個配置支持尤為重要的領域是復制和聚合。沒有Trove,用戶可能要靠自己手動配置這些特性和管理失效和故障轉移。Trove使這些功能自動化,并且這些功能正在被分階段實施。
Trove中最初被實施的復制(replication)使用了MySQL內置的復制(replication)特性,用于MysqL數(shù)據(jù)儲存。后續(xù)階段將此功能擴展到包括聚合和復制所有Trove支持的數(shù)據(jù)儲存。第一個版本的這個特性,用戶可以創(chuàng)建一個單獨的MySQL實例,然后創(chuàng)建一個從屬的實例。創(chuàng)建從屬(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 +--------------------------------------+------+-----------+-------------------+--------+-----------+------+
現(xiàn)在將創(chuàng)建第二個(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 | +-------------------+--------------------------------------+
用戶可以現(xiàn)在查看復制的狀態(tài)對(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
現(xiàn)在你已經了解了Trove的復制特性的基本結構。在下一篇文章中,我們將描述客戶端和任務管理器的實現(xiàn)細節(jié)。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用OpenStack Database實現(xiàn)復制及聚合”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!