A. Base Package Installation
1. Install EPEL warehouse
# rpm -ivh [url]http://mirrors.aliyun.com/epel ... h.rpm[/url]
2. Install OpenStack warehouse
# yum install -y centos-release-openstack-queens
3. Install OpenStack client
# yum install -y python-openstackclient
4. Install the management pack openstack SELinux
# yum install -y openstack-selinux
Two .MySQL database deployment
1.MySQL installation
[root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQL
2. Modify the MySQL configuration file
[Linux-node1 the root @ ~] # Vim /etc/my.cnf.d/openstack.cnf [mysqld] the bind-address = 192.168.56.11 listening IP address provided # default-storage-engine = innodb # Set default storage engine innodb_file_per_table = on # use exclusive table space collation-server = collation utf8_general_ci # default server character-set-server = utf8 # specified when the server is installed by default character set is set max_connections = set the maximum number of connections MySQL # 4096, production set according to the actual situation.
3. Start MySQL Server and set the boot
[root@linux-node1 ~]# systemctl enable mariadb.service [root@linux-node1 ~]# systemctl start mariadb.service
4. Database security settings
[root@linux-node1 ~]# mysql_secure_installation
5.数据库创建
[root@linux-node1 ~]# mysql -u root -p
Enter password:
…
MariaDB [(none)]>
Keystone数据库
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
Glance数据库
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
Nova数据库
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
CREATE DATABASE nova_api;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova';
Neutron 数据库
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';
Cinder数据库
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';
. GRANT ALL PRIVILEGES ON cinder * TO 'cinder' @ '%' IDENTIFIED BY 'cinder';
Three: Message Agent RabbitMQ
1. Installation RabbitMQ
[root@linux-node1 ~]# yum install -y rabbitmq-server
2. Set to open up, and start RabbitMQ
[root@linux-node1 ~]# systemctl enable rabbitmq-server.service [root@linux-node1 ~]# systemctl start rabbitmq-server.service
3. Add openstack users.
[root@linux-node1 ~]# rabbitmqctl add_user openstack openstack Creating user "openstack" ...
4. Give openstack user just created, and create permissions.
[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ...
5. Enable Web monitoring plug-ins
[root@linux-node1 ~]# rabbitmq-plugins list [root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_management