iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 17
0

主題

OpenStack Trove

前言

今天要介紹的主題是資料庫管理套件Trove,他可以來管理資料庫可以自動完成複雜的任務、部屬、配置、修補、輩分、恢復、監視的功能我們在下面討論安裝八!

主要內容

建立資料庫

1.登入資料庫

sudo mysql -u root -p

2.建立資料庫

CREATE DATABASE trove;

3.安全性設定

GRANT ALL PRIVILEGES ON trove.* TO 'trove'@'localhost' IDENTIFIED BY 'TROVE_DBPASS資料庫密碼;
GRANT ALL PRIVILEGES ON trove.* TO 'trove'@'%' IDENTIFIED BY 'TROVE資料庫密碼';

建立使用者

1.登入admin管理員指令模式
2.建立使用者

openstack user create --domain default --password-prompt trove

3.將使用者加入管理群組

openstack role add --project service --user trove admin

4.建立服務

openstack service create --name trove --description "Database" database

5.建立API

openstack endpoint create --region RegionOne database \
public http://controller:8779/v1.0/%\(tenant_id\)s
openstack endpoint create --region RegionOne database \
internal http://controller:8779/v1.0/%\(tenant_id\)s
openstack endpoint create --region RegionOne database \
admin http://controller:8779/v1.0/%\(tenant_id\)s

安裝及編輯套件

1.安裝套件

sudo apt-get install python-trove python-troveclient python-glanceclient \
trove-common trove-api trove-taskmanager trove-conductor -y

2.檢查/etc/trove下面有沒有這檔案api-paste.ini如果沒就下載八
3.編輯設定下方三個檔案

sudo vim /etc/trove/trove.conf
[DEFAULT]
###記錄檔位置
log_dir = /var/log/trove
#驗證API位置
trove_auth_url = http://controller:5000/v2.0
#運算API位置
nova_compute_url = http://controller:8774/v2
#區塊儲存API位置
cinder_url = http://controller:8776/v1
#物件API位置
swift_url = http://controller:8080/v1/AUTH_
#設置提醒主機
notifier_queue_hostname = controller
#訊息模式
rpc_backend = rabbit
#驗證方式
auth_strategy = keystone
# Config option for showing the IP address that nova doles out
add_addresses = True
network_label_regex = ^NETWORK_LABEL$
api_paste_config = /etc/trove/api-paste.ini

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = AMQP密碼

[database]
connection = mysql+pymysql://trove:TROVE資料庫密碼@controller/trove

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = trove
password = TROVE密碼
sudo vim /etc/trove/trove-taskmanager.conf
[DEFAULT]
###記錄檔位置
log_dir = /var/log/trove
#驗證API位置
trove_auth_url = http://controller:5000/v2.0
#運算API位置
nova_compute_url = http://controller:8774/v2
#區塊儲存API位置
cinder_url = http://controller:8776/v1
#物件API位置
swift_url = http://controller:8080/v1/AUTH_
#設置提醒主機
notifier_queue_hostname = controller
#訊息模式
rpc_backend = rabbit
#NOVA登入訊息
nova_proxy_admin_user = admin
nova_proxy_admin_pass = 管理員密碼
nova_proxy_admin_tenant_name = service
taskmanager_manager = trove.taskmanager.manager.Manager
sudo vim /etc/trove/trove-guestagent.conf
[DEFAULT]
###記錄檔位置
log_dir = /var/log/trove
#驗證API位置
trove_auth_url = http://controller:5000/v2.0
#運算API位置
nova_compute_url = http://controller:8774/v2
#區塊儲存API位置
cinder_url = http://controller:8776/v1
#物件API位置
swift_url = http://controller:8080/v1/AUTH_
#設置提醒主機
notifier_queue_hostname = controller
#訊息模式
rpc_backend = rabbit
rabbit_host = controller
rabbit_password = AMQP密碼
nova_proxy_admin_user = admin
nova_proxy_admin_pass = 管理員密碼
nova_proxy_admin_tenant_name = service
trove_auth_url = http://controller:35357/v2.0

3.同步到資料庫

sudo su -s /bin/sh -c "trove-manage db_sync" trove

4.重啟服務
$$在ubuntu要多做一步
到/etc/init中
找到2個檔案

  • trove-taskmanager.conf

    exec start-stop-daemon --start --chdir /var/lib/trove
    --chuid trove:trove --make-pidfile
    --pidfile /var/run/trove/trove-conductor.pid
    --exec /usr/bin/trove-conductor --
    --config-file=/etc/trove/trove-taskmanager.conf ${DAEMON_ARGS}

  • trove-conductor.conf

    exec start-stop-daemon --start --chdir /var/lib/trove
    --chuid trove:trove --make-pidfile
    --pidfile /var/run/trove/trove-conductor.pid
    --exec /usr/bin/trove-conductor --
    --config-file=/etc/trove/trove-conductor.conf ${DAEMON_ARGS}

回到重啟重點

sudo service trove-api restart
sudo service trove-taskmanager restart
sudo service trove-conductor restart

5.驗證服務

trove list

後記

想到這樣的服務就是要給有大量使用並以資料為中心的服務需要這樣的架設環境,大家可以玩玩看喔
希望大家可以在這一個月中讀到非常多的應用技巧,那如果有問題可以以私訊我的方式是使用問題回復,我會盡可能地回答問題,那會在後面統一做回覆,或者如果有想知道的相關的應用也可以提出討論喔。

參考資料

OpenStack
壹讀


上一篇
OpenStack Aodh
下一篇
OpenStack Magnum
系列文
OpenStack-多到數不清的套件改36

尚未有邦友留言

立即登入留言