附录 A. 故障排除
本章论述了有关 Red Hat Enterprise Linux 7 虚拟化问题的常见问题和解决方案。
阅读本章,了解与虚拟化技术相关的一些常见问题。建议您在 Red Hat Enterprise Linux 7 上试验并测试虚拟化,以培养您的故障排除技能。
如果您在本文档中找到答案,则虚拟化社区可能会在线找到答案。如需 Linux 虚拟化网站列表,请参阅 第 D.1 节 “在线资源”。
另外,您可以在 Red Hat Knowledgebase 中了解有关 RHEL 7 中虚拟化故障排除的更多信息。
A.1. 调试和故障排除工具
本节总结了系统管理员应用程序、联网实用程序和调试工具。您可以使用这些标准系统管理工具和日志来帮助进行故障排除:
- kvm_stat - 检索 KVM 运行时统计信息.如需更多信息,请参阅 第 A.4 节 “kvm_stat”。
- ftrace - Traces 内核事件。如需更多信息,请参阅什么是 ftrace 以及如何使用? 解决方案文章(需要订阅 )。
- vmstat - 显示虚拟内存统计信息。有关更多信息,请使用 man vmstat 命令。
- iostat - 提供 I/O 负载统计数据.如需更多信息,请参阅 Red Hat Enterprise Linux 性能调优指南
- lsof - 列出打开文件.有关更多信息,请使用 man lsof 命令。
- SystemTap - 用于监控操作系统的脚本实用程序。如需更多信息,请参阅 Red Hat Enterprise Linux 开发人员指南。
- 崩溃 - 分析内核崩溃转储数据或实时系统。如需更多信息,请参阅 Red Hat Enterprise Linux Kernel Crash 转储指南。
- sysrq - 内核在控制台不响应时响应的关键组合。如需更多信息,请参阅 Red Hat 知识库。
这些联网工具可以帮助对虚拟化网络问题进行故障排除:
- ip addr,ip route, 和 ip monitor
- tcpdump - 诊断网络上的数据包流量。此命令可用于查找网络身份验证中的网络异常和问题。tcpdump 的图形版本名为 wireshark。
- brctl - 检查并配置 Linux 内核中的以太网网桥配置的网络实用程序。例如:
$ brctl show bridge-name bridge-id STP enabled interfaces ----------------------------------------------------------------------------- virtbr0 8000.feffffff yes eth0 $ brctl showmacs virtbr0 port-no mac-addr local? aging timer 1 fe:ff:ff:ff:ff: yes 0.00 2 fe:ff:ff:fe:ff: yes 0.00 $ brctl showstp virtbr0 virtbr0 bridge-id 8000.fefffffffff designated-root 8000.fefffffffff root-port 0 path-cost 0 max-age 20.00 bridge-max-age 20.00 hello-time 2.00 bridge-hello-time 2.00 forward-delay 0.00 bridge-forward-delay 0.00 aging-time 300.01 hello-timer 1.43 tcn-timer 0.00 topology-change-timer 0.00 gc-timer 0.02
下面是一些用于对虚拟化进行故障排除的有用命令:
- strace 是一个命令,可跟踪由另一个进程接收和使用的系统调用和事件。
- vncviewer 连接到在服务器或虚拟机上运行的 VNC 服务器。使用 yum install tigervnc 命令安装 vncviewer。
- vncserver 在您的服务器中启动远程桌面。为您提供使用远程会话运行图形用户界面(如 virt-manager)的能力。使用 yum install tigervnc-server 命令安装 vncserver。
除了上面列出的所有命令外,检查虚拟化日志也很有用。如需更多信息,请参阅 第 A.6 节 “虚拟化日志”。