Database 安装
安装SQL数据库
很多OpenStack服务使用一个SQL数据库来存储信息。数据库通常运行在controller节点。下面安装步骤进行MariaDB数据库来用Openstack服务提供信息存储。OpenStack服务也支持其它SQL数据库,包括PostgreSQL。
安装和配置组件
1.安装软件包:
yum install mariadb mariadb-server python2-PyMySQL
2.创建和编辑/etc/my.cnf.d/openstack.cnf文件,完成以下步骤
l在[mysqld]部分,将bind-address设置为controller节点的管理IP地址
[mysqld]
…….
Bind-address=controller
l在[mysqld]部分,添加下面配置
[mysqld]
...
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
完成安装
1.启动数据库并设置开机自启动
systemctl enable mariadb.service
systemctl start mariadb.service
2.通过运行mysql_secure_installation脚本来安装数据库服务,在此过程中需要为root账号设置密码
mysql_secure_installation
安装NoSQL 数据库
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
安装Message queue
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.
安装Memcached
为服务提供认证机制的Identity服务使用memcached来缓存令牌。Memcached服务通常运行在controller节点。在生产环境上部署,建议使用结防火墙,认证和加密来保护它。
安装和配置组件
安装软件包
yum install memcached python-memcached
完成安装
启动Memcached服务并设置开机自启动
systemctl enable memcached.service
systemctl start memcached.service