VMware Integrated OpenStack 7.2.1 | 2022 年 7 月 7 日 | 内部版本 OVA 20003386,修补程序 20003387

请查看发行说明以了解新增内容及更新。

关于 VMware Integrated OpenStack

VMware Integrated OpenStack 通过简化集成过程,极大地精简了 OpenStack 云基础架构部署。VMware Integrated OpenStack 通过在 vCenter Server 中作为虚拟设备运行的部署管理器提供即时可用的 OpenStack 功能和简单的配置工作流。

新增功能

新功能和增强功能

  • 中继子端口双堆栈支持。

    每个中继都有一个父端口,并且可以具有任意数量的子端口。每个子端口均可支持双堆栈(v4 和 v6)IP 地址。

  • 增强了 viocli 命令中的运行状况检查功能。

    • 针对 VIO、LDAP、vCenter 和 NSX 增加了证书过期日期检查。
    • 增加了 Glance 映像位置格式检查。
    • 增加了 vio 服务所需状态检查。
    • 增加了 Nova 计算 pod 状态检查。
    • 增加了 vCenter 主机资源压力检查。
  • 扩展附加卷。

    默认情况下,此功能处于启用状态。用户可以从 UI 或通过 OpenStack 命令“cinder extend ${volume_id} ${new_volume_size}”扩展附加卷的大小。

  • 增强了 Nova 性能。

    在以前的版本中,nova-compute 服务中的一些问题已确定对其整体性能有很大的影响。现在,针对这些问题进行了改进,nova-compute 服务可支持与受 vCenter 计算集群限制的相同数量的计算主机,此外,还显著缩短了服务启动/重新启动和实例操作(如创建、删除等)所需的时间,尤其是在关联的计算集群中已存在大量 Nova 实例和/或网络的情况下。

升级到版本 7.2.1

  • 使用 viocli patch 命令从以前的 VIO 7.x 版本升级。有关详细信息,请参见产品安装指南。
  • VIO 7.2.1 不支持从 6.x 直接升级,请先升级到 7.2 或 7.2.0.1。

兼容性

有关 VMware Integrated OpenStack 与其他 VMware 产品的兼容性的详细信息,请参阅 VMware 产品互操作性列表

弃用通知 

  • 以下网络连接功能已弃用,将不包含在下一个 VIO 版本中:
    • 适用于 Neutron 的 NSX Data Center for vSphere 驱动程序。
  • Neutron FWaaSv2 将在未来版本中弃用。

已解决的问题

  • 由于重新启动所有 mariadb pod 而导致数据丢失。

    在特定的场景中,数据库集群可能会进行分区。如果具有失效数据的数据库节点在重新启动后成为主节点,这可能会导致数据丢失。VIO 7.2.1 添加了修复,可防止数据库分区的发生。

  • 无法从卷快照创建卷。

    在特定情况下,用户无法从卷快照创建卷。假设用户有一个名为“volume-0”的卷,其卷类型不是“__DEFAULT__”。用户从“volume-0”创建了名为“volume-snapshot”的卷快照。当用户尝试从“volume-snapshot”创建卷时,该操作将失败。

  • VIO 还原后“keystone-shib-key”和“keystone-idp-saml2-metadata”保持一致。

    在以前的 VIO 版本中,我们不会备份证书/密钥数据,如“keystone-shib-key”和“keystone-idp-saml2-metadata”,只是在文档中提供有关从 VIO 手动备份证书/密钥的说明。VIO 7.2.1 在还原后提供一致的证书/密钥,包括“keystone-shib-key”和“keystone-idp-saml2-metadata”。

  • 无法增加附加到服务器的卷的大小。

    客户尝试通过 OpenStack 命令“cinder extend ${volume_id} ${new_volume_size}”扩展附加卷,但 extend 命令失败,并显示错误消息“错误: 策略不允许执行 volume:extend_attached_volume。(HTTP 403) (ERROR: Policy doesn't allow volume:extend_attached_volume to be performed. (HTTP 403))”。以前的版本不支持动态扩展。

  • 无法启动 VIO 部署。

    客户停止/禁用了某些 VIO 服务,但忘记了重新启动该服务。在这种情况下,会在 osdeployment 中的某些服务上添加“mode: stop”。当客户尝试使用命令“viocli start services”启动服务时,启动将停滞在“nova-cell-setup-xxxxx”pod,并且部署状态停滞在 STARTING。

  • 对 Nova vspc 服务禁用 TLSv1 和 TLSv1.1。

    仅对 Nova vspc 服务启用 TLS v1.2。

  • 在特定情况下,实时迁移由于错误“内存不足 (Out of memory)”而失败。

    假设使用同一映像引导具有不同特定实例的 2 个不同计算集群上的实例,例如,instance1 来自 compute01 上具有 flavor1(根磁盘 5 G)的 imageA,instance2 来自 compute02 上具有 flavor2(根磁盘 1 G)的 imageA,instance1 中的根磁盘使用量大于 1 G。如果用户尝试将 instance1 从 compute01 实时迁移到 compute02,则此操作将失败。

    如果用户在目标上具有 vmfs 数据存储,则会在 hostd.log 中看到以下消息

    reason = "Failed waiting for data.Error bad0006.Limit exceeded."

    如果用户在目标上具有 vsan 数据存储,则会在 hostd.log 中看到以下消息

    reason = "Failed waiting for data.Error bad0014.Out of memory."

  • 在大规模 MP2P 迁移期间,Tier1 网关无法完全回滚。

    在大规模 MP2P 迁移期间,某些 Tier1 网关无法完全回滚,且删除状态仍保持为正在进行中。回滚失败可能是由于迁移期间出错所致。

  • VMware Integrated OpenStack Manager Web UI 所用的 Kubernetes Ingress 控制器使用过时的 Nginx 1.15.10 版本。

    对于刷新安装和修补的设置,Ngnix 现已更新到 1.20.1。对于从以前的 7.x 版本升级的 7.2 部署,请遵循 kb.vmware.com/s/article/88012

  • 存在 1 万个 Neutron 租户网络时,无法启用 Ceilometer。

    当存在大量资源(例如,在 vSphere 中创建的网络)时,VIO 将为这些对象生成许多自定义资源。如果 CR 数量太大,则 VIO Manager Web UI 将在后端 API 上失败,因为响应数据对于 HTTP 请求而言过大。

已知问题

  • 公共 API 速率限制不可用。

    在 VMware Integrated OpenStack 7.2 中,无法对公共 API 实施速率限制。

    解决办法:无。将在更高版本中提供该功能。

  • 扩展附加卷的限制

    • 如果附加卷类型为“eagerZeroedThick”,则扩展操作不会将扩展的磁盘置零。
    • 扩展附加卷不支持 FCD 后端。
    • 不支持多附加卷。

    解决办法:无

  • Openstack 网络删除失败,Neutron 报告以下错误:“NSX 插件中发生了意外错误: Neutron 网络 98d5c37d-74ea-4fd9-8d47-09b5a864f940 的后端分段删除失败。但是,该对象已从 Neutron 数据库中移除: 无法删除分段,因为它仍连接有虚拟机或 VIF (An unexpected error occurred in the NSX Plugin: Backend segment deletion for neutron network 98d5c37d-74ea-4fd9-8d47-09b5a864f940 failed. The object was however removed from the Neutron database: Cannot delete segment as it still has VMs or VIFs attached)”。

    在某些情况下,删除分段时,NSX 中可能会出现一些冲突,因为它可能会报告某分段端口仍处于连接状态,而该端口已移除。NSX 不会立即重试,而是等待下一个实现周期,默认情况下是在 5 分钟后。同时,Neutron 将返回 NSX 收到的错误,报告从 NSX 删除失败,并从 Neutron 数据库中移除网络记录。

    解决办法:通常不需要任何解决办法,因为分段将在接下来的 5 分钟内从 NSX 中移除。用户可以通过以下方式检查此分段:在 NSX 上按 Neutron 网络 ID 搜索该分段,然后在 5 分钟后验证是否已将其实际删除。

  • 具有双堆栈的子端口从中继移除后,无法重用作常规端口。

    解决办法:无。

  • 更新映像的元数据在 UI 上反映错误。

    最初,配置了多个 Glance 数据存储。每个 Glance 数据存储指向不同的 vCenter 并在 VIO 中创建了映像。之后,如果删除某些 Glance 数据存储配置,则从 Horizon 更新现有映像的元数据时,会在 UI 上反映错误。

    解决办法:

    如果 VIO 环境中已存在映像,建议不要移除 Glance 数据存储配置。如果出现此问题,请重新添加 Glance 数据存储配置。

  • 子端口与其父中继分离后,相应的网络接口仍能够发送/接收流量。

    子端口与其父中继端口分离后,即使在 NSX 中正确更新了配置,连接到该子端口的接口仍能够发送和接收流量。

    解决办法:删除子端口,然后重新创建。

  • 迁移期间,连接到专用路由器的虚拟机的东西向和南北向连接临时中断。

    在“Edge 迁移”阶段,对于以上行链路连接到“专用”路由器的网络,南北向连接将中断。Neutron 专用路由器之间的东西向连接也会停止运行。连接将在“主机迁移”阶段开始时恢复。因此,虚拟机的停机时间可能会比预期长。发生这种情况的原因是,NSX-T Edge 未发送 GARP 以通告 NSX-T Edge MAC。

    解决办法:无

  • 存在大量未使用的 NSX 服务。

    每次发生触发重新生成防火墙规则的事件(如更新某规则的防火墙策略)时,管理 NSX Services 的例程会为该规则的服务生成一个随机标识符,从而导致创建额外的服务。

    解决办法:移除失效的服务条目。

    最简单的方法可能是查找 Neutron 拥有的服务,然后删除防火墙规则未使用的所有服务。请使用搜索 API 检索以下信息:

    /policy/api/v1/search?resource_type:Service%20AND%20tags.scope:os-router-firewall

    以上查询将返回 Neutron 创建的服务。请注意分页 API 响应。请循环访问结果并删除所有服务。对于防火墙规则正在使用的服务,删除将失败;对于未使用的服务,将成功删除。

  • 在 NSX-V Neutron 插件中,无法对直连端口实施 OpenStack 端口安全性。

    对于 vnic-type 为直连的端口,启用端口安全性可能会不起作用。安全性功能不适用于直连端口。

    解决办法:无。

  • 如果 vCenter 和 NSX 密码中包含 $$,则无法登录到 VIO。

    如果为底层 vCenter 和 NSX 配置的 VIO 帐户使用的密码包含“$$”,则由于密码中使用“$$”,VIO 无法完成 vCenter 和 NSX 的身份验证。OpenStack pod 可能会进入 CrashLoopBackOff 状态。

    解决办法:使用不包含“$$”的其他密码。

  • 用户无法从 OpenStack CLI 客户端下载 Glance 映像。

    从 Openstack CLI 下载映像时,出现错误:“[Errno 32] 损坏映像下载 ([Errno 32] Corrupt image download)。”这是因为,默认情况下,VIO 将映像作为虚拟机模板存储在 vSphere 数据存储中。在 VMDK 和虚拟机模板之间不保存 md5sum 值。

    解决办法:在以下配置下,可以下载 Glance 映像:

    • 在 Glance 配置中,选项 vmware_create_template 为 false。
    • 用户使用 Openstack CLI 和属性“vmware_create_template=false”创建 Glance 映像。

  • Keystone 联合中出现重复条目错误。

    在 Keystone 联合中删除 OIDC 后,如果同一用户尝试使用 OIDC 登录,身份验证将失败,并显示 409 消息。

    解决办法:通过 Horizon 或 OpenStack CLI 删除用户。

    例如:

    1.在 Horizon 中,使用管理员帐户登录。

    2.将域上下文设置为联合域。

    3.在用户页面中,删除用户名列为 None 的用户。

    在 OpenStack CLI 中

    openstack user list --domain <federated domain name>

    openstack user delete <user id> --domain <federated domain name>

  • 还原后证书需要 CA 签名并重新应用。

    包含 VIO 私钥和证书的证书密钥目前不备份。在非就地还原后,以前导入的证书将不存在于新部署中。

    解决办法:

    1.保存原始部署中的证书密钥。

    osctl get secret certs -oyaml > certs.yaml

    2.还原后,将证书密钥中的“private_key”和“vio_certificate”值替换为步骤 1 中的数据。

    3.停止/启动服务。

  • 无法在特定 Nova-Compute 节点上创建实例,并且 Nova-Compute 日志停滞不前。

    创建实例时,始终处于“构建”状态,从不成功。查看 nova-compute 日志时,只有几条日志,没有更多信息。

    解决办法:手动重新启动 nova-compute pod。

  • 无论 FWaaS 绑定如何,都会在 Neutron 路由器的所有下行链路端口上强制实施 FWaaS v2 规则。

    此行为特定于 NSX-V 分布式路由器。对于这些路由器,在 PLR 和 DLR 之间实施 NSX-V。FWaaS 规则在 PLR 上运行,但下行链路接口位于 PLR 上。因此,防火墙规则适用于进出下行链路的所有流量。

    解决办法:对于分布式路由器,明确包括源和目标子网以与下行链路子网 CIDR 相匹配。请确保防火墙组应用于路由器上的每个端口,或者使用集中式路由器而不是分布式路由器。

  • 在 Edge 集群上禁用 DRS 可能会触发删除 VIO 使用的资源池。

    在 Edge 集群上禁用 DRS 可能会触发 VIO 资源池,该资源池将不再管理 Edge 设备。

    解决办法:请勿在 Edge 集群上执行以下步骤:

    1.右键单击 Edge 集群。

    2.在 Edge 集群上禁用 DRS。

  • 从 NSX-V 迁移到 NSX-T 后,虚拟机无法访问 Nova 元数据服务。迁移后创建的新虚拟机可以访问 Nova 元数据服务。

    从 NSX-V 迁移的虚拟机具有静态路由,用于通过 DHCP 服务器重定向元数据流量。此配置在 NSX-T 上不起作用,因为 NSX-T 会插入链路路由以进行元数据访问。

    解决办法:重新引导虚拟机,或者如果您有权访问虚拟机,请移除通过 DHCP 服务器的静态路由并续订 DHCP 租约,使新租约由具有相应路由的 NSX-T DHCP 服务器提供以用于访问 Nova 元数据服务。

  • 使用“viocli update”命令更新 CR 时,如果输入较大的整数作为值,可能会出现错误。例如,profile_fb_size_kb:2097152。

    在某些情况下,VIO Helm Chart 会将交大的整数转换为科学记数法。

    解决办法:在较大整数两边添加引号。例如,profile_fb_size_kb:"2097152"。

  • 控制器节点上的快照会阻止某些 VIO 操作。

    如果存在控制器节点快照,则无法移动该控制器节点上的持久卷。因此,VIO 不支持生成控制器的快照。

    解决办法:删除控制器节点上的所有快照。

  • 默认情况下,通过映像创建的卷始终可引导。

    如果在通过映像创建卷时包含 --non-bootable 参数,该参数将不起作用。

    解决办法:创建卷后,将其更新为不可引导。

  • 通过 VIO NSX-V 集成,在定义了多个计算集群时,Openstack 实例无法发送和接收流量。

    Neutron 默认安全组(允许 DHCP 流量)是在首次启动 neutron-server 时创建的。如果将计算集群添加到 VIO 部署中,则不会自动将其添加到默认安全组。

    解决办法:使用 NSX 管理实用程序重建默认防火墙区域,如下所示:nsxadmin -r firewall-sections -o nsx-update

  • 将 Neutron 网络迁移到 NSX-T 时,API 中的 V2T 迁移器作业失败。将报告类似以下内容的错误:2021-05-18 17:16:00,612 错误 无法创建网络:: 操作输入无效: 不能使用透明 VLAN 设置分段 ID (2021-05-18 17:16:00,612 ERROR Failed to create a network:: Invalid input for operation: Segmentation ID cannot be set with transparent VLAN)。

    NSX-V Neutron 插件允许为提供商 VLAN 网络设置 VLAN 透明网络设置。此设置没有太大意义,因为提供商网络将仅使用特定的 VLAN。NSX-T Neutron 插件不允许使用此类配置。

    解决办法:取消设置网络的 VLAN 透明度,然后重试。

  • 在某些情况下,在配置路由器外部网关时,API 重放将失败并显示内部错误。Neutron 迁移程序作业日志将显示类似以下内容的错误:ERROR Failed to add router gateway with port : Request Failed: internal server error while processing your request.

    之所以发生这种情况,是因为在迁移程序作业的 Pod 中运行的临时 Neutron 服务器会检查 NSX-T 的第 1 层实现。在某些极少数情况下,这种实现速度可能极慢且会超时。出现此问题时,临时 Neutron 服务器日志 (/var/log/migration/neutron-server-tmp.log) 将报告类似以下内容的错误:2021-05-07 10:36:31.909 472 ERROR neutron.api.v2.resource vmware_nsxlib.v3.exceptions.RealizationTimeoutError: 在睡眠时间为 1 秒的 50 次尝试后,未实现 LogicalRouter ID /infra/tier-1s/

    解决办法:此问题尚无解决办法。在大多数情况下,重试即可解决问题。如果问题持续出现,则需要对 NSX-T 进行故障排除,以找出实现缓慢的根本原因。

  • 在某些情况下,将成员添加到其中一个池后,Openstack 负载均衡器将进入“错误”状态。

    发生这种情况的原因是,已在连接到 NSX 负载均衡器的路由器的下行链路上配置了选定成员。在这种情况下,Openstack 驱动程序无法重新使用现有的 LBS。

    解决办法:在下行链路网络上使用 VIP 重新创建 Openstack LoadBalancer。然后,将浮动 IP 与 VIP 端口相关联。

  • 迁移后,可能会出现 Neutron 逻辑端口对应的负载均衡器不存在的情况。

    执行 V2T 迁移后,将迁移处于错误状态的负载均衡器的 Neutron 端口,即使对应的负载均衡器并未迁移。V2T 迁移过程会跳过处于“错误”状态的 Octavia 负载均衡器。这是因为处于此类状态的负载均衡器未在 NSX-T 上正确实施;此外,“错误”状态不可变,因此您必须删除这些负载均衡器。但是,相应的逻辑端口已迁移。

    解决办法:迁移完成后,可以安全地删除这些端口。在开始迁移之前删除处于“错误”状态的负载均衡器,可以彻底避免出现此问题。

  • 移除 Neutron 路由器网关时失败。

    报告的错误为“无法删除 router_gateway,因为它仍具有 lb 服务连接 (Cannot delete a router_gateway as it still has lb service attachment)。”但是,没有任何 Octavia 负载均衡器连接到路由器的任何子网;同样,Octavia 负载均衡器并未连接到外部网络,在路由器下行链路之间也没有成员。

    解决办法:在 VIO7.2 之前,唯一的解决办法是将负载均衡器与后端的第 1 层路由器断开连接。在 VIO7.2 中,管理员可以使用一个实用程序从 NSX-T.List 孤立项中移除失效的负载均衡器:nsxadmin -r lb-services -o list-orphaned删除孤立项:nsxadmin -r lb-services -o clean-orphaned

  • Horizon 上无法显示已恢复 Nova 实例的控制台和日志。

    执行灾难恢复过程后,登录到目标站点上的 Horizon 并导航到“项目”->“计算”->“实例”,查看每个已恢复实例的日志和控制台,将显示空白。

    解决办法:在目标站点上创建新的 Nova 实例,然后再次检查每个已恢复的 Nova 实例,该实例应当能够正常工作。

  • 在 edge 阶段的南北向切换期间,V2T 迁移失败。UI 返回的消息为“未找到传输区域”。在正在运行 migration-coordinator 服务的 NSX-T Manager 实例上,/var/log/migration-coordinator/v2t/cm.log 显示,在为 Neutron 备份池中的分布式 Edge 创建“迁移转换 LS”时失败(Edge 名称以“backup-”开头)。

    V2T 迁移程序将尝试为每个 NSX-V 分布式路由器创建用于南北向切换的转换交换机。因此,它会扫描所有分布式 Edge,并为每个 Edge 执行此操作。要想成功,Edge 必须至少具有一个下行链路接口,以便迁移程序可以找到相关的传输区域。但是,Neutron 可能会将某些分布式 Edge 保留在“备份池”中。这些未经配置、可立即使用的 Edge 设备会导致 V2T 迁移程序失败。

    解决办法:从 NSX-V 中,删除 Neutron 备份池中的分布式 Edge。这不会对 Neutron/NSX-T 操作产生任何影响

  • 以管理方式将防火墙组设置为“关闭”(状态=关闭)后,防火墙组运行状态始终为“关闭”,即使防火墙组管理状态恢复为“启动”后也是如此。

    如果转换不涉及添加端口或从防火墙组移除端口,则 neutron-fwaas 服务将忽略更改这些转换上的运行状态。

    解决办法:添加或移除端口,或者添加和移除已绑定到防火墙组的端口。

check-circle-line exclamation-circle-line close-line
Scroll to top icon