文档目录

问题说明

适用于排查云主机启动失败、无法进入系统、控制台黑屏/蓝屏、异常暂停、Crash、重启后数据异常、内部监控无数据等问题。此类问题可能来自虚拟硬件配置、系统引导、文件系统损坏、virtio/性能优化工具、QEMU 日志、存储异常、迁移后平台类型不匹配或 Guest OS 内部行为。

现象

  • 云主机启动失败,控制台显示 no booting device found、进入 UEFI shell 或反复重启。
  • Windows 云主机蓝屏、黑屏、启动慢,或迁移后网卡/磁盘无法识别。
  • 云主机异常暂停、恢复超时、Crash,QEMU 日志出现 Resource temporarily unavailable 等异常。
  • 云主机内部监控无数据、监控不准确、详情页加载慢。
  • 扩容、重启、迁移、备份后云主机系统或数据状态异常。

适用环境

  • 产品:ZCF
  • 组件:Cloud
  • 涉及对象:ZStack Cloud;云主机、QEMU、libvirt、virtio、性能优化工具、userdata、内部监控、云盘
  • 版本:4.x-4.8.38

可能原因

  • 云主机启动顺序、BIOS/UEFI 模式、平台类型、virtio 开关或磁盘总线类型不匹配。
  • 云主机文件系统、LVM/PV、系统盘或引导记录损坏。
  • VMware/V2V/OVF 迁移后驱动、平台类型、UEFI/BIOS、网卡或磁盘设备不兼容。
  • Windows 评估版、Guest OS 内部定时任务、第三方备份、业务程序等触发系统内部重启或蓝屏。
  • 安装性能优化工具或 Cloudbase-Init 后未正确重启,或三层网络未开启 DHCP/userdata。
  • QEMU/libvirt 侧资源、balloon、存储 I/O 或底层物理机异常导致 Crash、暂停或恢复超时。

排查步骤

1. 明确故障形态

  • 记录云主机 UUID、名称、运行物理机、所属主存储、故障时间、最近操作。
  • 区分是启动失败、系统内部异常、控制台无法打开、迁移后异常、扩容后异常还是监控显示异常。
  • 如果同一物理机上多台云主机同时异常,优先检查物理机、主存储、QEMU/libvirt 和网络。

2. 检查云主机配置和控制台现象

  • 核对启动顺序是否为硬盘优先,BIOS/UEFI 与源系统是否匹配。
  • 对 Windows/老系统检查 virtio、VirtioSCSI、平台类型、显卡驱动、Cloudbase-Init。
  • 对 Linux 检查分区、LVM、/etc/fstab、内核、initramfs、只读文件系统和救援模式可用性。

3. 检查 QEMU、libvirt 和管理日志

grep -a -n "<vmUuid-or-error-keyword>" /usr/local/zstack/apache-tomcat/logs/management-server.log*
grep -a -n "<vmUuid-or-error-keyword>" /var/log/libvirt/qemu/*.log
journalctl -u libvirtd --since "<start-time>" --until "<end-time>"
  • QEMU 日志出现资源不足、balloon、存储 I/O、迁移、watcher 或 lock 相关报错时,结合主存储和物理机资源继续排查。
  • 管理日志显示状态锁、任务锁或操作超时,需要确认是否存在迁移、备份、快照、CDP 等并发任务。

4. 检查系统盘、云盘和文件系统

  • 启动失败或扩容后无法进入系统时,优先对云主机做快照/克隆,再进入救援模式检查。
  • 对 LVM/PV 丢失、文件系统只读、分区扩容异常,需要先保全证据,请勿直接执行破坏性修复。
  • 存储异常后云主机状态倒退或数据异常时,需联动检查主存储、快照、备份和历史操作。

5. 检查内部监控和性能优化工具

  • 确认三层网络开启 DHCP 和 userdata,云主机能访问 169.254.169.254。
  • Windows 检查 性能优化工具服务、QGA、Cloudbase-Init、转发服务。
  • 安装性能优化工具后出现密码、网卡、IP、详情页加载或监控问题时,核对工具版本和重启方式。

补充排查方法

基础排查命令

# 管理节点服务和集群基础状态
zstack-ctl status
systemctl status zstack-ha.service 2>/dev/null || true
systemctl status mariadb.service mysqld.service 2>/dev/null || true
zsha2 status 2>/dev/null || true

# 管理节点主日志和近期错误
ls -lh /usr/local/zstack/apache-tomcat/logs/management-server.log*
grep -iE 'ERROR|WARN|Exception|failed|timeout' /usr/local/zstack/apache-tomcat/logs/management-server.log | tail -n 200

# 基础资源与系统状态
df -hT
free -m
top -b -n 1 | head -n 30
journalctl -p warning --since '2 hours ago' --no-pager | tail -n 200

临时解决方案

  • 先区分管理面显示异常、资源状态异常和底层业务异常;只在确认底层状态正常时,才考虑重连、刷新缓存、重试任务或重启管理服务。
  • 如需重启管理节点服务,先确认 HA 状态、当前任务和业务窗口,优先单节点逐台处理,并保留 /usr/local/zstack/apache-tomcat/logs/management-server.log*。
  • 涉及数据库修复、资源强制删除、主存储/镜像服务器重连等操作时,先完成数据库备份并记录回退方案。

云主机与计算节点专项检查

zstack-cli QueryVmInstance uuid=<vm-uuid>
zstack-cli QueryHost uuid=<host-uuid>
zstack-cli QueryVolume vmInstanceUuid=<vm-uuid>
virsh list --all
virsh domstate <vm-name-or-id>
virsh dumpxml <vm-name-or-id> > /tmp/vm.xml
systemctl status libvirtd zstack-kvmagent 2>/dev/null || true
grep -iE 'ERROR|Exception|failed|timeout|qmp|libvirt|domain' /var/log/zstack/zstack-kvmagent.log | tail -n 200
grep -iE '<vm-uuid>|<vm-name>' /usr/local/zstack/apache-tomcat/logs/management-server.log | tail -n 200

云主机类临时处理建议

  • 云主机状态异常时先比对管理面、libvirt、QEMU 进程和业务侧状态,避免只根据 UI 状态执行停止或删除。
  • 控制台黑屏优先检查 VNC/SPICE 端口、代理、浏览器、物理机 agent 和虚拟机显卡配置;业务正常时可先规避为 SSH/RDP 登录。
  • 启动失败或异常关机应先保护 XML、agent 日志和管理日志;必要时先迁移/重连/刷新状态,强制操作需确认磁盘和快照链完整。

补充信息

  • 排查结论需结合当前版本、服务状态、日志、集群健康、近期变更和现场影响面确认。
  • 涉及数据库修改、强制删除、OSD/MON 重建、Pool 删除、服务重启或网络变更等高风险操作时,应先完成备份、审批和技术支持确认。
ZStack Cloud 云主机启动异常与系统故障排查 | 故障排查 · KB | ZStack 资源中心