轉到計算節點安裝,首先安裝計算節點軟件包,在第二部分安裝時我們已經裝過了,如果忘記參考下面的安裝命令
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中可以看到出錯提示。