DIY带外管理 · 强悍Pi-KVM
Let’s talk about the open source IP-KVM (or KVM over IP) solution based on Raspberry Pi 4B, named Pi-KVM, which has sophisticated feature sets that can provide almost same experience like HP ILO or DELL iDRAC, only except the hardware monitoring and err logging.
- Hardware screen capture with low latency.
- OTG Keyboard & mouse; Mass Storage Drive emulation.
- ATX power control (thru Pi GPIO) with some MOSFET relays.
- RJ-45 and USB serial console port.
- IPMI BMC, redfish… all those professional server stuff support.
- Nice and easy-to-use web UI with virtual keyboard, video quality control, key-combination shortcuts and virtual USB drive control.
- A fully featured, user-customizable Linux OS.
只要玩过专业带外管理,基本就很难接受只有本地键鼠,以及OS之上的RDP和VNC了吧。
随便放两张Dell iDRAC系统截图吧。
今天要聊到的Pi-KVM,在简单廉价的硬件结构上,实现了除硬件子系统监控和告警之外,专业BMC几乎所有功能。
- 低延迟的显示器信号捕捉和传输(100ms以内)。
- OTG 键鼠,U盘模拟;给家用机远程load OS不叫事儿。
- 通过Pi GPIO外加几个继电器实现的ATX电源控制;不说也懂,控制不了电源还叫BMC么。
- RJ45和USB串口;既能控制路由/交换,也能控制自己。
- IPMI BMC,redfish… 专业能玩的,它都能玩。
- 简洁实用的web控制台,软键盘、组合键、粘贴板、视频质量控制、虚拟USB驱动器控制,全乎+易用。
- 除了所有以上之外,还是个全功能的Arch Linux ARM版本,灵活性刚刚的,这可把专用BMC打趴了吧。
多吹无益,上图。
【注】请忽略裸线,5V和GND用胶带缠了一下,反正不是高压,胶带不绝缘也没关系,别物理刺穿就行;银色金属箔是屏蔽,说明小米的线做工还是靠谱的哈,该有的都没少。
按文档制作基于Ventoy的Win10安装盘,全程不用物理U盘,安装Windows。
如果我没说清楚,就重申一遍。类似Dell和HP的专业BMC,可以直接远程挂载ISO装系统。Pi-KVM更狠,借着自己内置存储,直接把U盘/光盘镜像上传,经过物理USB线,模拟一个驱动器插到被控电脑就搞定了,有点爽。
如上所言,被控电脑经USB线连接仿真U盘,BIOS从Linux file-CD启动,无论装什么OS都能够顺利引导。
具体功能菜单浏览:
ATX电源控制,需要接继电器,我懒,没有接。
组合键输入,为什么走浏览器需要用便捷菜单输入键盘快捷键,玩家都懂。
粘贴板,好似还支持多语言,这贴心程度简直了,真心佩服开发者。
键鼠操作记录和回放,这玩意真不常见。安全起见还注明,Pi-KVM不会保存记录。
最后,如上所言,还是个基于Arch Linux for ARM的完整系统,想怎么玩都开放。
那么看官们,习惯哪家的开源远端管理方案我就不举例了,干就完了。
结尾给个DIY参考文档吧:
最后来一张传统艺能,其实全过程中唯一真正需要DIY的,就这根4芯USB Y-cable。
跟10年前在家手焊15pin D型头,在VGA线中集成了3.5mm音频模拟信号来比……嗯,休闲娱乐,丑点,能用就行。
更新一下,评论有人问这个4芯USB Y-cable怎么做,能不能买,我统一答复一下。
这个4芯USB Y-cable自己剥开线皮做一个就行,好像某宝可以买,但买到的应该没有一个A头的5V断开的设计,所以依然还是得剥皮改线。我这就是平常凑单买的一些小米的线,感觉一般人家里买过大量Android手机的都不缺。
按PiKVM作者的说法,就是type A公头两个,type C公头一个:
- 走信号的线,接被控电脑。掐断5V,剩余三根导通,这样子避免被控制的电脑USB host口得到5V输入(不断开的话,极端情况下,可能损坏被控电脑USB供电部分);
- 然后走供电的线,接Pi的供电头。把两根信号掐了,只留5V和GND,这样一边可以让Pi得到达标的供电(毕竟3A呢,靠电脑USB供电没保障),另一边跟Pi和电脑的GND连起来共地,确保USB信号传输的参考地是一致的。
转个图看一眼就明白了:
文章的脚注信息由WordPress的wp-posturl插件自动生成
大佬,您好,我对硬件不太懂,想请教您一下这个pikvm怎么设置。 现在我手里有个树莓派4B,然后只想能远程开机,然后可以进入bios界面就行了,如果DIY的话需要买什么硬件模块呢,万分感谢
作者的官网链接在这里
目标机器的显示输出采集,应该是需要一个HDMI-CSI2的转接器,我也只买了这一件
如果还需要控制电源,那么就需要继电器和一些接线,接到被控制pc的电源插槽上,这一步我不需要所以没做,但要做也挺容易的
其实如果你机器比较好,可以打开wake-on-lan这样局域网发个唤醒包,机器就开机了;还有一种选择就是wifi智能插板,提前把机器bios设置成上电就开机
pikvm作者还提供软硬件一体的产品,前阵子在Kickstarter卖了不少(好像部分是中国生产),只是我不愿等,就自己某宝买的配件,按他教程攒的,效果挺不错
感谢大佬,如果要模拟键盘,是不是还需要类似文章中DIY一个4芯USB Y-cable,这种线市场上有卖的吗
见文章更新。
大佬你好,树莓派3b能不能做?
这软件是人家开源的,也不是我写的。Pi 3b应该充电口没说有OTG功能吧,纯瞎猜的话,我觉得屏幕采集可能问题不大,但OTG模拟键鼠就完蛋了,所以我感觉Pi 3b可能够呛。除非你再加个能做usb otg的硬件被pi 3b去调用。
烙铁断开电路板上面一个0欧电阻,接一个接线柱,就可以实现断开指导usb5v的。还有能力可以开孔加开关也行的。
断开哪块板子?能剪线的事儿,犯不着破坏板子吧