@[TOC](openstack nova控制端(小节4))
mysql
[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1
创建三个数据库
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;
对三个库分别授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
controller1
导入环境变量
[root@controller1 ~]# source scripts/admin_stein.sh
查看用户信息
[root@controller1 ~]# openstack user list
+----------------------------------+-----------+
| ID | Name |
+----------------------------------+-----------+
| 0f584dfa1d2e47599ac6c4235dfeb80d | demo |
| c262b783c3804f20b6ffbf8eab791cd8 | admin |
| c8a6c425605d4701b51e3f954ddbc049 | placement |
| e0b4289866944ab6a062224b7b73a5e1 | glance |
+----------------------------------+-----------+
创建用户
[root@controller1 ~]# openstack user create --domain default --password-prompt nova
User Password: <--密码:nova
Repeat User Password: <--密码:nova
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | 3d6cf6014ee04da69c088ae6b9b9766a |
| enabled | True |
| id | dcd1ed99cdc74410a664eeaaa67f953a |
| name | nova |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
授权
[root@controller1 ~]# openstack role add --project service --user nova admin
创建nova项目实体
[root@controller1 ~]# openstack service create --name nova --description "OpenStack Compute" compute
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Compute |
| enabled | True |
| id | 7b29655f8a1d41f2a263fd82685aafb3 |
| name | nova |
| type | compute |
+-------------+----------------------------------+
注册API
[root@controller1 ~]# openstack endpoint create --region RegionOne compute public http://openstack.123.net:8774/v2.1
+--------------+------------------------------------+
| Field | Value |
+--------------+------------------------------------+
| enabled | True |
| id | 6c68de4128e2409bbc40500378e40878 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7b29655f8a1d41f2a263fd82685aafb3 |
| service_name | nova |
| service_type | compute |
| url | http://openstack.123.net:8774/v2.1 |
+--------------+------------------------------------+
[root@controller1 ~]# openstack endpoint create --region RegionOne compute internal http://openstack.123.net:8774/v2.1
+--------------+------------------------------------+
| Field | Value |
+--------------+------------------------------------+
| enabled | True |
| id | d657e33a560e48478f4d5d51c136c7db |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7b29655f8a1d41f2a263fd82685aafb3 |
| service_name | nova |
| service_type | compute |
| url | http://openstack.123.net:8774/v2.1 |
+--------------+------------------------------------+
[root@controller1 ~]# openstack endpoint create --region RegionOne compute admin http://openstack.123.net:8774/v2.1
+--------------+------------------------------------+
| Field | Value |
+--------------+------------------------------------+
| enabled | True |
| id | 098882a638c94f5aa48a1275f87d120c |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7b29655f8a1d41f2a263fd82685aafb3 |
| service_name | nova |
| service_type | compute |
| url | http://openstack.123.net:8774/v2.1 |
+--------------+------------------------------------+
安装包
[root@controller1 ~]# yum install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-console -y
修改配置文件
[root@controller1 ~]# vim /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack123@openstack.123.net
#my_ip = 192.168.37.101
[api_database]
connection = mysql+pymysql://nova:nova123@openstack.123.net/nova_api
[database]
connection = mysql+pymysql://nova:nova123@openstack.123.net/nova
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_url = http://openstack.123.net:5000/v3
memcached_servers = openstack.123.net:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova
[vnc]
enabled = true
server_listen = 192.168.37.101
server_proxyclient_address = 192.168.37.101
[glance]
api_servers = http://openstack.123.net:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://openstack.123.net:5000/v3
username = placement
password = placement
修改haproxy配置文件
[root@controller1 ~]# vim /etc/haproxy/haproxy.cfg
63 listen mysql
64 bind 192.168.37.101:3306
65 mode tcp
66 server mysql1 192.168.37.105:3306 check inter 3s fall 3 rise 3
67
68 listen memcached
69 bind 192.168.37.101:11211
70 mode tcp
71 server mysql1 192.168.37.105:11211 check inter 3s fall 3 rise 3
72 #添加下面4行信息
73 listen rabbitmq
74 bind 192.168.37.101:5672
75 mode tcp
76 server mysql1 192.168.37.105:5672 check inter 3s fall 3 rise 3
#重启服务
[root@controller1 ~]# systemctl restart haproxy
初始化数据库
[root@controller1 ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller1 ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
[root@controller1 ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
99cf79bc-8ad1-4396-b41e-0da50640a59c <--返回一个ID
[root@controller1 ~]# su -s /bin/sh -c "nova-manage db sync" nova
验证
[root@controller1 ~]# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@openstack.123.net/nova_cell0 | False |
| cell1 | 99cf79bc-8ad1-4396-b41e-0da50640a59c | rabbit://openstack:****@openstack.123.net | mysql+pymysql://nova:****@openstack.123.net/nova | False |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------------+----------+
完成安装
#设置为开机启动
[root@controller1 ~]# systemctl enable openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
#启动服务
[root@controller1 ~]# systemctl start openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
查看openstack环境主机列表
[root@controller1 ~]# openstack host list
+-------------+-------------+----------+
| Host Name | Service | Zone |
+-------------+-------------+----------+
| controller1 | consoleauth | internal |
| controller1 | scheduler | internal |
| controller1 | conductor | internal |
+-------------+-------------+----------+
列出nova服务状态
[root@controller1 ~]# nova service-list
+--------------------------------------+------------------+-------------+----------+---------+-------+------------+-----------------+-------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | Forced down |
+--------------------------------------+------------------+-------------+----------+---------+-------+------------+-----------------+-------------+
| f468a4e0-3f1b-4f1b-abb5-726fb146c75c | nova-consoleauth | controller1 | internal | enabled | down | - | - | False |
| 7e997d79-dc48-47c7-bc9b-9f47b50c798d | nova-scheduler | controller1 | internal | enabled | down | - | - | False |
| f0cf6785-041d-4469-8636-5354493636b2 | nova-conductor | controller1 | internal | enabled | down | - | - | False |
+--------------------------------------+------------------+-------------+----------+---------+-------+------------+-----------------+-------------+