不少OpenStack服務使用一個SQL數據庫來存儲信息。數據庫一般運行在controller節點。下面安裝步驟進行MariaDB數據庫來用Openstack服務提供信息存儲。OpenStack服務也支持其它SQL數據庫,包括PostgreSQL。html
1.安裝軟件包:python
yum install mariadb mariadb-server python2-PyMySQL
2.建立和編輯/etc/my.cnf.d/openstack.cnf文件,完成如下步驟mysql
l在[mysqld]部分,將bind-address設置爲controller節點的管理IP地址sql
[mysqld]mongodb
…….數據庫
Bind-address=controllerapache
l在[mysqld]部分,添加下面配置緩存
[mysqld]
...
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
1.啓動數據庫並設置開機自啓動ide
systemctl enable mariadb.service
systemctl start mariadb.service
2.經過運行mysql_secure_installation腳原本安裝數據庫服務,在此過程當中須要爲root帳號設置密碼memcached
mysql_secure_installation
Telemetry服務用一個NoSQL數據庫來存儲信息。數據庫一般運行在controller節點。下面步驟是安裝MongoDB。
備註:當Telemetry服務安裝時NoSQL數據庫服務纔是必須要裝的。
1.安裝MongoDB軟件包
yum install mongodb-server mongodb
2.編輯/etc/mongod.conf文件,並完成下面步驟
l將bind_ip配置爲控制節點的管理接口的IP地址
bind_ip = controller
l默認狀況下MongoDB會在/var/lib/mongodb/journal文件夾建立幾個1GB的日誌文件。若是想將每一個日誌文件減到128MB,想將全部的日誌空間限制到512MB,設置smallfiles:
smallfiles = true
你也能夠將日誌關掉,獲取更多信息查看MongoDB manual.
啓動MongDB服務並設置爲開機自啓動。
systemctl enable mongod.service
systemctl start mongod.service
OpenStack用一個message queue來協調各個服務以前的操做和狀態信息。消息隊列服務一般運行在controller節點。OpenStack支持幾種消息隊列服務,包括RabbitMQ, Qpid, 和 ZeroMQ。然而,大多數分佈包的OpenStack支持一個特定的消息隊列服務。因爲大多數分佈部署支持RabbitMQ因此下面步驟安裝的是RabbitMQ。若是你喜歡部署其它的消息隊列服務,查閱相關文件來安裝。
1.安裝軟件包
yum install rabbitmq-server
2.啓動消息隊列服務並設置開機自啓動
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
3.添加openstack用戶
rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
...done.
將RABBIT_PASS替換成合適的密碼
4.修改權限,容許openstack用戶有讀寫權
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.
爲服務提供認證機制的Identity服務使用memcached來緩存令牌。Memcached服務一般運行在controller節點。在生產環境上部署,建議使用結防火牆,認證和加密來保護它。
安裝軟件包
yum install memcached python-memcached
啓動Memcached服務並設置開機自啓動
systemctl enable memcached.service
systemctl start memcached.service