KVM常见问题定位
本指南旨在对KVM的常见问题提供定位方向和思路。
一、上电后KVM界面显示NO SIGNAL
1.1 问题现象描述
服务器上电后,通过Web界面访问KVM,屏幕显示"NO SIGNAL"提示,无法看到服务器端的显示画面。
1.2 问题原理说明
KVM图像数据的传输链路如下:
具体流程:
- 显卡输出图像:服务器显卡输出图像数据,同时传输到BMC芯片的VCE寄存器和近端VGA口
- VCE寄存器缓存:BMC芯片的VCE寄存器接收并缓存图像数据
- KVM服务获取:KVM服务从VCE寄存器读取图像数据并发送给在线的KVM会话
- 前端显示:通过Web界面将图像数据呈现给用户
当KVM未能从VCE寄存器获取到有效图像数据时,会根据不同情况显示预置图像:
- 上电状态:获取图像数据失败 → 显示"NO SIGNAL"
- 下电状态:显示"POWER OFF"等预置图像
1.3 可能原因分析
原因1:系统未正常启动
原因描述:服务器在BIOS自检阶段或OS启动过程中卡住,导致显卡未正常输出图像。
排查方法:
- 通过串口连接服务器,查看启动日志
- 确认系统是否成功进入OS
- 检查是否在BIOS阶段卡住
解决方案:
- 重启服务器或下电再上电
- 查看串口输出,确认启动过程是否报错或卡住
- 若在BIOS阶段卡住,需要联系BIOS团队定位
原因2:CPLD/BIOS版本不匹配
原因描述:CPLD版本过旧,或与更新的BIOS版本不兼容。
排查方法:
- 查询当前CPLD版本和BIOS版本
- 确认版本配套关系
解决方案:
- 更新CPLD和BIOS版本至配套版本
- 重启服务器使配置生效
原因3:显卡故障或硬件链路故障
原因描述:显卡硬件或数据链路本身故障,导致无法输出图像信号。
排查方法:
- 在服务器近端VGA口连接显示屏
- 观察近端显示屏是否有显示
- 若近端也无显示,说明问题出在显卡或更上游
解决方案:
- 联系硬件团队进行显卡或硬件链路故障诊断
原因4:PCIe建链失败
原因描述:PCIe链路建立失败,导致VCE寄存器工作异常。
特征:
- 近端VGA口有显示
- KVM界面显示NO SIGNAL
- 说明显卡工作正常,但VCE寄存器未能正常工作
排查方法:
- 检查PCIe链路状态
- 查看BMC侧PCIe寄存器
- 查看一键收集日志中的相关报错
解决方案:
- 联系硬件团队检查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读取文件后提供给服务器使用。
前置检查:
在进行详细排查前,请先确认以下基本条件:
- 确认VMM功能已使能:确保VMM功能已打开且未被其他会话占用
- 确认远程服务器可达:测试网络连通性
ping <远程服务器IP> - 确认镜像文件存在:在远程服务器上确认文件路径
2.3 可能原因分析
原因1:文件系统大小写敏感问题
问题说明:
NFS/CIFS协议通过mount命令将远程目录挂载到BMC进行文件传输。部分服务器的文件系统存在大小写敏感或不敏感的特性,可能导致挂载路径与预期不符。
案例说明:
假设CIFS服务器上同时存在以下两个目录:
服务器实际目录结构:
├── CIFSshare/ (目录A)
│ └── image.iso
└── CIFSShare/ (目录B)
└── other.iso当CIFS服务器文件系统对大小写不敏感时,无论挂载URL中填写的路径是什么,实际挂载的目录可能都是固定的:
# 以下三种写法可能实际都挂载到 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:文件格式或编码问题
问题说明:
镜像文件本身损坏或格式不兼容。
排查方法:
# 检查ISO文件完整性
file /path/to/image.iso
# 尝试本地挂载验证
mount -o loop /path/to/image.iso /mnt/test解决方案:
- 重新下载或生成镜像文件
- 确保文件传输过程中未损坏
- 使用标准格式
三、KVM界面键鼠无法输入
3.1 问题现象描述
通过KVM Web界面连接服务器后,可以看到显示画面,但键盘和鼠标输入无响应,无法对服务器进行操作。
3.2 问题原理说明
KVM键鼠输入是通过USB重定向技术实现的。用户在浏览器的键鼠操作需要经过以下链路:
3.3 可能原因分析
原因1:USB枚举未下发
问题说明:
USB设备在OS启动枚举过程中未能正确下发,这是导致KVM键鼠无法输入的最常见原因。
关键日志特征:
在dmesg日志中出现类似以下错误:
request xxx was not queued to yyy排查方法:
# 查看最近一次OS启动时的USB枚举日志
dmesg | grep -A 5 -B 5 "usb device-0"
# 搜索枚举未下发的特征日志
dmesg | grep "was not queued"解决方案:
此问题涉及芯片SDK层面的USB设备枚举和下发机制,需要:
- 收集完整的dmesg日志及一键收集日志
- 记录问题复现的详细步骤
- 联系芯片SDK团队进行定位分析
四、通过VMM本地挂载安装OS用时过长
4.1 问题现象描述
使用VMM本地挂载镜像文件安装操作系统或挂载传输文件时,安装速度明显慢于预期,耗时过长。
4.2 问题原理说明
VMM本地挂载的数据传输链路:
数据流向说明:
- 镜像文件传输:本地PC上的ISO镜像文件通过网络传输到BMC
- BMC缓存处理:BMC接收并缓存镜像数据
- USB设备交互:BMC将数据通过USB协议写入服务器的虚拟USB设备
- 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 优化建议
- 使用本地网络:尽量将客户端放置在服务器所在的局域网内
- 设置BMC网口模式:设置BMC网口为专用管理网口
- 升级bmc_sdk版本:使用最新版本以获得性能优化
- 镜像优化:使用精简版的镜像安装可减少传输数据量
五、上电后KVM界面卡住无变化
5.1 问题现象描述
服务器上电后,KVM界面显示的图像静止不动,长时间无任何变化,看起来像"卡住"了一样。
5.2 问题原理说明
首先需要区分是图像数据冻结还是键鼠无响应导致画面未变化。
问题区分:
图像数据冻结特征:
- 画面完全静止,没有任何更新
- 光标不闪烁
- 时钟显示不更新
- 窗口内容不变化
键鼠无响应特征:
- 键盘和鼠标输入无效
- 但画面可能有正常更新(如光标闪烁、时钟走动)
- 按键或点击无反应
区分方法:
- 观察光标是否闪烁:光标正常闪烁说明图像数据正常传输
- 通过串口连接服务器确认系统是否正常运行
5.3 可能原因分析
原因1:显卡驱动未加载
问题说明:
当确认系统已正常进入OS,但KVM界面图像无变化时,可能是hibmc_drm驱动未正常加载。
检查方法:
# 查看hibmc_drm驱动是否已加载
lsmod | grep hibmc
# 尝试手动加载hibmc_drm驱动
modprobe hibmc_drm
# 查看驱动相关日志
dmesg | grep hibmc解决方案:
- 如果手动加载驱动后问题恢复,说明是驱动未自动加载的问题
- 驱动未加载的问题需要OS领域继续定位
- 需要检查为什么驱动没有在启动时自动加载
六、打开KVM界面提示网络中断
6.1 问题现象描述
打开KVM界面时,提示"网络中断"、"连接失败"或类似错误信息,无法正常建立KVM连接。
6.2 问题原理说明
KVM连接建立过程:
端口对照表:
| 功能 | 默认端口 | 说明 |
|---|---|---|
| Web接口 | 443 | Web管理界面 |
| KVM服务 | 2198 | KVM远程控制 |
| 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超时失效(通常几分钟有效期)。
解决方案:
- 生成token后立即建立KVM连接
- token超时后刷新页面重新获取