14.2. 为红帽支持收集数据
当您向红帽支持 提交支持问题单 时,使用以下工具为 Red Hat OpenShift Service on AWS 和 OpenShift Virtualization 提供调试信息会很有帮助:
- Prometheus
- Prometheus 是一个时间序列数据库和用于指标的规则评估引擎。Prometheus 将警报发送到 Alertmanager 进行处理。
- Alertmanager
- Alertmanager 服务处理从 Prometheus 接收的警报。Alertmanager 还负责将警报发送到外部通知系统。
14.2.1. 收集有关环境的数据 复制链接链接已复制到粘贴板!
收集有关环境的数据可最小化分析和确定根本原因所需的时间。
先决条件
- 记录受影响的节点和虚拟机的确切数量。
14.2.2. 收集虚拟机的数据 复制链接链接已复制到粘贴板!
流程
收集有关出现故障的虚拟机 (VM) 的数据可最小化分析和确定根本原因所需的时间。
先决条件
- Linux 虚拟机: 安装最新的 QEMU 客户机代理。
Windows 虚拟机:
- 记录 Windows 补丁更新详情。
- 安装最新的 VirtIO 驱动程序。
- 安装最新的 QEMU 客户机代理。
- 如果启用了远程桌面协议(RDP),使用 桌面查看器 进行连接以确定连接软件是否存在问题。
流程
- 收集在重启前崩溃的虚拟机截图。
- 在补救尝试 前 从虚拟机收集内存转储。
- 记录出现故障的虚拟机通常具有的因素。例如,虚拟机具有相同的主机或网络。
14.2.3. 生成虚拟机内存转储 复制链接链接已复制到粘贴板!
当虚拟机(VM)意外终止时,您可以使用 virtctl memory-dump 生成内存转储命令来输出虚拟机内存转储并将其保存到持久性卷声明(PVC)中。之后,您可以分析内存转储,以诊断并排除虚拟机上的问题。
先决条件
热插功能门在
HyperConverged自定义资源中启用。为此,请运行以下命令:oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:您有一个要保存内存转储的现有 PVC。
-
PVC 卷模式必须是
FileSystem。 PVC 必须足够大以保存内存转储。
计算 PVC 大小的公式为
(VMMemorySize + 100Mi)* FileSystemOverhead,其中100Mi是内存转储开销,FileSystemOverhead在HCO对象中定义。
-
PVC 卷模式必须是
流程
创建所需虚拟机的内存转储:
如果您选择了要保存内存转储的现有 PVC:
virtctl memory-dump get <vm_name> --claim-name=<pvc_name>
$ virtctl memory-dump get <vm_name> --claim-name=<pvc_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要为内存转储创建新 PVC:
virtctl memory-dump get <vm_name> --claim-name=<new_pvc_name> --create-claim
$ virtctl memory-dump get <vm_name> --claim-name=<new_pvc_name> --create-claimCopy to Clipboard Copied! Toggle word wrap Toggle overflow
下载内存转储:
virtctl memory-dump download <vm_name> --output=<output_file>
$ virtctl memory-dump download <vm_name> --output=<output_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将内存转储附加到红帽支持问题单中。
或者,您可以检查内存转储,例如,使用 volatility 3 工具。
可选:删除内存转储:
virtctl memory-dump remove <vm_name>
$ virtctl memory-dump remove <vm_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow