转到计算节点安装,首先安装计算节点软件包,在第二部分安装时我们已经装过了,如果忘记参考下面的安装命令
yum install openstack-nova-compute -y
一、修改防火墙配置
firewall-cmd --add-port=5900-5999/tcp --permanent && firewall-cmd --reload && firewall-cmd --list-all
二、修改nova配置
编辑/etc/nova/nova.conf
文件并完成以下操作:
在计算节点上不需要和数据库直接通信,所以比起在控制节点上的nova配置,基本上就是减少了数据库部分的配置,其它的需要修改一下相关的监听IP地址即可。
-
在该
[DEFAULT]
部分中,仅启用计算和元数据API -
enabled_apis = osapi_compute,metadata
-
transport_url = rabbit://openstack:openstack@controller
-
my_ip =10.37.6.24
[api] auth_strategy = keystone [keystone_authtoken] auth_url = http://controller:5000/v3 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = nova
-
use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver
-
默认情况下,Compute使用内部防火墙服务。由于Networking包含防火墙服务,因此必须使用
nova.virt.firewall.NoopFirewallDriver
防火墙驱动程序禁用Compute防火墙服务。 [vnc] enabled = true server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = http://controller:6080/vnc_auto.html - 服务器组件侦听所有IP地址,并且代理组件仅侦听计算节点的管理接口IP地址。基本URL指示您可以使用Web浏览器访问此计算节点上的实例的远程控制台的位置。
-
[glance] api_servers = http://controller:9292
-
[oslo_concurrency] lock_path = /var/lib/nova/tmp
在该
[placement]
部分中,配置Placement API:[placement] region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://controller:5000/v3 username = placement password = placement
汇总看一下nova.conf的配置
[root@compute ~]# egrep ^\\[\|^[a-z] /etc/nova/nova.conf
[DEFAULT]
my_ip=10.37.6.24
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata
transport_url=rabbit://openstack:openstack@controller
[api]
auth_strategy=keystone
[glance]
api_servers=http://controller:9292
[keystone_authtoken]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova
[libvirt]
virt_type=kvm
[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://controller:5000/v3
username = placement
password = placement
[vnc]
enabled=true
server_listen=0.0.0.0
server_proxyclient_address=$my_ip
novncproxy_base_url=http://controller:6080/vnc_auto.html
二、检查设备硬件是否支持KVM虚拟
egrep -c '(vmx|svm)' /proc/cpuinfo
只要大于0即可,大于0就可在上面的libervirt中把type设置为kvm,否则就只能设置为QEMU模式。
三、启动Compute服务及其依赖项,并将它们配置为在系统引导时自动启动:
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service
四、将计算节点添加至单元数据库
下面的操作需要切换会控制节点,controller 10.37.6.23上操作
openstack compute service list --service nova-compute
五、发现计算节点
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
Found 2 cell mappings.
Skipping cell0 since it does not contain hosts.
Getting computes from cell 'cell1': 942b93d2-8ff8-4f0e-9175-1547be28a6a0
Found 0 unmapped computes in cell: 942b93d2-8ff8-4f0e-9175-1547be28a6a0
也可以通过在nova配置文件中修改配置,设置成nova定时自动发现计算节点
[scheduler]
discover_hosts_in_cells_interval = 300
六、总结
nova计算节点要通过rabbitmq与控制节点通信,所以控制节点的rabbitmq监听端口5672必须开放,否则出现计算节点的计算服务无法启动故障,此时在/var/log/nova/nova.log中可以看到出错提示。