目录

前言

一、安装MariaDB数据库

二、安装 RabbitMQ 消息队列

三、安装 memcached

总结


前言

一、安装MariaDB数据库(controller)

大多数openstack组件使用SQL数据库来存储信息,一般情况下将SQL数据库安装在控制节点(controller),支持MariaDB、 MySQL等。数据库可以安装单独的节点,甚至安装数据库集群。

yum -y install mariadb mariadb-server MySQL-python
vim /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 192.168.122.11
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
#下载MariaDB
yum -y install mariadb mariadb-server MySQL-python

#编辑并创建/etc/my.cnf.d/openstack.cnf
vim /etc/my.cnf.d/openstack.cnf

[mysqld]
#将bind-address的值设为controller的openstack内部管理地址
#这样其他openstack组件就可以通过该地址来访问数据库
bind-address = 192.168.122.11

#启用一些有用的选项和 UTF-8 字符集
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

#开启mariadb.service并设为开机自启动
systemctl start mariadb
systemctl enable mariadb

#初始化数据库,并将数据库root密码设为xyz123
mysql_secure_installation

二、安装 RabbitMQ 消息队列(controller)

消息队列rabbitmq的作用:   组件之间相互通讯的工具      异步方式信息同步

openstack使用消息队列来协调各组件间的操作和状态信息,通常部署在控制节点上(controller)。openstack支持 RabbitMQ、Qpid和 ZeroMQ,但是不同的open stack支持不同的消息队列,大多数opensatck都支持RabbitMQ。

yum -y install erlang socat rabbitmq-server
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
rabbitmqctl add_user openstack xyz123
rabbitmqctl set_user_tags openstack administrator
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
#安装rabbitmq-server及其依赖包erlang、socat
yum -y install erlang socat rabbitmq-server

#开启rabbitmq-server并设为开机自启动
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

#在rabbitmq中创建openstack用户,密码为xyz123
rabbitmqctl add_user openstack xyz123

#将用户openstack设为administrator管理员
rabbitmqctl set_user_tags openstack administrator

#给用户openstack对所有资源有配置,读以及写权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

三、安装 memcached(controller)

memcache作用: memcached缓存openstack各类服务的验证的token令牌。

openstack的keystone身份认证项目。就会利用Memcached来缓存租户的Token等身份信息,从而在用户登陆验证时无需查询存储在MySQL后端数据库中的用户信息,这在数据库高负荷运行下的大型openstack集群中能够极大地提高用户的身份验证过程,在如web管理界面Horizon和对象存储Swift项目也都会利用Memcached来缓存数据以提高客户端的访问请求响应速率。

yum -y install memcached python-memcached
vim /etc/sysconfig/memcached

OPTIONS="-l 127.0.0.1,::1,controller"

systemctl restart memcached
systemctl enable memcached
#安装memcached
yum -y install memcached python-memcached

修改配置文件
vim /etc/sysconfig/memcached
#127.0.0.1代表本机可连接,::1代表ipv6的127.0.0.1
#controller代表绑定的192.168.122.11,其他组件可以通过192.168.122.11来访问memcached
OPTIONS="-l 127.0.0.1,::1,controller"

#重启memcached使配置文件生效并设为开机自启动
systemctl restart memcached
systemctl enable memcached

总结

三大基础服务配置完成