找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3243

积分

0

好友

433

主题
发表于 2 小时前 | 查看: 4| 回复: 0

本文整理了 Linux 虚拟化(基于 KVM/libvirt)常见的 10 个故障场景及使用 virsh 命令进行排错的方法,涵盖 VM 无法启动、连接问题、网络不通、资源不足、快照失败、磁盘损坏、实时迁移失败、性能下降、硬件不兼容以及平台升级等问题。这些场景是日常 云原生/IaaS 运维中的高频排查方向,建议收藏备用。

场景 314:虚拟机(VM)无法启动

问题

虚拟机在虚拟化平台上无法启动。

故障排除步骤

  • 查看 VM 日志以查找具体错误消息:

    virsh console <vm-name>
    less /var/log/libvirt/qemu/<vm-name>.log
  • 验证 VM 配置文件是否有语法错误:

    virsh edit <vm-name>
  • 检查主机上的可用资源:

    virsh nodeinfo
  • 确保必要的存储池和网络可用:

    virsh pool-list
    virsh net-list
  • 手动尝试启动 VM 并监控错误消息:

    virsh start <vm-name>

场景 315:虚拟化平台连接问题

问题

无法使用 virsh 等工具连接到虚拟化平台。

故障排除步骤

  • 验证 libvirt 服务状态:

    systemctl status libvirtd
  • 检查 libvirt 守护进程是否运行并监听所需端口:

    netstat -tulpn | grep libvirtd
  • 查看 libvirt 日志以查找错误:

    less /var/log/libvirt/libvirtd.log
  • 确保 libvirt 守护进程可以通过防火墙:

    firewall-cmd --list-all

场景 316:虚拟机网络连接问题

问题

虚拟机无法相互通信或与外部网络通信。

故障排除步骤

  • 验证虚拟机的网络配置:

    virsh dumpxml <vm-name>
  • 检查网络桥接配置:

    cat /etc/sysconfig/network-scripts/ifcfg-brX
  • 通过访问其控制台确保虚拟机具有有效的 IP 地址。

  • 检查主机上的 iptables 规则:

    iptables -L -n

场景 317:虚拟机资源不足

问题

虚拟机性能下降或未获得足够资源。

故障排除步骤

  • 检查主机上的可用资源:

    virsh nodeinfo
  • 查看虚拟机配置文件中的 CPU 和内存分配:

    virsh edit <vm-name>
  • 使用 tophtop 等工具验证虚拟机内的 CPU 和内存使用情况。

  • 如有必要,调整资源分配并重启虚拟机。

场景 318:虚拟机快照失败

问题

无法为虚拟机创建或应用快照。

故障排除步骤

  • 检查虚拟机是否处于运行状态且状态一致。

  • 查看存储池的可用空间:

    virsh pool-info <storage-pool>
  • 查看 libvirt 日志以查找与快照相关的错误:

    less /var/log/libvirt/qemu/<vm-name>.log
  • 验证存储池的权限:

    ls -l /var/lib/libvirt/images/

场景 319:虚拟机磁盘损坏

问题

虚拟机出现磁盘损坏或数据丢失的迹象。

故障排除步骤

  • 使用 qemu-img check 验证虚拟机磁盘镜像的完整性。

  • 查看虚拟机日志文件中的错误:

    less /var/log/libvirt/qemu/<vm-name>.log
  • 尝试使用 qemu-img 等工具修复磁盘镜像。

  • 如有必要,从备份中恢复虚拟机。

场景 320:实时迁移失败

问题

在主机之间实时迁移运行中的虚拟机失败。

故障排除步骤

  • 确保两台主机具有相同的 CPU 架构和虚拟化功能。

  • 检查主机之间的连接性:

    ping <target-host>
    virsh nodeping <target-host>
  • 验证两台主机都可以访问存储。

  • 查看两台主机上的 libvirt 日志以查找与迁移相关的错误。

场景 321:虚拟机性能下降

问题

虚拟机运行缓慢或经历高延迟。

故障排除步骤

  • 使用 tophtop 等工具监控主机上的 CPU、内存和磁盘使用情况。
  • 使用 virsh domstats 检查单个虚拟机的性能。
  • 查看日志以查找影响性能的特定错误。
  • 考虑优化虚拟机配置或升级硬件资源。

场景 322:不支持的虚拟机硬件

问题

由于不支持或缺少硬件功能,虚拟机无法启动。

故障排除步骤

  • 使用 virsh capabilities 检查虚拟机硬件与主机的兼容性。

  • 更新虚拟机的硬件配置以匹配主机的能力:

    virsh edit <vm-name>
  • 确保虚拟化平台支持必要的 CPU 标志。

场景 323:虚拟化平台升级问题

问题

升级虚拟化平台或迁移到 RHEL 的新版本后出现问题。

故障排除步骤

  • 查看新虚拟化平台版本的发行说明和文档。
  • 检查现有虚拟机配置的兼容性问题。
  • 验证所有必要的软件包和依赖项是否已安装。
  • 首先在非生产环境中测试迁移或升级。



上一篇:Ubuntu 编译 Linux 内核:从源码下载到内核构建的完整操作指南
下一篇:Python条件判断实战:三个数求和的净效应决策与浮点精度陷阱
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-1 20:57 , Processed in 0.796363 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表