- 文档
- 教程
【免费下载链接】pikvm
Open and inexpensive DIY IP-KVM based on Raspberry Pi
本篇技术解读基于 PiKVM 官方发布公告(docs/blog/posts/2020/2020-06-20/index.md),围绕 KVMD 1.71 版本引入的两项核心改进展开:IPMI 模拟器对ipmiutil health命令的支持,以及 Web 界面中键盘/鼠标操作宏的录制、保存与回放能力。读完本文,你将掌握如何在 PiKVM 上启用 IPMI BMC 服务并用ipmitool/ipmiutil查询主机健康,同时了解宏功能的 JSON 格式、菜单操作方式及其脚本化远程播放的实战思路。
版本背景:KVMD 1.71 的两个改进
KVMD(KVMD Daemon)是 PiKVM 的核心控制守护进程,PiKVM 作为基于 Raspberry Pi 的开源 IP-KVM 方案,将键盘、视频、鼠标信号通过 IP 网络远程交付给管理员(见仓库 README.md 对项目定位的说明)。1.71 版本带来两项改进:
- IPMI 服务增强:IPMI 模拟器新增对
ipmiutil health命令的支持,使得 IPMI 客户端不仅能做电源管理,还能查询系统健康状态; - Web 宏录制:在 Web 界面中可以录制服务器上的键盘与鼠标操作序列,保存后随时回放,适合在多个机器上重复执行相同操作序列的场景。
IPMI 服务改进:ipmiutil health健康状态查询
IPMI 与 PiKVM 的 BMC 角色
IPMI(Intelligent Platform Management Interface)是传统的数据中心服务器带外管理协议。PiKVM 通过kvmd-ipmi守护进程扮演 BMC(Baseboard Management Controller)角色,对外提供 IPMI 服务,使企业已有的大规模 IPMI 管理基础设施可以直接纳管由 PiKVM 接入的主机。仓库 README.md 明确指出可以使用ipmitool、ipmiutil或任何支持 IPMI 的网络基础设施来监控和管理服务器的电源,Redfish 与redfishtool同样受支持。
KVMD 1.71 的改进在于:此前 IPMI 模拟器已能响应电源类操作(如 power status / power on),本次更新进一步让ipmiutil health命令——用于查询传感器与系统健康状态的标准命令——也能得到正确响应,从而补齐了基于 IPMI 的健康监控能力。
启用 IPMI 服务(Step by Step)
根据 docs/ipmi.md 的官方步骤,在 PiKVM 上启用 IPMI 服务需要以下操作:
将只读文件系统切换到读写模式:
[root@pikvm ~]# rw在
/etc/kvmd/ipmipasswd文件中配置 IPMI 账户(文件内有注释说明格式)。注意:由于 IPMI 协议的历史遗留限制,密码以明文存储,官方建议不要在此处复用你在别处使用的密码。启用
kvmd-ipmi守护进程:[root@pikvm ~]# systemctl enable --now kvmd-ipmi将文件系统切回只读模式:
[root@pikvm ~]# ro在客户端机器上验证服务:
$ ipmitool -I lanplus -U admin -P admin -H pikvm power status $ ipmitool -I lanplus -U admin -P admin -H pikvm power on
启用后,kvmd-ipmi默认监听 UDP 623 端口(IPMI 标准端口),并在 Web UI 的系统信息面板中作为kvmd-ipmi服务条目出现(参见 docs/api.md 中info_extras_state事件对kvmd-ipmi服务及端口 623 的注册描述)。
配置结构:override.yaml 中的 IPMI 设置
PiKVM 使用 YAML 格式的/etc/kvmd/override.yaml覆盖默认配置。根据 docs/config.md 的说明,配置项以键值对组织,嵌套键使用四个空格缩进(不可用制表符)。IPMI 认证配置的完整路径如下:
ipmi: auth: file: /etc/kvmd/ipmipasswd其中file指向 IPMI 账户口令文件。若需要调整 IPMI 的 Serial-over-LAN(SoL)行为,则按 docs/ipmi.md 的示例,在 override.yaml 中加入:
ipmi: sol: device: /dev/ttyUSB0 # Path of your USB-COM adapter speed: 115200配置修改后重启服务生效:systemctl restart kvmd-ipmi。
使用 ipmiutil 查询健康状态
得益于 1.71 的改进,现在可以在客户端使用ipmiutil工具执行健康查询。ipmiutil health是 ipmiutil 工具集中用于显示系统健康状态的命令,其输出基于 BMC 的传感器数据。配合仓库 README.md 中"IPMI BMC and Redfish:使用ipmitool、ipmiutil或任何支持 IPMI 的现有网络基础设施来监控和管理服务器电源"的说明,可以确认 ipmiutil 已纳入官方支持的 IPMI 客户端范围。典型调用形式与ipmitool类似,通过-H指定 PiKVM 地址、-U/-P指定账户与密码。
安全注意事项
仓库官方文档 docs/ipmi.md 给出了强烈警告:IPMI 协议本身存在安全缺陷,切勿在不受信任的网络中使用。原因包括口令明文存储、协议固有的加密与认证弱点。官方建议优先使用 Redfish(基于 HTTP 的现代替代协议)或 KVMD API 完成远程管理;若必须使用 IPMI,请限制在可信内网环境。
延伸:IPMI Serial-over-LAN(SoL)
kvmd-ipmi还支持 IPMI SoL 特性,即通过串口网络代理获得被管服务器的控制台访问:将 USB-COM 适配器连接到 PiKVM,适配器的 COM 口连接目标服务器,然后在 override.yaml 中配置上述ipmi.sol段。之后客户端执行ipmitool -I lanplus -U admin -P admin -H pikvm sol activate即可进入串口控制台会话。
Web 界面宏录制:录制、保存与回放
功能定位
宏功能解决的是"重复执行相同键盘/鼠标操作序列"的痛点:在服务器上录制一组操作(例如进入 BIOS 时反复敲击 F2),保存后在任意时刻、任意接入的机器上回放。宏文件以下载形式导出,使用便捷的 JSON 格式,因此可以脱离 Web 界面、用任何语言编写脚本在远程回放。
宏菜单入口
在 Web UI 工具栏中,宏功能位于工具栏菜单区(docs/webui.md 将工具栏第 4 项描述为"在这里你可以编写一个宏,例如按下 F2 进入 BIOS,并可将无限循环回放设为开启")。宏菜单提供脚本的上传与下载能力,方便你编写或复用宏定义。
JSON 格式与脚本化回放
1.71 发布公告特别强调了宏的 JSON 文件格式:宏被记录为键盘与鼠标事件序列,以结构化 JSON 描述,因而可读、可编辑、可编程。这意味着你无需依赖浏览器录制,可以直接手写或程序生成宏文件,再通过工具推送到指定 PiKVM 上执行。发布公告同时给出参考实现:官方提供了一个用 Python 编写的示例脚本,用于在指定的 PiKVM 上播放宏——这为自动化巡检、批量装机初始化等场景提供了现成的脚本范式。
宏功能的后续演进
宏能力在后续 KVMD 版本中持续增强,可以在仓库博客中看到清晰的演进脉络:
- KVMD 1.100(docs/blog/posts/2020/2020-09-11/index.md):Web 界面中的宏新增**循环回放(looped playback)**能力;
- 后续版本(docs/blog/posts/2021/2021-09-26/index.md):ATX 与 GPIO 动作也被纳入宏录制,宏从单纯的键盘/鼠标序列扩展为"按键 + 电源 + GPIO"的综合自动化脚本。
这一演进印证了宏机制在 PiKVM 中并非一次性功能,而是逐步成长为核心自动化接口。仓库 README.md 的 Macro scripts 特性条目也将其列为官方能力:当需要在被管服务器(或多台服务器)上执行重复操作时,可录制包含键盘与鼠标动作的宏并多次回放。
小结与升级路径
KVMD 1.71 的两个改进分别覆盖了 PiKVM 的两类典型使用场景:
| 改进项 | 解决的问题 | 关键能力 |
|---|---|---|
IPMIipmiutil health | 带外健康监控 | 健康状态查询 + 电源管理,兼容企业 IPMI 基础设施 |
| Web 宏录制 | 重复操作自动化 | 键盘/鼠标录制、JSON 导出、脚本化远程回放 |
KVMD 作为 PiKVM 软件栈的一部分随 PiKVM OS 分发,系统基于 Arch Linux ARM,软件包可通过pacman一行命令更新(README.md)。关于 IPMI 的完整配置参考 docs/ipmi.md,配置项语法见 docs/config.md,Web 界面各菜单(含宏菜单)的使用说明见 docs/webui.md。需要提醒的是,IPMI 仅应在可信内网使用,对外管理场景请优先采用 Redfish 或 KVMD API。
- 文档
- 教程
【免费下载链接】pikvm
Open and inexpensive DIY IP-KVM based on Raspberry Pi
相关推荐
PiKVM KVMD 2.4 特性解析:相对鼠标模式与蓝牙 HID 键盘鼠标模拟
PiKVM KVMD 2.4 特性解析:相对鼠标模式与蓝牙 HID 键盘鼠标模拟 KVMD 2.4 是 PiKVM 软件栈(KVMD,即 KVM 守护进程)在
文档教程终极指南:如何通过Redfish监控PiKVM健康状态(OK、Warning、Critical全解析)
终极指南:如何通过Redfish监控PiKVM健康状态(OK、Warning、Critical全解析) PiKVM是一款基于树莓派的开源IP KVM解决方案,支
文档教程LLaMA-Factory 在昇腾 NPU 上怎么安装 bitsandbytes 以支持 QLoRA 量化微调
LLaMA Factory 在昇腾 NPU 上怎么安装 bitsandbytes 以支持 QLoRA 量化微调 在昇腾 Ascend NPU 上使用 LLaMA
文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考