欢迎光临散文网 会员登陆 & 注册

使用 Orangepi Zero 构建一个低成本的 Pikvm

2023-01-13 07:33 作者:最後の1キロ  | 我要投稿

准备工作

  • 一个 Orangepi Zero。

  • 一个 HDMI to USB 的采集卡。

  • 一个>4GB 的 TF 卡 及 读卡器。

  • 一根网线。(仅需要百兆,四芯线即可)

  • 两根 USB-A to micro-USB 数据线。  (或"一根 USB-A to micro-USB 或一根 其他 to USB-A")*若主板支持USB关机供电可以直接使用一根USB-A to micro-USB 数据线

  • 一根电烙铁,部分松香及焊锡(如果有的话)

  • 如果被控机没有HDMI接口请自备一个转HDMI的转换器

缺点

  • 一些非UEFI BIOS 可能无法使用虚拟键盘控制。

  • 最后一次更新为2020 两年未更新。

  • Orangepi Zero只有百兆网口,若需要远程安装镜像,传输过程将会很久。

开关机解决方案

  • 可以使用Wake-on-LAN进行网络唤醒。

  • 可以在BIOS中设置来电自启,再配置一个智能插座也可以实现远程开关机。

  • 参考 https://github.com/Yura80/pikvm-rock64/issues/6

相关链接

  https://github.com/Yura80/os/releases

  https://github.com/pikvm/pikvm


价格参考

物品| 参考价格(CNY) | 备注 |

OrangePi Zero | 50.00 | 闲鱼上的二手板子,现在好像没有这个价了 |

HDMI to USB采集卡 | 35.00 | 在淘宝上随便找即可 |

网线 | 8.00 | 在淘宝上随便找即可 |

USB-A to micro-USB 数据线*2 | 9.90 | 在淘宝上随便找即可 |

HDMI线 | 9.90 | 在淘宝上随便找即可 |

除了OrangePi Zero、HDMI to USB采集卡,其他均为乱标

提示

  •   尽量放在通风的地方,如果可以请加装一个1.4cm的散热片在CPU上。

介绍

  • 什么是 Orangepi Zero?

  这是一款便宜的开发板,可以让我们使用更低的成本搭建一个 pikvm,不必使用昂贵的 raspberry pi 进行搭建。

  • 什么是 pikvm?

  pikvm 是一个开源的 KVM over IP 项目,它可以让你在局域网内对一台计算机或服务器进行远程管理。你可能会想到 IPMI,那是一个对专属服务器进行远程管理的模块,无法使用其对普通计算机进行管理。

  • 什么情况下我需要使用到 pikvm?

  当你管理的主机出现网络异常等情况你可以使用 Pikvm 进行连接管理,当网络修好以后就可以继续使用 RDP、ssh 协议继续连接。pikvm 相当于一台主机最后的远程访问后盾。

  • 为什么我要使用 Orange Pi Zero 来搭建 Pikvm?

  因为疫情原因导致停工停产, raspberry pi 的价格水涨船高。

  虽然就算 raspberry pi 不涨价我也买不起,但是我在群友的分享下找到了 50 块的 Orangepi Zero,此前我就在 reddit 上找到了有人构建出了 OrangePi Zero 的 Pikvm 镜像。不过除了我这个方式我见 Github 上还有使用一台 X86 主机安装 Docker 运行 Pikvm 镜像的,方法不唯一吧。


步骤

制作数据线

*如果你的主板支持USB关机供电可以直接在BIOS中开启该功能。然后只需要一根USB-A to Micro-USB的数据线就可以实现该功能。

  • 本步骤亦可参考视频 BV1TL4y1375U (00:27 ~ 02:00)。

  • 将一条 USB-A to micro-USB 的外皮中间部分剥开,这时你应该看到四种颜色的线: 红,黑,白,绿。(若该线只有红黑说明这条线无法使用。)

  • 将红黑线剪断,如果做不到可以全部剪断。

  • 将另一条线剪断。

  • 将 USB-A 那头的尾端部分外皮剥开,将红线和黑线的外皮剥开,露出铜芯。


图来自pikvm官方文档
  • 将线按照上图连接起来,有电烙铁最好使用一些焊锡将其焊上。

  • 数据线制作完成。

刷入镜像

  • 从 https://github.com/Yura80/os/releases 下载需要的镜像,文件名"v2-hdmiusb-generic-aarch64-orangepi-zero-plus.img.bz2" "v2-hdmiusb-generic-arm-orangepi-zero.img.bz2"(该区域曾经出现过错误,现因评论区提醒已修正,请注意。非常抱歉。)

若找不到请先点击 Show all 16 assets
  • 将 TF 卡插入读卡器后将读卡器插入电脑。

  • 使用 SD 卡烧录工具,如 Win32DiskImager 进行烧入。(如果可以最好使用 SD Card Formatter 先格式化一下)

  • 当提示"Write Successful"。说明镜像刷入完成。

启动前准备

  • 将 HDMI-to-USB 采集卡插入 Orangepi Zero 唯一的 USB 口。

  • 将网线接入需要连接的交换机或路由器,如果房间的网口无法插入两个设备,可以购买一台交换机。(?

  • 将 TF 卡插入 Orangepi Zero 的 TF 卡槽。

  • 一切准备就绪,将数据线 USB-A 供电一头插入充电器或排插,另一条 USB-A 插入主机,Micro-USB 插入 Orangepi Zero。

  • 等待开机完成,完成后会在 Micro-USB 口附近亮绿灯。

连接 Pikvm

  • 在浏览器输入路由器的地址(一般家庭为 192.168.1.1),在设备管理一栏(或者家长控制之类的)找到设备名称为 Pikvm 的设备,将 IP 复制。

  • 将 IP 粘贴到浏览器地址栏,会提示不安全连接,这是因为 Pikvm 的自签名证书在你的主机上不可信。我们不需要管因为这说明了我们的访问是经过加密的,我们选择"高级"-"继续前往"。

  • 现在我们会到一个登录界面,我们使用用户名(Username) admin 密码(password) admin 登录即可

  • 登录成功后我们选择"KVM",即可对被控机进行控制。(请不要闲的没事使用被控机控制被控机)

修改密码

  • 使用 pikvm 的默认密码是非常不安全的,我们需要对其进行修改密码的操作。

  • 进入pikvm的浏览器界面。

  • 选择 "Terminal" 进入pikvm的终端。

  • 输入 "su" 后回车。然后,输入默认密码 "root" (不会显示,不用理会),回车。

  • 这时候,你应该能看到左边的用户名从 kvmd-webterm 变成了 root。

  • 输入"rw"后回车(使储存可写)。

  • 以下步骤为修改浏览器中所使用的登陆密码及账号。

  • 输入"kvmd-htpasswd del admin"后回车。删除默认账号。

  • 输入"kvmd-htpasswd set {你想要的用户名}"后输入密码,输入后回车输入第二遍。

  • 输入"systemctl restart kvmd kvmd-nginx" 后回车,应用更改。

  • 以下步骤为修改系统账户的密码。

  • 输入"passwd"修改 pikvm 的 root 密码,最好与上面的密码不一致,输入后回车输入第二遍。

  • 修改密码完成。

设置静态 IP

  • 进入pikvm的浏览器界面。

  • 选择 "Terminal" 进入pikvm的终端。

  • 输入 "su" 后回车。然后,输入你的密码(不会显示,不用理会),回车。

  • 这时候,你应该能看到左边的用户名从 kvmd-webterm 变成了 root。

  • 输入"rw"后回车(使储存可写)。

  • 输入"vim /etc/systemd/network/eth0.network"回车。

  • 按下 i 进入编辑模式,使用方向键将光标跳到"DHCP=yes",将"yes"改为"no"。

  • 将光标移到文档最后,回车新建一行,输入"Address={需要的 IP}/{掩码,一般为 24}"。

  • 将光标移到文档最后,回车新建一行,输入"Gateway={路由器的 IP}"。

  • 将光标移到文档最后,回车新建一行,输入"DNS={一个 DNS IP, 例如阿里的 223.5.5.5}"。

  • 按下 ESC,输入":wq"保存后,输入 reboot 重启。

示例 亦可根据自己的网络需求修改

  - 设置静态 IP 完成,以后连接 pikvm 只需要输入{需要的 IP}即可


我此前从未写过哔哩哔哩专栏,以上文档是使用Markdown进行编写后稍微进行修改的。

若无法正常阅读请见谅。

这也是本人第一次写教程,本来是想当个视频文案的,但我现在根本不敢上传视频。

本教程几乎没有任何技术含量,本教程所走的方法是我能想到最简单最便宜的了。不需要重新编译镜像,主要难点或许就只有制作数据线了。

数据线如果不想做也可以直接拿一个四芯的MicroUSB to USB-A的数据线,然后直接连接被控机,但这样Pikvm将无法一直通电。

有问题请在评论区说明,尽量回答。

本教程创立之初没有任何诋毁、指责、人身攻击、踩一捧一、针对任何团体及个人,创立原因纯属兴趣及在和别人讨论时出现的想法,本教程也不对除了Orangepi Zero以外的任何产品做推荐,品牌的要求。你也可以将所使用的开发板换成其他的开发板。

镜像作者不是我,出现问题请前往Github(https://github.com/Yura80/pikvm-rock64)提交Issues。

本教程仅提供一种简单便宜的方式,解决方案。并没有说"不能使用raspberry pi。"或"使用raspberry pi的都是笨蛋"等内容。希望不要以本方式对我进行讨伐。

若文章中出现了什么错误也请在评论区下进行说明,本人语言组织能力也不太行,出现语病你也可以在下面说明。如果能直接给出解决方案就更好了。

在文中如果感觉到自己被我攻击或出现版权许可等问题,给出的理由恰当我会立即删除本文章。

祝成功。

使用 Orangepi Zero 构建一个低成本的 Pikvm的评论 (共 条)

分享到微博请遵守国家法律