文档目录

问题描述

ZStack Cloud 中部分使用 Legacy BIOS 的历史云主机采用 pc-i440fx-rhel7.x.0 兼容机型。该兼容机型未提供 virtio-blk Discard 所需的设备能力。部分调整方式可能导致云主机虚拟硬件配置发生变化,与目标计算节点环境不一致,从而影响热迁移兼容性。

经验证的 Q35 兼容机型可提供该能力。对于已有 pc-i440fx-rhel7.x.0 云主机,建议不要直接修改兼容机型或虚拟硬件特性。其他 i440fx 兼容机型不在本文结论范围内。

现象

  • 使用 pc-i440fx-rhel7.x.0 兼容机型的云主机对 virtio-blk 磁盘执行 TRIM/Discard 后,后端空间未按预期回收。
  • 手工修改已有云主机的机器类型或 virtio-blk Discard 特性后,热迁移可能失败。
  • 迁移日志可能出现以下关键字:
  Failed to load PCIDevice:config
  Failed to load virtio-blk:virtio
  load of migration failed: Invalid argument

影响

使用 pc-i440fx-rhel7.x.0 兼容机型的云主机无法通过 virtio-blk Discard 回收后端空间。未经验证调整现有云主机的兼容机型或设备特性,可能影响后续热迁移。

规避方案

  1. 新建且需要 virtio-blk Discard 的云主机时,选择 ZStack Cloud 当前版本验证通过的 UEFI BIOS 和 Q35 兼容机型。
  2. 不要直接修改已有 pc-i440fx-rhel7.x.0 云主机的兼容机型、PCI 拓扑或 virtio-blk 设备特性。
  3. 已有云主机如需改用 Q35,应先备份业务数据,并通过新建 Q35 云主机后迁移业务或数据的方式处理;迁移方案应在非生产环境完成验证。
  4. 完成迁移后,在 Guest OS 内执行 Discard,并确认后端空间回收符合预期。

受影响产品

  • ZStack Cloud 4.8.x、5.4.x、5.5.x 中使用 pc-i440fx-rhel7.x.0 兼容机型和 virtio-blk 磁盘的云主机。
  • 其他 i440fx 兼容机型不在本文确认范围内。

修复状态

  • 当前状态:已确认,已有新建场景规避方案。
  • 修复版本:无独立修复版本;该限制由既有虚拟硬件兼容机型能力决定。
  • 关联补丁/修复包:无;新建场景可选择经验证的 Q35 兼容机型。

关联信息

  • 关联 Solution/APAR:无。
  • 关联操作系统:不限定 Guest OS,需 Guest OS 支持 TRIM/Discard。
  • 关联 PDT/PTF:QEMU i440fx、Q35、virtio-blk。
  • 关联 BBS/TIC/Jira:ZSTAC-76118。该编号用于问题追溯。受账号权限限制,部分用户可能无法访问跳转后的 Jira 页面。
特定 i440fx 兼容机型存在 virtio-blk Discard 能力限制 | 产品已知问题 · KB | ZStack 资源中心