Feature Support Matrix

在考虑哪些功能应该标记为强制时,应用了以下一般指导原则

  • 包容性 - 人们已经展示了能够有效地使用各种虚拟化技术,这些技术具有广泛不同的功能集。 尽可能保持需求具有包容性,避免猜测用户可能希望将云计算服务用于什么目的。

  • 引导启动 - 一个实用的用例测试是考虑从一个空的数据中心开始,配备新机器和网络连接。 看看为了让用户实例运行并在网络上处理工作,计算服务需要哪些最低限度的功能。

  • 竞争 - 云计算服务领域的早期领导者是 Amazon EC2。 检查一个功能是否应该强制,一个理智的方法是考虑它是否在 EC2 的第一个公共版本中可用。 尽管 EC2 的功能集相当狭窄,但它在许多用例中都得到了非常广泛的应用。 因此,它说明了为了完成有用的工作,不必将许多功能视为强制性的。

  • 现实 - 目前 Nova 附带了许多 virt 驱动程序,每个驱动程序都有自己支持的功能集。 任何至少在一个已经包含在树中的 virt 驱动程序中缺失的功能,都必须推断为可选的,直到所有树中的驱动程序都支持它。 这并不排除基于上述原则,目前可选的功能在以后某个日期成为强制的可能性。

摘要

特性 状态 Ironic Libvirt KVM (aarch64) Libvirt KVM (ppc64) Libvirt KVM (s390x) Libvirt KVM (x86) Libvirt LXC Libvirt QEMU (x86) Libvirt Virtuozzo CT Libvirt Virtuozzo VM VMware vCenter zVM
将块存储卷附加到实例 可选
将带有标签的块设备附加到实例 可选
从实例分离块存储卷 可选
扩展附加到实例的块存储卷 可选 ? ? ?
将虚拟网络接口附加到实例 可选
将带有标签的虚拟网络接口附加到实例 可选 ?
从实例分离虚拟网络接口 可选
将主机设置为维护模式 可选
从主机迁移实例 可选 ? ? ? ? ? ?
重建实例 可选 ?
重建基于卷的实例 可选 ?
来宾实例状态 mandatory
来宾主机运行时间 可选
来宾主机 IP 可选
在主机之间实时迁移实例 可选
强制实时迁移完成 可选
中止正在进行或排队的实时迁移 可选 ? ?
启动实例 mandatory
停止实例 CPU(暂停) 可选
重启实例 可选
救援实例 可选 ?
调整实例大小 可选
恢复实例 可选
设置实例管理员密码 可选 ?
保存实例磁盘的快照 可选
挂起实例 可选
交换块存储卷 可选 ?
关闭实例 mandatory
触发崩溃转储 可选 ?
恢复实例 CPU(取消暂停) 可选
uefi 启动 可选
设备标签 可选 ? ?
静默 可选 ?
取消静默 可选 ?
将块存储卷附加到多个实例 可选 ?
将加密的块存储卷附加到服务器 可选 ? ? ? ?
使用受信任的证书验证镜像 可选
基于文件的内存 可选 ? ? ?
报告 CPU 特性 可选 ?
带有资源请求的 SR-IOV 端口 可选
使用安全加密内存启动实例 可选
缓存基本镜像以加快实例启动速度 可选 ?
使用模拟的可信平台模块 (TPM) 启动实例 可选
使用无状态固件启动实例 可选

细节

  • 将块存储卷附加到实例

    状态:可选。

    CLI 命令

    • nova volume-attach <server> <volume>

    说明:附加卷操作提供了一种将额外的块存储热插到正在运行的实例中的方法。 这允许在不中断服务的情况下扩展存储容量。 在云模型中,通常的做法是启动具有大存储的新实例,因此能够热插额外的存储是针对那些将实例视为宠物而非牲畜的情况。 因此,此操作不被认为需要支持。

    驱动程序支持

    • Ironic:缺失
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x):完成
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:缺失
    • Libvirt Virtuozzo VM:完成
    • VMware vCenter:完成
    • zVM:缺失

  • 将带有标签的块设备附加到实例

    状态:可选。

    CLI 命令

    • nova volume-attach <server> <volume> [--tag <tag>]

    说明:将带有标签的块设备附加到现有的服务器实例。 有关更多信息,请参阅“设备标签”。

    驱动程序支持

    • Ironic:缺失
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x):完成
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:缺失
    • Libvirt Virtuozzo VM:完成
    • VMware vCenter:缺失
    • zVM:缺失

  • 从实例分离块存储卷

    状态:可选。

    CLI 命令

    • nova volume-detach <server> <volume>

    说明:请参阅附加卷操作的说明。

    驱动程序支持

    • Ironic:缺失
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x):完成
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:缺失
    • Libvirt Virtuozzo VM:完成
    • VMware vCenter:完成
    • zVM:缺失

  • 扩展附加到实例的块存储卷

    状态:可选。

    CLI 命令

    • cinder extend <volume> <new_size>

    说明:扩展卷操作提供了一种扩展附加卷大小的方法。 这允许在不中断服务的情况下扩展卷大小。 在云模型中,通常的做法是启动具有大存储的新实例,因此能够扩展附加卷的大小是针对那些将实例视为宠物而非牲畜的情况。 因此,此操作不被认为需要支持。

    驱动程序支持

    • Ironic:缺失
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):未知
    • Libvirt KVM (s390x):未知
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:缺失
    • Libvirt Virtuozzo VM:未知
    • VMware vCenter:缺失
    • zVM:缺失

  • 将虚拟网络接口附加到实例

    状态:可选。

    CLI 命令

    • nova interface-attach <server>

    说明:附加接口操作提供了一种将额外的接口热插到正在运行的实例中的方法。 热插支持因来宾操作系统而异,并且某些来宾需要重新启动才能检测到新接口。 此操作允许扩展接口功能,而不会中断服务。 在云模型中,通常的做法是启动具有更多接口的新实例。

    驱动程序支持

    • Ironic:完成
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x):完成
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:完成
    • Libvirt Virtuozzo VM:完成
    • VMware vCenter:完成
    • zVM:缺失

  • 将带有标签的虚拟网络接口附加到实例

    状态:可选。

    CLI 命令

    • nova interface-attach <server> [--tag <tag>]

    说明:将带有标签的虚拟网络接口附加到现有的服务器实例。 有关更多信息,请参阅“设备标签”。

    驱动程序支持

    • Ironic:缺失
    • Libvirt KVM (aarch64):未知
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x):完成
    • Libvirt KVM (x86):完成
    • Libvirt LXC:缺失
    • Libvirt QEMU (x86):完成
    • Libvirt Virtuozzo CT:缺失
    • Libvirt Virtuozzo VM:完成
    • VMware vCenter:缺失
    • zVM:缺失

  • 从实例分离虚拟网络接口

    状态:可选。

    CLI 命令

    • nova interface-detach <server> <port_id>

    说明:请参阅附加接口操作的说明。

    驱动程序支持

    • Ironic:完成
    • Libvirt KVM (aarch64):完成
    • Libvirt KVM (ppc64):完成
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 将主机设置为维护模式

    状态:可选。

    CLI 命令

    • nova host-update <host>

    说明:此操作允许将主机置于维护模式,自动触发任何正在运行的实例迁移到其他主机,并防止启动新的实例。这不被认为是一个必须支持的操作。需要实现的驱动程序方法是“host_maintenance_mode”和“set_host_enabled”。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): missing
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): missing
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 从主机迁移实例

    状态:可选。

    CLI 命令

    • nova evacuate <server>
    • nova host-evacuate <host>

    说明:云环境中可能出现的情况之一是计算节点发生故障。在这种情况下,故障主机的实例可以迁移到另一个主机。假设旧主机不太可能重新启动,否则将拒绝疏散尝试。当实例移动到新主机时,它们的卷将被重新连接,并且本地存储的数据将被丢弃。这与重建的方式相同。这不被认为是一个必须支持的操作。

    驱动程序支持

    • Ironic: unknown
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): unknown
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: unknown
    • Libvirt QEMU (x86): unknown
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: unknown
    • zVM: unknown

  • 重建实例

    状态:可选。

    CLI 命令

    • nova rebuild <server> <image>

    说明:可能的使用场景是需要为实例设置其他属性,nova 将清除系统中的所有现有数据,并使用给定的信息(如“metadata”和“personalities”)重新创建 VM。虽然这不被认为是一个必须支持的操作。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: unknown

  • 重建基于卷的实例

    状态:可选。

    CLI 命令

    • openstack server rebuild --reimage-boot-volume --image <image> <server>

    说明:这将擦除卷备份实例的根卷中的所有现有数据。此功能从 microversion 2.93 及更高版本开始可用。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: unknown
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 来宾实例状态

    状态:强制。

    说明:提供有关来宾实例的电源状态的实时信息。由于计算管理器使用电源状态来跟踪来宾的变化,因此认为此操作必须支持。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 来宾主机运行时间

    状态:可选。

    说明:返回主机自通电以来的运行时间,用于报告虚拟机监控程序状态。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: complete

  • 来宾主机 IP

    状态:可选。

    说明:返回此主机的 IP,用于执行调整大小和迁移时使用。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 在主机之间实时迁移实例

    状态:可选。

    CLI 命令

    • nova live-migration <server>
    • nova host-evacuate-live <host>

    注意:实时迁移提供了一种将实例从一个计算主机迁移到另一个计算主机的方法。管理员可以使用此功能从需要进行维护任务的主机上撤离实例,但这可能无法帮助主机已经发生故障的情况。通常,实例被认为是牲畜而不是宠物,因此如果需要主机维护,实例可能会被杀死。对于基于容器的虚拟化,某些 hypervisor 提供实时迁移操作的支持在技术上具有挑战性。因此,此操作不被认为是必须支持的。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 强制实时迁移完成

    状态:可选。

    CLI 命令

    • nova live-migration-force-complete <server> <migration>

    注意:实时迁移提供了一种将正在运行的实例迁移到另一个计算主机的方法。但如果实例具有较高的内存或磁盘页面访问速率,有时可能无法完成。此操作为用户提供了一个帮助实时迁移进度的选项。用于完成实时迁移的机制取决于底层虚拟化子系统的功能。如果使用 libvirt/qemu 并且启用了 post-copy 功能,则强制完成操作将导致切换到 post-copy 模式。否则,实例将被暂停,直到迁移完成或中止。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): complete

      注意:需要 libvirt>=1.3.3,qemu>=2.5.0

    • Libvirt KVM (s390x): complete

      注意:需要 libvirt>=1.3.3,qemu>=2.5.0

    • Libvirt KVM (x86): complete

      注意:需要 libvirt>=1.3.3,qemu>=2.5.0

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete

      注意:需要 libvirt>=1.3.3,qemu>=2.5.0

    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 中止正在进行或排队的实时迁移

    状态:可选。

    CLI 命令

    • nova live-migration-abort <server> <migration>

    注意:实时迁移提供了一种将正在运行的实例迁移到另一个计算主机的方法。但如果实例具有较高的内存或磁盘页面访问速率,或者由于队列中存在过多的正在进行的实时迁移作业而陷入排队状态,则有时可能需要大量时间才能完成。此操作为用户提供了一个中止正在进行的实时迁移的选项。当实时迁移作业仍处于“排队”或“准备”状态时,无论底层 hypervisor 的类型如何,都可以中止它,但一旦作业状态更改为“运行”,只有部分 hypervisor 支持此功能。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: unknown
    • Libvirt Virtuozzo VM: unknown
    • VMware vCenter: missing
    • zVM: missing

  • 启动实例

    状态:强制。

    注意:将预先存在的正在运行的虚拟机导入到主机被认为不在云范例的范围内。因此,此操作必须在驱动程序中支持。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 停止实例 CPU(暂停)

    状态:可选。

    CLI 命令

    • nova pause <server>

    注意:停止实例的 CPU 可以被认为是大致等同于休眠到 RAM。实例仍然存在于内存中,但执行已停止。然而,问题是,没有机制可以告知客户机操作系统发生这种情况,因此在取消暂停时,其时钟将不再报告正确的时间。出于这个原因,hypervisor 供应商通常不鼓励使用此功能,并且有些甚至没有实现它。因此,此操作被认为是可选的,可以在驱动程序中支持。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: complete

  • 重启实例

    状态:可选。

    CLI 命令

    • nova reboot <server>

    注意:客户机操作系统管理员可以从实例内部触发优雅的重新启动。主机发起的优雅重新启动需要客户机配合,而非优雅的重新启动可以通过停止+启动的组合来实现。因此,此操作被认为是可选的。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 救援实例

    状态:可选。

    CLI 命令

    • nova rescue <server>

    注意:救援操作以特殊配置启动实例,通过从特殊的根磁盘镜像启动。目标是允许管理员恢复损坏的虚拟机的状态。通常,云模型认为实例是牲畜,因此如果实例损坏,通常的期望是将其丢弃并创建一个新的实例。因此,此操作被认为是可选的,可以在驱动程序中支持。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 调整实例大小

    状态:可选。

    CLI 命令

    • nova resize <server> <flavor>

    说明: resize 操作允许用户将正在运行的实例更改为与不同 flavor 的大小相匹配。 许多不同的 flavor 属性可能需要更新。 通常,对于 hypervisor 来说,支持更改正在运行的实例的所有相关配置设置在技术上具有挑战性。 因此,此操作被认为驱动程序支持是可选的。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 恢复实例

    状态:可选。

    CLI 命令

    • nova resume <server>

    说明: 请参阅 suspend 操作的说明

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 设置实例管理员密码

    状态:可选。

    CLI 命令

    • nova set-password <server>

    说明: 提供了一种机制来(重)置实例操作系统内管理员帐户的密码。 这要求 hypervisor 具有与正在运行的客户操作系统通信的方式。 鉴于现有操作系统的广泛范围,通常不期望在一般情况下实现这一点。 configdrive 和 metadata 服务都提供了一种在初始启动时设置管理员密码的机制。 在此操作不可用的情况下,管理员只需登录到客户机并在正常方式下更改密码,因此这只是一个方便的优化。 因此,驱动程序支持此操作不被认为是强制性的。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): complete

      说明: 需要 libvirt>=1.2.16 和 hw_qemu_guest_agent。

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete

      说明: 需要 libvirt>=1.2.16 和 hw_qemu_guest_agent。

    • Libvirt Virtuozzo CT: complete

      说明: 需要 libvirt>=2.0.0

    • Libvirt Virtuozzo VM: complete

      说明: 需要 libvirt>=2.0.0

    • VMware vCenter: missing
    • zVM: missing

  • 保存实例磁盘的快照

    状态:可选。

    CLI 命令

    • nova image-create <server> <name>

    说明: 快照操作允许保存实例根磁盘的当前状态并将其上传回 glance 镜像存储库。 稍后可以使用此保存的镜像启动实例。 实际上,这使得临时的实例根磁盘成为半持久性存储,因为即使在客户机不再运行时,它也会被保留。 一般来说,期望根磁盘是临时的,因此不能假定可以拍摄快照。 因此,驱动程序支持此操作不被认为是强制性的。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 挂起实例

    状态:可选。

    CLI 命令

    • nova suspend <server>

    说明: 暂停实例可以被认为是大致等同于挂起到磁盘。 实例不再消耗任何 RAM 或 CPU,其实时运行状态已保存在磁盘上的文件中。 稍后可以恢复它,此时它应该从停止的地方继续执行。 与停止实例 CPU 类似,它受到客户机操作系统通常会留下一个不再显示正确时间的时钟的影响。 对于基于容器的虚拟化解决方案,此操作在技术上具有挑战性并且是积极研究的领域。 此操作倾向于将实例视为宠物而不是牲畜,因为对于牲畜来说,终止实例会更简单而不是暂停它。 因此,此操作被认为是可选的支持。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: missing

  • 交换块存储卷

    状态:可选。

    CLI 命令

    • nova volume-update <server> <attachment> <volume>

    说明: swap volume 操作是一种更改正在运行的实例,使其附加的卷由主机中的不同存储支持的机制。 另一种选择是简单地终止现有实例并生成使用新存储的实例。 换句话说,此操作主要针对宠物用例而不是牲畜,但是,它对于卷服务中的卷迁移是必需的。 这被认为是可选的支持。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: missing

  • 关闭实例

    状态:强制。

    CLI 命令

    • nova delete <server>

    说明: 终止虚拟机的能力对于云用户停止使用资源并避免无限期持续的计费是必需的。 因此,此操作必须在驱动程序中支持。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete

      说明: 在最新的 Ubuntu Trusty 内核来自安全存储库 (3.13.0-76-generic) 时会失败,但在上游 3.13.x 内核以及默认 Ubuntu Trusty 最新内核 (3.13.0-58-generic) 中有效。

    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: complete
    • zVM: complete

  • 触发崩溃转储

    状态:可选。

    CLI 命令

    • nova trigger-crash-dump <server>

    说明:触发崩溃转储操作是一种在实例中触发崩溃转储的机制。该功能通常通过向实例注入 NMI(不可屏蔽中断)来实现。它提供了一种将生产内存镜像转储为转储文件的手段,这对用户很有用。因此,此操作被认为是可以选择支持的。

    驱动程序支持

    • Ironic: complete
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 恢复实例 CPU(取消暂停)

    状态:可选。

    CLI 命令

    • nova unpause <server>

    说明:请参阅“停止实例 CPU”操作的说明。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: complete

  • uefi 启动

    状态:可选。

    说明:这允许用户使用 UEFI 固件启动来访机。

    驱动程序支持

    • Ironic: partial

      说明:取决于硬件支持

    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: complete
    • zVM: missing

  • 设备标签

    状态:可选。

    CLI 命令

    • nova boot

    说明:这允许用户在创建服务器实例时在虚拟设备上设置标签。设备标签用于标识虚拟设备元数据,如在元数据 API 和配置驱动器上公开的那样。例如,标记为“nic1”的网络接口将出现在元数据中,以及其总线(例如:PCI)、总线地址(例如:0000:00:02.0)、MAC 地址和标签(nic1)。如果定义了多个网络,它们在来宾操作系统中出现的顺序不一定反映服务器启动请求中给出的顺序。来宾不应依赖设备顺序来推断有关其网络设备的信息。相反,应使用设备角色标签。设备标签可以应用于虚拟网络接口和块设备。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: unknown
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: unknown
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: missing

  • 静默

    状态:可选。

    说明:为准备快照而使指定的实例进入静默状态。对于 libvirt,来宾文件系统将通过 qemu 代理被冻结。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 取消静默

    状态:可选。

    说明:请参阅静默操作的说明。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 将块存储卷附加到多个实例

    状态:可选。

    CLI 命令

    • nova volume-attach <server> <volume>

    说明:多挂载卷操作是对挂载卷操作的扩展。它允许将单个卷挂载到多个实例。此操作不被认为必须支持。请注意,对于 libvirt 驱动程序,仅在 qemu<2.10 或 libvirt>=3.10 时才支持此功能。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: missing

  • 将加密的块存储卷附加到服务器

    状态:可选。

    CLI 命令

    • nova volume-attach <server> <volume>

    说明:这与挂载卷操作相同,只是使用加密的块设备。加密卷由块存储服务中的管理员配置的卷类型控制。由于挂载卷是可选的,因此此功能对于计算驱动程序来说也是可选的。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): unknown
    • Libvirt KVM (s390x): unknown
    • Libvirt KVM (x86): complete

      说明:对于 QEMU 对加密卷的本机解密(和 rbd 支持),需要 QEMU>=2.6.0 和 libvirt>=2.2.0,并且仅支持“luks”类型提供程序。否则,同时支持“luks”和“cryptsetup”类型,但不是本机支持,即并非所有卷类型都受支持。

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete

      说明:适用与 KVM x86 相同的限制。

    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: unknown
    • VMware vCenter: missing
    • zVM: missing

  • 使用受信任的证书验证镜像

    状态:可选。

    CLI 命令

    • nova boot --trusted-image-certificate-id ...

    说明:由于受信任镜像认证验证由云部署程序配置,因此被认为是可选的。但是,它是一个与 virt 无关的功能,因此所有 virt 驱动程序都不应有理由不支持该功能,因为它主要是在下载镜像时将用户请求传递到 virt 驱动程序。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: complete
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: missing
    • zVM: missing

  • 基于文件的内存

    状态:可选。

    说明:Openstack 中的文件支持内存功能允许 Nova 节点从文件后端存储提供客户机内存。此机制使用 libvirt 文件内存源,导致客户机实例内存在 libvirt 内存后端目录中分配为文件。只有 qemu>2.6 和 libvirt>4.0.0 才支持此功能。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): unknown
    • Libvirt KVM (s390x): unknown
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 报告 CPU 特性

    状态:可选。

    说明:OpenStack 中的报告 CPU 特性功能允许 Nova 节点根据 CPU 模式配置报告其 CPU 特性。这使用户能够根据所需的 CPU 特性启动实例。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): unknown
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 带有资源请求的 SR-IOV 端口

    状态:可选。

    CLI 命令

    • nova boot --nic port-id <neutron port with resource request> ...

    说明:为了支持带有资源请求的 neutron SR-IOV 端口(vnic_type=direct 或 vnic_type=macvtap),virt 驱动程序需要在 ComputeDriver.get_available_resource() 调用返回的字典中的 ‘pci_passthrough_devices’ 键下的每个子字典中包含 ‘parent_ifname’ 键,该子字典代表一个 VF。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): complete
    • Libvirt LXC: missing
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 使用安全加密内存启动实例

    状态:可选。

    CLI 命令

    • openstack server create <usual server create parameters>

    说明:此功能允许虚拟机使用特定于虚拟机的密钥启动,并对硬件加密其内存,以帮助保护虚拟机中数据的安全,防止未经虚拟机用户授权的访问。配置和安全指南规定了此功能的使用方法。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): partial

      说明:此功能目前仅支持具有 AMD SEV(安全加密虚拟化)技术的宿主机。

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): missing
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 缓存基本镜像以加快实例启动速度

    状态:可选。

    CLI 命令

    • openstack server create <usual server create parameters>

    说明:此功能允许驱动程序在计算宿主机上缓存基本镜像,以便后续启动无需承担下载这些镜像的开销。部分支持意味着在第一次使用镜像启动后缓存镜像。完全支持允许预先填充缓存,以便第一次启动也能受益。镜像缓存支持可通过 [image_cache] 组中的配置选项进行调整。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): complete
    • Libvirt KVM (ppc64): complete
    • Libvirt KVM (s390x): complete
    • Libvirt KVM (x86): complete
    • Libvirt LXC: unknown
    • Libvirt QEMU (x86): complete
    • Libvirt Virtuozzo CT: complete
    • Libvirt Virtuozzo VM: complete
    • VMware vCenter: partial
    • zVM: missing

  • 使用模拟的可信平台模块 (TPM) 启动实例

    状态:可选。

    CLI 命令

    • openstack server create <usual server create parameters>

    说明:允许虚拟机使用模拟的可信平台模块 (TPM) 设备启动。仅支持由虚拟机所有者执行的生命周期操作,因为需要用户的凭据才能在宿主机上解锁虚拟设备文件。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): partial

      说明:移动操作尚未支持。

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): partial

      说明:移动操作尚未支持。

    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

  • 使用无状态固件启动实例

    状态:可选。

    CLI 命令

    • openstack server create <usual server create parameters>

    说明:此功能允许虚拟机使用只读固件镜像启动,而无需 NVRAM 文件。此功能对于机密计算用例特别有用,因为它允许更全面地测量参与启动链的元素,并禁用来自虚拟机的潜在攻击面。

    驱动程序支持

    • Ironic: missing
    • Libvirt KVM (aarch64): missing
    • Libvirt KVM (ppc64): missing
    • Libvirt KVM (s390x): missing
    • Libvirt KVM (x86): partial

      说明:此功能仅支持 UEFI 固件。

    • Libvirt LXC: missing
    • Libvirt QEMU (x86): missing
    • Libvirt Virtuozzo CT: missing
    • Libvirt Virtuozzo VM: missing
    • VMware vCenter: missing
    • zVM: missing

说明

  • 本文档是一个持续进行中的工作