KVM常见问题定位指南
更新时间: 2026/02/03
在Gitcode上查看源码

KVM常见问题定位

本指南旨在对KVM的常见问题提供定位方向和思路。

一、上电后KVM界面显示NO SIGNAL

1.1 问题现象描述

服务器上电后,通过Web界面访问KVM,屏幕显示"NO SIGNAL"提示,无法看到服务器端的显示画面。

1.2 问题原理说明

KVM图像数据的传输链路如下:

具体流程:

  1. 显卡输出图像:服务器显卡输出图像数据,同时传输到BMC芯片的VCE寄存器和近端VGA口
  2. VCE寄存器缓存:BMC芯片的VCE寄存器接收并缓存图像数据
  3. KVM服务获取:KVM服务从VCE寄存器读取图像数据并发送给在线的KVM会话
  4. 前端显示:通过Web界面将图像数据呈现给用户

当KVM未能从VCE寄存器获取到有效图像数据时,会根据不同情况显示预置图像:

  • 上电状态:获取图像数据失败 → 显示"NO SIGNAL"
  • 下电状态:显示"POWER OFF"等预置图像

1.3 可能原因分析

原因1:系统未正常启动

原因描述:服务器在BIOS自检阶段或OS启动过程中卡住,导致显卡未正常输出图像。

排查方法

  • 通过串口连接服务器,查看启动日志
  • 确认系统是否成功进入OS
  • 检查是否在BIOS阶段卡住

解决方案

  1. 重启服务器或下电再上电
  2. 查看串口输出,确认启动过程是否报错或卡住
  3. 若在BIOS阶段卡住,需要联系BIOS团队定位

原因2:CPLD/BIOS版本不匹配

原因描述:CPLD版本过旧,或与更新的BIOS版本不兼容。

排查方法

  • 查询当前CPLD版本和BIOS版本
  • 确认版本配套关系

解决方案

  1. 更新CPLD和BIOS版本至配套版本
  2. 重启服务器使配置生效

原因3:显卡故障或硬件链路故障

原因描述:显卡硬件或数据链路本身故障,导致无法输出图像信号。

排查方法

  • 在服务器近端VGA口连接显示屏
  • 观察近端显示屏是否有显示
  • 若近端也无显示,说明问题出在显卡或更上游

解决方案

  • 联系硬件团队进行显卡或硬件链路故障诊断

原因4:PCIe建链失败

原因描述:PCIe链路建立失败,导致VCE寄存器工作异常。

特征

  • 近端VGA口有显示
  • KVM界面显示NO SIGNAL
  • 说明显卡工作正常,但VCE寄存器未能正常工作

排查方法

  1. 检查PCIe链路状态
  2. 查看BMC侧PCIe寄存器
  3. 查看一键收集日志中的相关报错

解决方案

  • 联系硬件团队检查PCIe寄存器状态
  • 检查PCIe建链是否成功

1.4 日志排查分析

可查看一键收集日志中的os日志、linux_kernel_log内核日志,dmesg日志,检查是否有可疑报错。

关键日志位置

  • systemcom.dat:OS日志
  • linux_kernel_log:内核日志
  • dmesg:内核缓冲区日志

二、远程镜像文件挂载失败或不符合预期

2.1 问题现象描述

在通过VMM(虚拟介质管理器)挂载远程镜像文件时,出现以下情况:

  • 挂载失败,提示无法连接或找不到文件
  • 挂载成功但文件内容不符合预期

2.2 问题原理说明

VMM远程镜像挂载是通过NFS/CIFS协议将远程服务器的镜像文件目录挂载到BMC,BMC读取文件后提供给服务器使用。

前置检查

在进行详细排查前,请先确认以下基本条件:

  1. 确认VMM功能已使能:确保VMM功能已打开且未被其他会话占用
  2. 确认远程服务器可达:测试网络连通性 ping <远程服务器IP>
  3. 确认镜像文件存在:在远程服务器上确认文件路径

2.3 可能原因分析

原因1:文件系统大小写敏感问题

问题说明

NFS/CIFS协议通过mount命令将远程目录挂载到BMC进行文件传输。部分服务器的文件系统存在大小写敏感或不敏感的特性,可能导致挂载路径与预期不符。

案例说明

假设CIFS服务器上同时存在以下两个目录:

text
服务器实际目录结构:
├── CIFSshare/      (目录A)
│   └── image.iso
└── CIFSShare/      (目录B)
    └── other.iso

当CIFS服务器文件系统对大小写不敏感时,无论挂载URL中填写的路径是什么,实际挂载的目录可能都是固定的:

bash
# 以下三种写法可能实际都挂载到 CIFSshare 目录
cifs://username:passwd@<server_ip>/CIFSshare/test.iso
cifs://username:passwd@<server_ip>/CIFSShare/test.iso
cifs://username:passwd@<server_ip>/cifsshare/test.iso

解决方案

  • 确保挂载路径中的目录名称唯一
  • 避免在同一级目录下使用仅大小写不同的目录名

原因2:文件格式或编码问题

问题说明

镜像文件本身损坏或格式不兼容。

排查方法

bash
# 检查ISO文件完整性
file /path/to/image.iso

# 尝试本地挂载验证
mount -o loop /path/to/image.iso /mnt/test

解决方案

  1. 重新下载或生成镜像文件
  2. 确保文件传输过程中未损坏
  3. 使用标准格式

三、KVM界面键鼠无法输入

3.1 问题现象描述

通过KVM Web界面连接服务器后,可以看到显示画面,但键盘和鼠标输入无响应,无法对服务器进行操作。

3.2 问题原理说明

KVM键鼠输入是通过USB重定向技术实现的。用户在浏览器的键鼠操作需要经过以下链路:

3.3 可能原因分析

原因1:USB枚举未下发

问题说明

USB设备在OS启动枚举过程中未能正确下发,这是导致KVM键鼠无法输入的最常见原因。

关键日志特征

在dmesg日志中出现类似以下错误:

bash
request xxx was not queued to yyy

排查方法

bash
# 查看最近一次OS启动时的USB枚举日志
dmesg | grep -A 5 -B 5 "usb device-0"

# 搜索枚举未下发的特征日志
dmesg | grep "was not queued"

解决方案

此问题涉及芯片SDK层面的USB设备枚举和下发机制,需要:

  1. 收集完整的dmesg日志及一键收集日志
  2. 记录问题复现的详细步骤
  3. 联系芯片SDK团队进行定位分析

四、通过VMM本地挂载安装OS用时过长

4.1 问题现象描述

使用VMM本地挂载镜像文件安装操作系统或挂载传输文件时,安装速度明显慢于预期,耗时过长。

4.2 问题原理说明

VMM本地挂载的数据传输链路:

数据流向说明

  1. 镜像文件传输:本地PC上的ISO镜像文件通过网络传输到BMC
  2. BMC缓存处理:BMC接收并缓存镜像数据
  3. USB设备交互:BMC将数据通过USB协议写入服务器的虚拟USB设备
  4. OS读取安装:服务器从USB设备读取数据进行系统安装

关键瓶颈

VMM本地挂载的安装速度受BMC网络传输速率的直接影响。网络传输速率决定了镜像数据能够多快到达BMC,进而影响整体安装速度。 可以通过Xftp、scp等工具传输一个约几十MB的文件到BMC的tmp目录,查看文件传输速率是否正常。

4.3 可能原因分析

原因1:物理距离过远

问题描述

测试人员客户端与服务器环境物理距离过远,网络延迟高,导致传输速率受限。

解决方案

  • 安排与服务器环境在同一地域的测试人员进行测试
  • 避免通过跨地域、跨运营商网络访问

原因2:BMC网卡模式配置

问题描述

BMC网卡未配置为专用管理网口,或者与其他网络功能共享带宽。

判断方法

查看BMC Web页面中 BMC管理 -> 网络配置 -> 网口模式,检查是否设置为专用管理网口

解决方案

  • 设置BMC网口为专用管理网口

原因3:SDK版本性能限制

问题描述

早期版本SDK的VMM本地挂载实现存在性能瓶颈。

解决方案

自openUBMC 2509版本配套的bmc_sdk版本开始,VMM本地挂载功能已进行重构优化,提升了挂载文件传输速率。 排除以上原因后,若条件允许,可升级到最新的bmc_sdk版本。

4.4 优化建议

  1. 使用本地网络:尽量将客户端放置在服务器所在的局域网内
  2. 设置BMC网口模式:设置BMC网口为专用管理网口
  3. 升级bmc_sdk版本:使用最新版本以获得性能优化
  4. 镜像优化:使用精简版的镜像安装可减少传输数据量

五、上电后KVM界面卡住无变化

5.1 问题现象描述

服务器上电后,KVM界面显示的图像静止不动,长时间无任何变化,看起来像"卡住"了一样。

5.2 问题原理说明

首先需要区分是图像数据冻结还是键鼠无响应导致画面未变化。

问题区分

  1. 图像数据冻结特征

    • 画面完全静止,没有任何更新
    • 光标不闪烁
    • 时钟显示不更新
    • 窗口内容不变化
  2. 键鼠无响应特征

    • 键盘和鼠标输入无效
    • 但画面可能有正常更新(如光标闪烁、时钟走动)
    • 按键或点击无反应

区分方法

  • 观察光标是否闪烁:光标正常闪烁说明图像数据正常传输
  • 通过串口连接服务器确认系统是否正常运行

5.3 可能原因分析

原因1:显卡驱动未加载

问题说明

当确认系统已正常进入OS,但KVM界面图像无变化时,可能是hibmc_drm驱动未正常加载。

检查方法

bash
# 查看hibmc_drm驱动是否已加载
lsmod | grep hibmc

# 尝试手动加载hibmc_drm驱动
modprobe hibmc_drm

# 查看驱动相关日志
dmesg | grep hibmc

解决方案

  • 如果手动加载驱动后问题恢复,说明是驱动未自动加载的问题
  • 驱动未加载的问题需要OS领域继续定位
  • 需要检查为什么驱动没有在启动时自动加载

六、打开KVM界面提示网络中断

6.1 问题现象描述

打开KVM界面时,提示"网络中断"、"连接失败"或类似错误信息,无法正常建立KVM连接。

6.2 问题原理说明

KVM连接建立过程:

端口对照表

功能默认端口说明
Web接口443Web管理界面
KVM服务2198KVM远程控制
VMM服务8208虚拟媒体挂载
Video服务2199录像播放

6.3 可能原因分析

原因1:NAT端口转发配置不完整

适用场景

BMC未配置公网IP,通过NAT转发方式访问BMC环境。

问题说明

当配置NAT转发访问BMC时,仅配置了443端口,缺少配置2198端口(KVM服务)。

解决方案

需要为每个服务端口配置对应的NAT转发规则,例如BMC的KVM端口是2198,则需要配置本机PC的2198端口转发到BMC的2198端口; 同理,VMM功能也需要配置本机PC的相同端口到BMC的VMM端口(默认8208)的转发;

原因2:Token超时

适用场景

通过SSO(单点登录)或其他带认证机制的方式连接KVM。

问题说明

生成token后未及时建立连接,导致token超时失效(通常几分钟有效期)。

解决方案

  1. 生成token后立即建立KVM连接
  2. token超时后刷新页面重新获取