一、准备虚拟机
两台虚拟机
一台控制节点 controller
4G 4CPU 20G
一台计算机节点compute
8G 4CPU 50G
二、环境配置
1、关闭防火墙
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@compute ~]# systemctl stop firewalld
[root@compute ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
2.关闭SElinux
[root@controller ~]# setenforce 0
[root@controller ~]# vim /etc/selinux/config
SELINUX=disabled
3.同步时间
http://www.ntp.org.cn/pool
安装ntp
[root@controller ~]# yum -y install ntp
[root@controller ~]# ntpdate 120.25.115.20
[root@compute ~]# yum -y install ntp
[root@compute ~]# ntpdate 120.25.115.20
[root@controller ~]# crontab -e
*/30 * * * * /user/sbin/ntpdate 120.25.115.20 &> /dev/null
[root@controller ~]# crontab -l
*/30 * * * * /user/sbin/ntpdate 120.25.115.20 &> /dev/null
[root@compute ~]# crontab -e
[root@compute ~]# crontab -l
*/30 * * * * /user/sbin/ntpdate 120.25.115.20 &> /dev/null
*时间表示意思
*/30 * * * *
分钟 (0-59)
小时(0-23)
天(1-31)
月(1-12)
周
例子:
*/30 每半个小时
0 0 */1 * * 每天同步一次
4.主机名解析
[root@controller ~]# vim /etc/hosts
192.168.204.129 controller
192.168.204.130 compute
[root@controller ~]# scp /etc/hosts root@192.168.204.130:/etc/hosts
[root@controller ~]# scp /etc/hosts root@192.168.204.130:/etc/hosts
The authenticity of host '192.168.204.130 (192.168.204.130)' can't be established.
ECDSA key fingerprint is 39:07:01:af:1e:a1:0b:c7:f1:1e:0e:68:81:89:87:06.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.204.130' (ECDSA) to the list of known hosts.
root@192.168.204.130's password:
hosts
5.配置OpenStack软件仓库
[root@controller ~]# vim /etc/yum.repos.d/openstack.repo
[openstack]
name=openstack
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/cloud/x86_64/openstack-train/
enabled=1
gpgcheck=0
[root@controller ~]# rsync -av /etc/yum.repos.d/openstack.repo root@192.168.204.130:/etc/yum.repos.d/
root@192.168.204.130's password:
sending incremental file list
openstack.repo
sent 204 bytes received 31 bytes 67.14 bytes/sec
total size is 122 speedup is 0.52
三、软件安装
1.在controller节点安装MySQL数据库
[root@controller ~]# yum -y install mariadb-server python2-PyMySQL
2.修改数据库配置文件
[root@controller ~]# vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.204.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
[root@controller ~]# systemctl start mariadb
[root@controller ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@controller ~]# netstat -antp | grep mysql
tcp6 0 0 :::3306 :::* LISTEN 45666/mysqld
3.安装RabbitMQ
[root@controller ~]# yum -y install rabbitmq-server
[root@controller ~]# systemctl start rabbitmq-server.service
[root@controller ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@controller ~]# netstat -antp | grep beam
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 45999/beam
tcp 0 0 127.0.0.1:52033 127.0.0.1:4369 ESTABLISHED 45999/beam
tcp6 0 0 :::5672 :::* LISTEN 45999/beam
4.添加用户名和密码
[root@controller ~]# rabbitmqctl add_user openstack redhat
Creating user "openstack"
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/"
[root@controller ~]# rabbitmqctl list_users
Listing users
openstack []
guest [administrator]
5.安装memcached
[root@controller ~]# yum -y install memcached python-memcached
[root@controller ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1,192.168.204.129"
[root@controller ~]# systemctl start memcached.service
[root@controller ~]# systemctl enable memcached.service
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@controller ~]# netstat -antp | grep memcached
tcp 0 0 192.168.204.129:11211 0.0.0.0:* LISTEN 3589/memcached
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3589/memcached
tcp6 0 0 ::1:11211 :::* LISTEN 3589/memcached