2024年10月,我决定把之前的垃圾一号锐角云和垃圾二号蜗牛星际退役,整点性能更高的东西,从海鲜市场捡了一套HP Elitedesk 800G4 SFF。

当时的价格是这样:

型号价格渠道
准系统800G4330闲鱼
CPUI5-8500289淘宝
内存金龙惠宇16G*2200PDD
SSD1T400JD
万兆网卡MNPA19-XTR*271淘宝
交换机SE106Pro129淘宝
网线光纤AOC线*219淘宝
SATA线单弯头的比较好19淘宝
合计1457

不算万兆互联和SSD的部分大概是800块。听说我下单之后这套准系统就开始涨价了,B站带货真可怕啊。

这台NAS(或者家用服务器)在这半年的服役中效果良好,得益于白金电源,加上万兆网卡和3.5硬盘×2、2.5×1,平均耗电大概只有40W左右。因为是品牌机,据说不支持9代CPU,但互联网上的技术支持比一般的山寨主板要好的多,甚至有完整的维护手册。硬盘螺钉之类的小配件JS会单卖,不过如果有3D打印机的话,也可以自己打:

PLA打印的半高挡板,暂时还没有融化

软件方面,使用大家都喜欢的Proxmox VE,一共开了4个虚拟机,没有LXC容器:

  • HAOS给“智能”家居用,直通了ZBDongle-P。
  • gateway用来和互联网联系。用cloudflaredcaddy代理内网服务,wireguardnatmap来访问内网。
  • OpenMediaVault直通SATA控制器。24年8月买的二手HC530暂时还能用。
  • docker-host用来放一些小服务,因为docker会在iptables里搞东搞西,可能会把gateway里的服务弄坏。

按照惯例(?),放一张服务的图

远程控制

另外,因为是企业级系统,800G4支持Intel vPro,配合8500以上级别的CPU可以开启AMT,实现类似IPMI、IjmP-KVM的“带外”远程控制功能。不过还有一个问题:在开启GPU直通之后,HDMI的输出不再来自主机,远程控制没有图像信号。

为了解决这个问题,可以使用AMT的Serial-Over-LAN功能,使用串口和主机通信。反正没有人会在PVE主机上安装GUI程序对吧。

首先,在BIOS里开启AMT和SOL,记得设置静态IP地址,不需要和PVE系统地址一致;密码要设的长一些,应该包含大小写字母和数字。

控制上建议使用meshcmd,在ARM、x86上都可以运行。./meshcmd meshcommander会开启一个服务器,算是远程访问的远程访问。

BIOS、GRUB和PVE都需要通过串口控制,因为是企业级,HP的BIOS直接支持串口访问;GRUB和Linux开启串口访问需要

  • 找到TTY端口,我这里是TTY4
root@pve-hp:~# dmesg|grep tty
...
[    0.419539] 0000:00:16.3: ttyS4 at I/O 0x3088 (irq = 19, base_baud = 115200) is a 16550A
...
  • /etc/default/grub里添加串口设置
# cat /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty4 console=ttyS4,115200n8" #在原始参数后追加
GRUB_TERMINAL="console serial" #GRUB自身也采用串口输出
GRUB_SERIAL_COMMAND="serial --unit=4 --speed=115200"
...
  • 之后,运行update-grubsystemctl enable [email protected],就能通过meshcommander访问主机了。

突然想到,对于普通电脑,只要搞两根USB转RS-232串口线交叉连结,就可以实现 IP-KVM 80%的效果——就是有点过于low-tech。

另外的一些小问题

NETDEV WATCHDOG: enp0s31f6 (e1000e): transmit queue 0 timed out

# /etc/network/interfaces
iface eno1 inet manual
        post-up ethtool -K eno1 tso off gso off

建议使用GRUB,不建议用sysctl方式设置,万一搞坏了系统,在GRUB界面改回去就能取消直通。