小編給大家分享一下Openstack Trove是什么意思,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
10年積累的做網(wǎng)站、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有寧波免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Openstack Trove是openstack為用戶提供的數(shù)據(jù)庫即服務(wù)(DBaaS)。所謂DBaaS,即trove既具有數(shù)據(jù)庫管理的功能,又具有云計(jì)算的優(yōu)勢。使用trove,用戶可以:
"按需"獲得數(shù)據(jù)庫服務(wù)器
配置所獲得的數(shù)據(jù)庫服務(wù)器或者數(shù)據(jù)庫服務(wù)器集群
對數(shù)據(jù)庫服務(wù)器或者數(shù)據(jù)庫服務(wù)器集群進(jìn)行自動化管理
根據(jù)數(shù)據(jù)庫的負(fù)載讓數(shù)據(jù)庫服務(wù)器集群動態(tài)伸縮
與openstack的其他組件一樣,trove也提供RESTful API,并通過RESTful API和其他組件進(jìn)行交互。
上圖為trove的架構(gòu)圖。Trove API和用戶進(jìn)行交互,當(dāng)Trove API接收到用戶請求時(shí),trove API首先會調(diào)用Keystone的API來對用戶進(jìn)行認(rèn)證,認(rèn)證通過后才會去執(zhí)行相應(yīng)的操作。Trove API會同步處理操作簡單的一些請求,復(fù)雜的請求則會通過Message Queue (RabbitMQ)交給Task Manager來處理。Task Manager會監(jiān)聽RabbitMQ的一個(gè)topic,收到請求后就會進(jìn)行處理。這些請求通常是分配數(shù)據(jù)庫實(shí)例、管理數(shù)據(jù)庫實(shí)例的生命周期、操作數(shù)據(jù)庫等。和openstack的其他組件一樣,Trove也有一個(gè)Infrastructure Database來存儲自己本身的數(shù)據(jù),如數(shù)據(jù)庫實(shí)例的信息等。Trove conductor的主要功能是接收來自guest agent的狀態(tài)更新信息,這些信息會被存儲在Infrastructure database里面或者作為調(diào)用結(jié)果返回給其他服務(wù)。通常這些狀態(tài)更新信息包括:guest agent心跳包,數(shù)據(jù)庫備份狀態(tài)等。Guest Agent運(yùn)營于數(shù)據(jù)庫服務(wù)器中(虛擬機(jī)),給trove其他組件提供了一套內(nèi)部使用的API,trove的其他組件通過Message Queue來調(diào)用這些API,guest agent收到API調(diào)用請求后,執(zhí)行相應(yīng)的數(shù)據(jù)庫操作。
Trove的安裝部署請參考Openstack官方文檔(多坑慎入):
https://docs.openstack.org/project-install-guide/database/ocata/
數(shù)據(jù)庫實(shí)例(Instance):包含數(shù)據(jù)庫程序的openstack虛擬機(jī),如果用戶創(chuàng)建了一個(gè)數(shù)據(jù)庫實(shí)例,那么他其實(shí)就創(chuàng)建了一臺openstack虛擬機(jī),并在該虛擬機(jī)上啟動了數(shù)據(jù)庫服務(wù)。
Datastore:用來表示和存儲數(shù)據(jù)庫的類型、版本、虛擬機(jī)鏡像等信息。當(dāng)用戶創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例時(shí)需要指定Datastore.
配置組(Configuration Group):數(shù)據(jù)庫參數(shù)組成的集合。用戶可以將配置組應(yīng)用到一個(gè)或多個(gè)數(shù)據(jù)庫實(shí)例上,因而避免了大量的重復(fù)操作。
在創(chuàng)建數(shù)據(jù)庫實(shí)例時(shí),需要指定Datastore來告訴trove需要用到的鏡像、數(shù)據(jù)庫類型及版本信息。所以在創(chuàng)建數(shù)據(jù)庫實(shí)例之前需要在系統(tǒng)中創(chuàng)建Datastore.
由于版權(quán)問題,openstack官方并沒有提供可供下載的鏡像,需要用戶自己去build。可參考文檔:
https://docs.openstack.org/developer/trove/dev/building_guest_images.html
Build好鏡像好需要將其上傳到glance服務(wù):
ad@ltczhp11:~$ glance image-create --name MySQL-5.6 --disk-format=qcow2 --container-format=bare --file=./mysql-5.6.qcow2 --visibility public ad@ltczhp11:~$ glance image-list +--------------------------------------+--------------------------+ | ID | Name | +--------------------------------------+--------------------------+ | 31d60001-c2bf-496e-9f21-069bb411bd3b | CouchDB | | eaf27f1b-3a8a-4efb-827c-697fa065933b | DB2 | | 60ca8bfc-28a7-418a-9422-ec6548f23d54 | DIB-MongoDB | | 51103b44-2618-4c15-8ded-4371bea8973a | DIB-Postgres | | 8bc1a6a2-6ec3-4f37-bb54-91134b903996 | mongodb-lsl | | c4c9a58f-bbe6-4640-8488-0c05b52028df | mysql-5.6 | | 5d800163-3660-467a-a433-e1827924a741 | PostgreSQL | | 38291f8f-5af6-4338-82b7-3f18dc355cae | ubuntu16.04-server-s390x | +--------------------------------------+--------------------------+
使用trove-manage添加Datastore:
root@ltczhp11:~# trove-manage datastore_update mysql "" #創(chuàng)建一個(gè)datastore root@ltczhp11:~# trove-manage datastore_version_update mysql 5.6 mysql c4c9a58f-bbe6-4640-8488-0c05b52028df "" 1 #創(chuàng)建一個(gè)dadastore的版本,一個(gè)dadastore可以有多個(gè)版本 root@ltczhp11:~# trove-manage datastore_update mysql 5.6?。V付J(rèn)的datastore版本
列出所有的數(shù)據(jù)庫實(shí)例
$ trove list
創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例
$ trove create vm1 2 --size 3 --datastore mysql
重啟一個(gè)數(shù)據(jù)庫實(shí)例
$ trove restart vm1
刪除一個(gè)數(shù)據(jù)庫實(shí)例
$ trove delete vm1
強(qiáng)制刪除一個(gè)數(shù)據(jù)庫實(shí)例
$ trove force-delete vm1
調(diào)整一個(gè)數(shù)據(jù)庫實(shí)例的規(guī)格
$ trove resize-volume vm1 4
$ trove resize-instance vm1 3
列出所有的數(shù)據(jù)庫用戶
$ trove user-list
創(chuàng)建一個(gè)用戶
$ trove user-create
刪除一個(gè)用戶
$ trove user-delete
給一個(gè)用戶授權(quán)訪問某個(gè)數(shù)據(jù)庫
$ trove user-grant-access
吊銷用戶對于某一個(gè)數(shù)據(jù)庫的訪問權(quán)限
$ trove user-revoke-access
顯示用戶信息
$ trove user-show
顯示用戶的權(quán)限
$ trove user-show-access
在一個(gè)數(shù)據(jù)庫實(shí)例中創(chuàng)建一個(gè)數(shù)據(jù)庫
$ trove database-create
列出一個(gè)數(shù)據(jù)庫實(shí)例中的所有數(shù)據(jù)庫
$ trove database-list
刪除一個(gè)數(shù)據(jù)庫實(shí)例中的某個(gè)數(shù)據(jù)庫
$ trove database-delete
創(chuàng)建一個(gè)副本
$ trove create --replica_of
將一個(gè)副本從源數(shù)據(jù)庫分離
$ trove detach-replica
讓一個(gè)副本在副本集合中成為源數(shù)據(jù)庫
$ trove promote-to-replica-source
刪除掛掉的源數(shù)據(jù)庫
$ trove eject-replica-source
設(shè)置副本親和性
$ trove create --replica_of --locality affinity
$ trove create --replica_of --locality anti-affinity
看完了這篇文章,相信你對“Openstack Trove是什么意思”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:OpenstackTrove是什么意思
本文路徑:http://m.rwnh.cn/article26/jcggcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站營銷、網(wǎng)站維護(hù)、App設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)