一 以下步骤在计算节点完成
1 网络相关设置
computer0
修改eth0的IP地址为:
修改eth2为:
重启网卡
2 主机名设置
[root@compute0 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=compute0
3 安装nova
[root@compute0 ~]# yum install -y openstack-nova-compute
4 配置nova
[root@compute0 ~]# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:openstack@controller0/nova
openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller0:5000
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller0
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password nova
[root@compute0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid
[root@compute0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller0
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.20.0.30
openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.20.0.30
openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://controller0:6080/vnc_auto.html
[root@compute0 ~]# openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu
[root@compute0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller0
5 同步ntp时间
[root@compute0 ~]# ntpdate -u 10.20.0.10
25 Feb 21:10:07 ntpdate[2257]: adjust time server 10.20.0.10 offset -0.005200 sec
[root@compute0 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*controller0 LOCAL(0) 6 u 27 64 377 0.203 -23.925 20.732
6 启动nava
[root@compute0 ~]# service libvirtd start
Starting libvirtd daemon:
[root@compute0 ~]# service messagebus start
Starting system message bus:
[root@compute0 ~]# service openstack-nova-compute start
Starting openstack-nova-compute: [ OK ]
[root@compute0 ~]# chkconfig libvirtd on
[root@compute0 ~]# chkconfig messagebus on
[root@compute0 ~]# chkconfig openstack-nova-compute on
7 检查控制节点的服务
[root@controller0 ~]# nova-manage service list
Binary Host Zone Status State Updated_At
nova-consoleauth controller0 internal enabled :-) 2018-02-25 13:16:01
nova-conductor controller0 internal enabled :-) 2018-02-25 13:16:01
nova-cert controller0 internal enabled :-) 2018-02-25 13:16:01
nova-scheduler controller0 internal enabled :-) 2018-02-25 13:16:01
nova-compute compute0 nova enabled :-) 2018-02-25 13:16:03
以下步骤在控制节点完成配置
二 对controller0修正配置一下ntp
[root@controller0 ~]# vi /etc/ntp.conf
server 127.127.1.0
[root@controller0 ~]# /etc/init.d/ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]
[root@controller0 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*LOCAL(0) .LOCL. 5 l 39 64 7 0.000 0.000 0.000
三 安装Nova
[root@controller0 ~]# yum install -y openstack-nova-api openstack-nova-cert openstack-nova-conductor \
> openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
四 在keystone中创建nova相应的用户和角色
[root@controller0 ~]# keystone user-create --name=nova --pass=nova --email=nova@example.com
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | nova@example.com |
| enabled | True |
| id | 0e5748d7ba7349e0a93f115a2545c9c8 |
| name | nova |
| username | nova |
+----------+----------------------------------+
[root@controller0 ~]# keystone user-list
+----------------------------------+--------+---------+--------------------+
| id | name | enabled | email |
+----------------------------------+--------+---------+--------------------+
| 6efb8d6615b84cacb7cbdf0591a66bb7 | admin | True | admin@example.com |
| e9f8d113c0c341a2b7d81099f004c122 | glance | True | glance@example.com |
| 0e5748d7ba7349e0a93f115a2545c9c8 | nova | True | nova@example.com |
+----------------------------------+--------+---------+--------------------+
[root@controller0 ~]# keystone user-role-add --user=nova --tenant=service --role=admin
五 注册nova服务
[root@controller0 ~]# keystone service-create --name=nova --type=compute --description="Nova Compute Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Nova Compute Service |
| enabled | True |
| id | 2c75b9ac84e94795a56fb94712fba1f9 |
| name | nova |
| type | compute |
+-------------+----------------------------------+
[root@controller0 ~]# keystone service-list
+----------------------------------+----------+----------+---------------------------+
| id | name | type | description |
+----------------------------------+----------+----------+---------------------------+
| 04555caea1674cc0bc17e69fa0f9ff38 | glance | image | Glance Image Service |
| b8860e4213ef4b828e5c81b1b9e4d0bb | keystone | identity | Keystone Identity Service |
| 2c75b9ac84e94795a56fb94712fba1f9 | nova | compute | Nova Compute Service |
+----------------------------------+----------+----------+---------------------------+
六 为nova指定endpoint
[root@controller0 ~]# keystone endpoint-create \
> --service-id=$(keystone service-list | awk '/ compute / {print $2}') \
> --publicurl=http://controller0:8774/v2/%\(tenant_id\)s \
> --internalurl=http://controller0:8774/v2/%\(tenant_id\)s \
> --adminurl=http://controller0:8774/v2/%\(tenant_id\)s
+-------------+------------------------------------------+
| Property | Value |
+-------------+------------------------------------------+
| adminurl | http://controller0:8774/v2/%(tenant_id)s |
| id | 5913a3bb83bf417ab99ca0d4707ceb3b |
| internalurl | http://controller0:8774/v2/%(tenant_id)s |
| publicurl | http://controller0:8774/v2/%(tenant_id)s |
| region | regionOne |
| service_id | 2c75b9ac84e94795a56fb94712fba1f9 |
+-------------+------------------------------------------+
[root@controller0 ~]# keystone endpoint-list
+----------------------------------+-----------+------------------------------------------+------------------------------------------+------------------------------------------+----------------------------------+
| id | region | publicurl | internalurl | adminurl | service_id |
+----------------------------------+-----------+------------------------------------------+------------------------------------------+------------------------------------------+----------------------------------+
| 08feef21842442cf9185e748d14d9214 | regionOne | http://controller0:5000/v2.0 | http://controller0:5000/v2.0 | http://controller0:35357/v2.0 | b8860e4213ef4b828e5c81b1b9e4d0bb |
| 5913a3bb83bf417ab99ca0d4707ceb3b | regionOne | http://controller0:8774/v2/%(tenant_id)s | http://controller0:8774/v2/%(tenant_id)s | http://controller0:8774/v2/%(tenant_id)s | 2c75b9ac84e94795a56fb94712fba1f9 |
| 6be86cd7eaf94f3a90b5664a89663746 | regionOne | http://controller0:9292 | http://controller0:9292 | http://controller0:9292 | 04555caea1674cc0bc17e69fa0f9ff38 |
+----------------------------------+-----------+------------------------------------------+------------------------------------------+------------------------------------------+----------------------------------+
七 配置nova MySQL连接以及初始化数据库
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:openstack@controller0/nova
[root@controller0 ~]# openstack-db --init --service nova --password openstack
Please enter the password for the 'root' MySQL user:
Verified connectivity to MySQL.
Creating 'nova' database.
Updating 'nova' database password in /etc/nova/nova.conf
Initializing the nova database, please wait...
Complete!
八 配置nova.conf
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller0
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.20.0.10
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 10.20.0.10
[root@controller0 ~]# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.20.0.10
openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller0:5000
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller0
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password nova
九配置api-paste.ini
openstack-config --set /etc/nova/api-paste.ini filter:authtoken paste.filter_factory keystoneclient.middleware.auth_token:filter_factory
openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_host controller0
openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service
openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova
openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password nova
十 启动服务
[root@controller0 ~]# service openstack-nova-api start
Starting openstack-nova-api: [ OK ]
[root@controller0 ~]# service openstack-nova-cert start
Starting openstack-nova-cert: [ OK ]
[root@controller0 ~]# service openstack-nova-consoleauth start
Starting openstack-nova-consoleauth: [ OK ]
[root@controller0 ~]# service openstack-nova-scheduler start
Starting openstack-nova-scheduler: [ OK ]
[root@controller0 ~]# service openstack-nova-conductor start
Starting openstack-nova-conductor: [ OK ]
[root@controller0 ~]# service openstack-nova-novncproxy start
Starting openstack-nova-novncproxy: [ OK ]
十一 添加到系统服务
[root@controller0 ~]# chkconfig openstack-nova-api on
[root@controller0 ~]# chkconfig openstack-nova-cert on
[root@controller0 ~]# chkconfig openstack-nova-consoleauth on
[root@controller0 ~]# chkconfig openstack-nova-scheduler on
[root@controller0 ~]# chkconfig openstack-nova-conductor on
[root@controller0 ~]# chkconfig openstack-nova-novncproxy on
十二 检查nova服务是否正常
[root@controller0 ~]# nova-manage service list
Binary Host Zone Status State Updated_At
nova-consoleauth controller0 internal enabled :-) 2018-02-25 12:46:21
nova-conductor controller0 internal enabled :-) 2018-02-25 12:46:21
nova-cert controller0 internal enabled :-) 2018-02-25 12:46:21
nova-scheduler controller0 internal enabled :-) 2018-02-25 12:46:21
十三 检查进程
[root@controller0 ~]# ps -ef|grep nova
nova 2977 1 3 20:44 ? 00:00:08 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 2995 1 0 20:44 ? 00:00:02 /usr/bin/python /usr/bin/nova-cert --logfile /var/log/nova/cert.log
nova 3013 1 0 20:44 ? 00:00:02 /usr/bin/python /usr/bin/nova-consoleauth --logfile /var/log/nova/consoleauth.log
nova 3034 1 1 20:44 ? 00:00:03 /usr/bin/python /usr/bin/nova-scheduler --logfile /var/log/nova/scheduler.log
nova 3061 1 2 20:44 ? 00:00:08 /usr/bin/python /usr/bin/nova-conductor --logfile /var/log/nova/conductor.log
nova 3102 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3103 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3104 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3107 3061 0 20:44 ? 00:00:01 /usr/bin/python /usr/bin/nova-conductor --logfile /var/log/nova/conductor.log
nova 3108 3061 0 20:44 ? 00:00:01 /usr/bin/python /usr/bin/nova-conductor --logfile /var/log/nova/conductor.log
nova 3109 3061 0 20:44 ? 00:00:01 /usr/bin/python /usr/bin/nova-conductor --logfile /var/log/nova/conductor.log
nova 3110 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3111 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3112 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3138 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3139 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
nova 3140 2977 0 20:44 ? 00:00:00 /usr/bin/python /usr/bin/nova-api --logfile /var/log/nova/api.log
root 3162 2243 0 20:48 pts/0 00:00:00 grep nova
十三 参考
http://blog.csdn.net/mtldswz312/article/details/77488669
http://blog.csdn.net/weixin_40108079/article/details/78053607
http://blog.csdn.net/weixin_40108079/article/details/78053607