Nova - 计算服务¶
Nova 是 OpenStack 中的核心服务,提供计算服务。通常通过虚拟机 (VM) 提供,但如果 Nova 与 Ironic 结合使用,也可以通过裸机服务器提供。
Nova 默认启用,但可以通过在 globals.yml 中将 enable_nova 设置为 no 来禁用。
虚拟化驱动程序¶
虚拟化驱动程序可以通过 globals.yml 中的 nova_compute_virt_type 来选择。支持的选项有 qemu 和 kvm。默认值为 kvm。
Libvirt¶
有关基于 libvirt 的驱动程序 kvm 和 qemu 的信息,请参阅 Libvirt - Nova 虚拟化驱动程序。
裸机¶
有关使用 Nova 与 Ironic 将计算实例部署到裸机的信息,请参阅 Ironic - 裸机配置。
Fake 驱动程序¶
Fake 驱动程序可用于测试 Nova 的扩展属性,而无需访问大量的硬件资源。它包含在 Nova Fake 驱动程序 中。
控制台¶
控制台驱动程序可以通过 globals.yml 中的 nova_console 来选择。有效选项有 none、novnc 和 spice。此外,可以通过将 enable_nova_serialconsole_proxy 设置为 yes 来启用串行控制台支持。
Cells¶
有关使用 Nova Cells V2 进行扩展的信息,请参阅 Nova Cells。
Vendordata¶
Nova 支持通过称为 Vendordata 的概念将部署者提供的数据传递给实例。如果 Vendordata 文件位于 Kolla 配置中的以下路径,Kolla 会在部署或重新配置 Nova 服务时自动使用它:/etc/kolla/config/nova/vendordata.json。
故障处理¶
计算服务注册¶
在部署期间,Kolla Ansible 会等待 Nova 计算服务进行注册。默认情况下,如果计算服务在超时之前未注册,则该主机将在 Ansible 运行中标记为失败。这种行为在规模较大、故障更频繁的情况下很有用。
或者,要使单元中的所有主机在任何计算服务失败注册时都失败,请将 nova_compute_registration_fatal 设置为 true。
通过配置文件管理资源提供程序¶
在 Victoria 周期中,Nova 合并了通过 配置文件 管理资源提供程序的支持。
Kolla Ansible 将此功能的使用限制为每个 Nova 计算服务的一个配置文件,该配置文件通过 Ansible 库存组/主机变量定义。这样做是为了鼓励用户单独配置每个计算服务,以便在添加更多资源时,现有的计算服务无需重新启动。
例如,想要为特定主机配置带有 GPU 的计算资源的用户可以将以下文件添加到 host_vars
[host_vars]$ cat gpu_compute_0001
nova_cell_compute_provider_config:
meta:
schema_version: '1.0'
providers:
- identification:
name: $COMPUTE_NODE
inventories:
additional:
- CUSTOM_GPU:
total: 8
reserved: 0
min_unit: 1
max_unit: 1
step_size: 1
allocation_ratio: 1.0
可以使用组变量以覆盖多台机器。
由于格式错误的配置文件会阻止 Nova 计算服务启动,因此应首先按照 文档 中所述对其进行验证。然后可以重新配置 Nova 计算服务以应用更改。
要删除资源提供程序配置,最简单的方法是在不指定任何库存或特征的情况下将组/主机变量保留在原位。这将有效地在重新启动 Nova 计算服务时删除配置。如果您选择在主机上取消定义 nova_cell_compute_provider_config,则必须手动从容器内部删除生成的配置文件,或者重新创建容器。