安装并配置 Red Hat Enterprise Linux 和 CentOS 的计算节点¶
本节描述了如何在计算节点上安装和配置计算服务。该服务支持多种 hypervisor 来部署实例或虚拟机 (VM)。为了简单起见,此配置在支持虚拟机硬件加速的计算节点上使用快速模拟器 (QEMU) hypervisor 和基于内核的 VM (KVM) 扩展。在旧版硬件上,此配置使用通用的 QEMU hypervisor。您可以进行少量修改,按照这些说明水平扩展您的环境,添加额外的计算节点。
注意
本节假定您正在逐步按照本指南中的说明配置第一个计算节点。如果您想配置额外的计算节点,请以类似于第一个计算节点的方式准备它们,如 示例架构 部分所示。每个额外的计算节点都需要一个唯一的 IP 地址。
安装和配置组件¶
注意
默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,配置片段中的省略号 (...) 表示您应该保留的潜在默认配置选项。
安装软件包
# dnf install openstack-nova-compute
编辑
/etc/nova/nova.conf文件并完成以下操作在
[DEFAULT]部分中,配置RabbitMQ消息队列访问[DEFAULT] # ... transport_url = rabbit://openstack:RABBIT_PASS@controller
将
RABBIT_PASS替换为您为RabbitMQ中的openstack帐户选择的密码。在
[service_user]部分中,配置 服务用户令牌[service_user] send_service_user_token = true auth_url = https://controller/identity auth_type = password project_domain_name = Default project_name = service user_domain_name = Default username = nova password = NOVA_PASS
将
NOVA_PASS替换为您在 Identity 服务中为nova用户选择的密码。在
[DEFAULT]部分中,配置my_ip选项[DEFAULT] # ... my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
将
MANAGEMENT_INTERFACE_IP_ADDRESS替换为计算节点上管理网络接口的 IP 地址,通常对于 示例架构 中的第一个节点,为 10.0.0.31。配置 /etc/nova/nova.conf 中的
[neutron]部分。请参阅 网络服务安装指南 以获取更多详细信息。在
[vnc]部分中,启用并配置远程控制台访问[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 浏览器访问此计算节点上实例的远程控制台的位置。
注意
如果访问远程控制台的 Web 浏览器位于无法解析
controller主机名的主机上,则必须将controller替换为控制器节点的管理接口 IP 地址。在
[glance]部分中,配置 Image 服务 API 的位置[glance] # ... api_servers = http://controller:9292
在
[oslo_concurrency]部分中,配置锁路径[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_PASS
将
PLACEMENT_PASS替换为您在 Identity 服务中为placement用户选择的密码。注释掉[placement]部分中的任何其他选项。
完成安装¶
确定您的计算节点是否支持虚拟机的硬件加速
$ egrep -c '(vmx|svm)' /proc/cpuinfo
如果此命令返回的值为
one 或 greater,则您的计算节点支持硬件加速,通常不需要额外的配置。如果此命令返回的值为
zero,则您的计算节点不支持硬件加速,您必须配置libvirt以使用 QEMU 而不是 KVM。编辑
/etc/nova/nova.conf文件中的[libvirt]部分如下[libvirt] # ... virt_type = qemu
启动计算服务及其依赖项,并配置它们在系统启动时自动启动
# systemctl enable libvirtd.service openstack-nova-compute.service # systemctl start libvirtd.service openstack-nova-compute.service
注意
如果 nova-compute 服务无法启动,请检查 /var/log/nova/nova-compute.log。错误消息 AMQP server on controller:5672 is unreachable 很可能表明控制器节点上的防火墙阻止了对端口 5672 的访问。配置防火墙以在控制器节点上打开端口 5672,并在计算节点上重新启动 nova-compute 服务。
将计算节点添加到单元数据库¶
重要提示
在 controller 节点上运行以下命令。
获取管理员凭据以启用仅管理员 CLI 命令,然后确认数据库中是否存在计算主机
$ . admin-openrc $ openstack compute service list --service nova-compute +----+-------+--------------+------+-------+---------+----------------------------+ | ID | Host | Binary | Zone | State | Status | Updated At | +----+-------+--------------+------+-------+---------+----------------------------+ | 1 | node1 | nova-compute | nova | up | enabled | 2017-04-14T15:30:44.000000 | +----+-------+--------------+------+-------+---------+----------------------------+
发现计算主机
# 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 compute nodes from cell 'cell1': ad5a5985-a719-4567-98d8-8d148aaae4bc Found 1 computes in cell: ad5a5985-a719-4567-98d8-8d148aaae4bc Checking host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3 Creating host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
注意
当您添加新的计算节点时,必须在控制器节点上运行
nova-manage cell_v2 discover_hosts以注册这些新的计算节点。或者,您可以在/etc/nova/nova.conf中设置适当的间隔[scheduler] discover_hosts_in_cells_interval = 300