许多 OpenStack 服务维护一个数据库来跟踪重要资源、使用情况和其他信息。缺省情况下,针对此目的指定了单独的 SQLite 数据库,此数据库对于单节点配置很有用。对于多节点配置,建议使用 MySQL 数据库存储此信息。
使用控制器节点的主 IP 地址确定与该节点关联的主名称。
controller# getent hosts controller-IP controller-IP controller-name
controller# pkg install mysql-55
controller# pkg install mysql-55/client
controller# svcadm enable mysql:version_55
controller# mysqladmin -u root password MySQL-root-password
创建 OpenStack 将使用的表。向控制器节点上的服务授予特权,以便提供对于这些数据库的独占访问。使用之前 getent hosts 命令输出的 controller-name。
controller# mysql -u root -p Enter password: MySQL-root-password mysql> create database cinder; mysql> grant all privileges on cinder.* \ -> to 'cinder'@'controller-name' \ -> identified by 'cinder'; mysql> create database glance; mysql> grant all privileges on glance.* \ -> to 'glance'@’controller-name’ \ -> identified by 'glance'; mysql> create database keystone; mysql> grant all privileges on keystone.* \ -> to 'keystone'@’controller-name’ \ -> identified by 'keystone'; mysql> create database nova; mysql> grant all privileges on nova.* \ -> to 'nova'@’controller-name’ \ -> identified by 'nova'; mysql> flush privileges; mysql> quit
controller# pkg install python-mysql