[简体中文] / English


AIO Ep19. 联想 HR630x(HR650x) 服务器装机日志 - 1300 元的双路 8259CL 与超大碗 Optane 内存

 

TL;DR

我的 HomeLab 终于迎来了第二台服务器, 进入了存算分离时代.

先看成品: LGA3647 平台 + 双路铂金 8259CL (共 48c96t) + 256GB 傲腾持久内存 (PMem)

成功点亮成功点亮

配置单

/型号价格备注
CPU铂金 8259CL 两个290 元AWS 淘汰的大船, 十分便宜, 不过需要主板解锁高功耗, 见下文
准系统联想 HR630x450 元 + 80 元运费满风扇+双散热器+单电源+背板, 送了张双电口 10G OCP 网卡, 无盘架和 Riser
内存8G 2R*8 2133MHz 两条137 元配合 Optane 使用所需
Optane 内存一代 128G 两条340 元主力内存
亮机测试 CPU银牌 411015 元非必须, 只是 8259CL 需要先解锁功耗才能点亮, 有个测试 U 方便点, 这么大还能当挂件
USB 转 GPIOMCP2221A42 元破解主板功耗用的
螺丝刀LGA3647 螺丝刀 (T30 六角梅花)8.9 元拧散热器用的, 这个螺丝刀不太常见

总花费: 1360.9 RMB

相关测试

以下所有测试在默认 BIOS 选项下进行, 此时 CPU 能全核睿频 3.1GHz, 单核睿频 3.5GHz, 峰值 CPU 功耗约为 400W. 实测关闭睿频能降低约 50-100W 功耗, 但会显著损失 20-25% 的性能, 所以没采用.

Windows PE 下 CPU-z 单核 365 分, 多核 21078 分Windows PE 下 CPU-z 单核 365 分, 多核 21078 分

Windows PE 下 AIDA64 内存测试, 由于不确定 AIDA64 测试是否考虑了 PMem, 且我也只插了双通道, 所以测试结果仅供娱乐Windows PE 下 AIDA64 内存测试, 由于不确定 AIDA64 测试是否考虑了 PMem, 且我也只插了双通道, 所以测试结果仅供娱乐

Linux 下跑 Cinebench R23, 由于 Wine 问题只识别了 64 Threads, 跑分 37246Linux 下跑 Cinebench R23, 由于 Wine 问题只识别了 64 Threads, 跑分 37246

VPS 评测常用的融合怪脚本同款 sysbench 跑分 (单核 951, 多核 75249):

1
2
3
4
# sysbench cpu --threads=96 --cpu-max-prime=10000 --events=1000000 --time=10 run
events per second: 75249.09
# sysbench cpu --threads=1 --cpu-max-prime=10000 --events=1000000 --time=10 run
events per second: 951.79

同款 sysbench 内存跑分:

1
2
3
4
# sysbench --test=memory --num-threads=1 --memory-block-size=1M --memory-total-size=102400G --memory-oper=read --max-time=5 --memory-access-mode=seq run
顺序读速度: 21736.36 MiB/sec
# sysbench --test=memory --num-threads=1 --memory-block-size=1M --memory-total-size=102400G --memory-oper=write --max-time=5 --memory-access-mode=seq run
顺序写速度: 18155.88 MiB/sec

Phoronix Test Suite 中选取了常见的, 耗时不太长的一些 benchmark, 具体数据的在线链接在此:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Percentile Classification Of Current Benchmark Run
PROCESSOR
BYTE Unix Benchmark
Dhrystone 2: 78th
John The Ripper
bcrypt: 74th
HMAC-SHA512: 61st
MD5: 74th
7-Zip Compression
Compression Rating: 26th
D.R: 86th
Timed ImageMagick Compilation
Time To Compile: 32nd
Timed Linux Kernel Compilation
defconfig: 37th
Timed PHP Compilation
Time To Compile: 30th
Primesieve
1e12: 76th
FLAC Audio Encoding
WAV To FLAC: 3rd
OpenSSL
SHA256: 45th
SHA512: 77th
ChaCha20: 77th
AES-128-GCM: 67th
SYSTEM
Stress-NG
CPU Stress: 82nd

发现在重 CPU 性能的 OpenSSL/Stress-NG 等测试中发挥较好, 能打平或超越 9950X. 但在编译场景的发挥就只能打打消费级 DDR5 的 9700X/13700K 之类的 CPU 了, 我还没确定是 Optane 作为系统盘使用导致读写磁盘和内存冲突导致的, 还是 Optane 本身只插了双通道带宽太低导致的, 后续应该会多买点内存来升级多通道… 如有进展再回来补充.

有关噪音及功耗的具体测试, 我写在下面风扇调速一节.

前因后果&选购思路

最近有大量的数据在本地, 需要跑 Spark 和一些 Python 进行分析和计算. 由于硬盘昂贵, 压缩等级开的比较高, 之前的 10900 的平台主板还有故障不能高负载(现在已修复), 加上好久没装机手痒了, 就决定整点新硬件升级一下我的 HomeLab.

本来是想直接升级 AMD 的 9950x(2800 RMB) 或者 Intel 的 Ultra7 265K(1700 RMB), 但最近内存大涨价, 随便配个 64G 内存又是 2000+, 最新一代的主板也不便宜, 看起来现在实在不是一个适合装机的好时候. 整机下来 5000 块完全超出了我 1000-2000 的心理预算区间, 我选择再等几代一波升级.

主板

为了弥补我从 E5 年代开始一直没下手至强的遗憾, 我决定这次直接上机架式服务器平台.

淘宝闲逛发现 3647 平台大船已经靠岸, 价格亲民, 那就直接买新不买旧, 抛弃 E5 上双路至强可拓展系列.

这一代的 Dell 平台 R740 至今还没大量退役, 准系统价格仍接近 5000 元. 搜到的千元级别的平台有浪潮 SA5212M5 (1100 元), 富士康 RM760-FX(700 元) 和联想 HR650x(~700 元). 浪潮这款偏贵一些, 富士康这款在互联网上几乎搜索不到公开的资料, 联想的 HR650x 官网上有详细的文档, 国内外论坛也有一些现成的资料, 就选它了. (最后我选择了 HR630x, 这款除了机箱是 1U 拓展性差, 和 HR650x 主板一样, 资料通用, 还能便宜 200, 这价格拆主板用都不亏)

HR630x 有 24 条 / 16 条内存插槽两个版本的主板, 我这个准系统是 24 条插槽的版本, 还有三条 PCIe 3.0 x16 (半高半长) 以及 8 块 U.2 NVMe 硬盘插口 (需要有背板). 450 元的价格卖家配好了所有风扇 + 2 个 CPU 的散热器 + U.2 硬盘背板和线 + 550W 电源, 还送了张 OCP 接口的双 10G 电口网卡.

快递师傅帮忙送上了门, 机箱有些划痕, 风扇有积灰, 成色一般不过功能正常快递师傅帮忙送上了门, 机箱有些划痕, 风扇有积灰, 成色一般不过功能正常

CPU

选了平台之后再开始选 CPU, 搜索 LGA3647 的 CPU, 开始在一代 Xeon 可拓展的 Gold 6138 (30¥) 和 Platinum 8175M (70¥) 之间纠结. 不过在搜索过程中无意发现的二代 Xeon 可拓展 Platinum 8259CL 直接杀死了比赛. 它虽然性能提升不大且卖 150¥, 但作为二代 Xeon 它支持 Optane 持久内存, 能大幅降低大容量内存的价格. 它是目前唯一售价 200 以下的二代 Xeon, 其他二代 Xeon 都要小一千甚至几千, 那就是它了.

当然这颗 CPU 便宜也不是全无原因的, 它作为 OEM CPU, 功耗为 210W, 超过了这两代 Xeon 正常的 205W 功耗, 在我们的 HR630x 平台上默认是无法点亮的. 需要再买一个 MCP2221A 转接板对服务器的 VRM 控制器进行修改, 解锁功耗. 具体方法我记录在下面.

巨大的 LGA3647 CPU * 2巨大的 LGA3647 CPU * 2

内存

最近 (2025/10) 内存涨价的十分离谱, 实在是没料到即将淘汰的 DDR4 还能逆势大涨. 所以这次装机的二代 Xeon 支持第一代 Optane 持久化内存, 就是这个东西:

看起来就像是一条普通的马甲内存看起来就像是一条普通的马甲内存

它是 Intel 已经抛弃了的黑科技, 使用 DIMM 插槽, 速度介于传统 Memory 和 SSD 之间, 但可以在 BIOS 里配置成系统内存块设备使用. 没错, 你可以自由选择它是一条内存还是硬盘, 太酷啦(x)

由于它必须搭配特定的主板和 CPU 使用, 所以对比起通用的内存来说价格也很便宜, 我买的 128G 单条 PMem 只要 170¥, 虽然也涨了, 但比起现在 1500¥ 起步的 128G DDR4 RECC 还是太眉清目秀了.

根据手册, Optane (DCPMM) 必须搭配内存 (DRAM) 作为缓存使用, 在同一个通道上插一条 Optane + 一根 DRAM 即可. 我这里图便宜, 用了两条 8G 2R*8 2133 的 DDR4 内存搭配两条 Optane, 不符合手册最小 16G 的要求, 不过也能顺利点亮并识别.

相关资料&踩坑

解锁 VRM 功耗

机器到手要点亮第一件事就是得解锁主板供电的功耗, 否则配 8259CL 无法点亮. (不过好消息是, 基本所有主板都引出了解锁需要的 TTL, 参见帖子)

解锁方法来自知名论坛 ServeTheHome 的帖子, 需要购买 MCP2221A 这个模块, 一头连接到电脑, 另一头 TTL 连接到主板上的接口, 写入新的功耗限制. 原帖给出了程序, 不过我先尝试使用了 JDDKCN/KCNVrmModTool 这个仓库, 成功写入.

找到 CPU2 附近的风扇旁边的 VRM I2C 接口, 用万用表确定 GND 后, 剩下两个引脚都试下就能猜出线序了, 没万用表可以排列组合都试下或参考图找到 CPU2 附近的风扇旁边的 VRM I2C 接口, 用万用表确定 GND 后, 剩下两个引脚都试下就能猜出线序了, 没万用表可以排列组合都试下或参考图
运行截图, 命令为 ./ModTool.exe -PXE1610C 74 76运行截图, 命令为 ./ModTool.exe -PXE1610C 74 76

这玩意儿的原理就是向主板上的 VRM 芯片用 I2C 协议发出指令, 修改预设的电流限制. 我们此处使用的 8259CL TDP 仅仅比限制的 205W 高了 5W, 暂时应该不用太担心高负载会导致硬件损坏, 后续各种负载下满载 CPU 功耗也没有超过 420 W (每颗 CPU 210W).

BIOS & BMC 升级

根据 B 站的这篇文章, 据说 HR630x 需要更新 BIOS 才能使用 8259CL 和 Optane. 所以我还特地买个个亮机 u 准备升级, 不过我的这台机器可能卖家帮我升级过了, 所以到手直接点亮, 没用上亮机 u. 记录在此供参考.

如果不知道 BMC 密码的话, 可以在 BIOS 里直接创建新的管理员用户 (Channel 填 1), 或者进系统用 ipmitool 重置 BMC.

官方资料 & IPMI 指令

Lenovo 的官网给出了这个平台完整的 Manual: https://datacentersupport.lenovo.com/us/en/products/servers/thinksystem-hyperscale/hr630x

和其他很多机架服务器一样, 常用模块的安装方法和注意事项印在了机箱盖板上, 如果有不明确的硬件兼容性或安装问题就可以参考手册. 这款 LGA3647 CPU 的安装方法就和家用平台不太一样, 需要先放在散热器上, 再和散热器一同拧到主板上. PCIe 的 riser 卡有两种, 一种支持半高 3 卡; 另一种支持 1 张全高 + 1 张半高, 这在手册上也有提及.

此外, 官网还有一份提供了所有 IPMI 指令的手册, 不用像其他没有资料的 OEM 服务器那样自己去各处寻找或猜测可用的指令了.

风扇调速

知道了 IPMI 指令, 我们可以自己用 ipmitool 调整风扇速度以降低噪音. 在 AI 的帮助下迅速搓出一个风扇调速脚本, 可以在本机 shell 或者通过网络判断 CPU 温度, 自动风扇调速: https://gist.github.com/lyc8503/fb615f8874111bdbf896edd3f01443f0

这台机器启动的默认风扇速度是 60% (~14000RPM) 且不能通过 BMC 网页调速, 噪音很大, 光是 7 个风扇此时就功耗 35W. 我十分好奇地尝试了 100% 转速, 是 20000RPM, 仅风扇功耗就来到 80W, 此时噪音已经是对人类的精神攻击了. 这 1U 小钢炮的风扇也太恐怖了.

满载

但通过 IPMI 调速后, 只要 35% 转速 (~8900RPM) 就能把满载的两颗 CPU (420W 功耗) 压在 85 度左右 (环境温度 15 度), 且其他组件的温度都在 55 度以下, 属于可以接受的水平, 此时 BMC 报告的整机功耗 525W:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# ipmitool -H 192.168.6.99 -I lanplus -U user -P password sdr
Inlet_Temp | 14 degrees C | ok
Outlet_Temp | 32 degrees C | ok
CPU1_Temp | 85 degrees C | ok
CPU2_Temp | 88 degrees C | ok
PCH_Temp | 44 degrees C | ok
DIMMG1_Temp | 36 degrees C | ok
DIMMG2_Temp | 34 degrees C | ok
CPU1_VR_Temp | 51 degrees C | ok
CPU2_VR_Temp | 54 degrees C | ok
PSU1_Temp | 0 degrees C | ok
PSU2_Temp | 26 degrees C | ok
CPU1_DTS | 8 degrees C | ok
CPU2_DTS | 5 degrees C | ok
FAN1_F_Speed | 8855 RPM | ok
FAN1_R_Speed | 8740 RPM | ok
FAN2_F_Speed | 8855 RPM | ok
FAN2_R_Speed | 8970 RPM | ok
FAN3_F_Speed | 8855 RPM | ok
FAN3_R_Speed | 8970 RPM | ok
FAN4_F_Speed | 9545 RPM | ok
FAN4_R_Speed | 8280 RPM | ok
FAN5_F_Speed | 8740 RPM | ok
FAN5_R_Speed | 8970 RPM | ok
FAN6_F_Speed | 9315 RPM | ok
FAN6_R_Speed | 8395 RPM | ok
FAN7_F_Speed | 8855 RPM | ok
FAN7_R_Speed | 8970 RPM | ok
Airflow_rate | 32 CFM | ok
PSU2_PIN | 525 Watts | ok
PSU2_POUT | 500 Watts | ok
PSU2_VIN | 224.48 Volts | ok
PSU2_IIN | 2.35 Amps | ok
PSU2_VOUT | 12.10 Volts | ok
CPU_Power | 420 Watts | ok
MEM_Power | 4 Watts | ok
HDD_Power | 1.29 Watts | ok
FAN_Power | 14 Watts | ok
MB_Power | 62 Watts | ok
Total_Power | 525 Watts | ok

只有在比较极端的负载 (比如 stress -c 96) 下 CPU 才能跑满 420W, 大部分日常的满载 (如编译) CPU 功耗约为 300W, 所以 35% 转速应该对大部分场景是很充裕的. 实测满载编译 Linux kernel 时, 300W 功耗的 CPU 可以被压在 60 度以下.

用我手机上下的不知道是否靠谱的分贝仪软件检测, 此时距离机器半米处的噪音约为 65 分贝. 放在阳台上的话, 在一门之隔的客厅还是会有点吵. 再隔一门的卧室就完全听不到了, 看来以后得晚上睡觉之后跑程序.

待机

正常安装 Linux 并启动, 不运行任何计算任务, 待机状态可以调整为 10% 转速 (~3700 RPM), 此时 CPU 50 度, 待机整机功耗 150W, 反而是南桥更热:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# ipmitool -H 192.168.6.99 -I lanplus -U user -P password sdr
Inlet_Temp | 21 degrees C | ok
Outlet_Temp | 38 degrees C | ok
CPU1_Temp | 51 degrees C | ok
CPU2_Temp | 49 degrees C | ok
PCH_Temp | 56 degrees C | ok
DIMMG1_Temp | 43 degrees C | ok
DIMMG2_Temp | 43 degrees C | ok
CPU1_VR_Temp | 39 degrees C | ok
CPU2_VR_Temp | 39 degrees C | ok
PSU1_Temp | 0 degrees C | ok
PSU2_Temp | 33 degrees C | ok
CPU1_DTS | 42 degrees C | ok
CPU2_DTS | 44 degrees C | ok
FAN1_F_Speed | 3680 RPM | ok
FAN1_R_Speed | 3680 RPM | ok
FAN2_F_Speed | 3680 RPM | ok
FAN2_R_Speed | 3795 RPM | ok
FAN3_F_Speed | 3680 RPM | ok
FAN3_R_Speed | 3795 RPM | ok
FAN4_F_Speed | 3795 RPM | ok
FAN4_R_Speed | 3450 RPM | ok
FAN5_F_Speed | 3680 RPM | ok
FAN5_R_Speed | 3795 RPM | ok
FAN6_F_Speed | 3795 RPM | ok
FAN6_R_Speed | 3450 RPM | ok
FAN7_F_Speed | 3680 RPM | ok
FAN7_R_Speed | 3795 RPM | ok
Airflow_rate | 12 CFM | ok
PSU2_PIN | 150 Watts | ok
PSU2_POUT | 144 Watts | ok
PSU2_VIN | 226.92 Volts | ok
PSU2_IIN | 0.65 Amps | ok
PSU2_VOUT | 12.10 Volts | ok
CPU_Power | 96 Watts | ok
MEM_Power | 4 Watts | ok
HDD_Power | 0 Watts | ok
FAN_Power | 4 Watts | ok
MB_Power | 40 Watts | ok
Total_Power | 150 Watts | ok

这恐怖的待机功耗, 我还是不用的时候把它关了吧…

由于手头暂时没有可以统计功耗的插座, 所以没测试完全关机状态下纯 BMC 的功耗. 根据网上的资料应该在 15W 左右, 此时风扇可以调速到 5% 甚至更低. 环境足够凉的话关闭都行.

把系统装进内存里

我主力的存储还是在原来的 i9-10900 平台上, 我这台新服务器没地方安装系统了. 我可以直接整一个比较小的 U 盘或者 SSD 做引导盘, 或配一个 PXE 的无盘启动.

不过正如上面所说, Optane PMem 可以直接在 BIOS 里配置成一种块设备. 它甚至还能被 BIOS 识别作为引导设备. 所以我们可以真正实现把系统装进内存里, 且重启仍然可用, 无需任何外置的引导手段.

只需要进入 BIOS 的 Optane 设置, 调低 Memory Mode 的比例, 重启到 BIOS 后就可以有空闲空间创建 Region 和 Namespace, 创建出来的空间可以直接在 Linux 系统下被识别为类似 /dev/pmem0 的块设备, 这些块设备上的 EFI 分区可以正确的用于引导系统. 我最终选择了 EndeavourOS, 因为它的图形化 Installer 能自动正确配置上 systemd-boot 引导, 我才不会说是我手装 Arch 少配 kmod 失败了.

多年的梗"内存装系统"终于成真多年的梗"内存装系统"终于成真

结尾

最近刚在(另一个)家里新办了千兆宽带, 等破解好光猫后把旧的 i9-10900 HomeLab 搬过来放到一起, 再配张 10G 网卡互联, 用 NFS 或 iSCSI 挂载存储空间后, 就能愉快的计算了. HomeLab 多点本地算力储备应该可以减少不少传输数据到南京的 EPYC 9654 计算的时间.

本文采用 CC BY-NC-SA 4.0 许可协议发布.

作者: lyc8503, 文章链接: https://blog.lyc8503.net/post/19-first-rack-server-hr630x/
如果本文给你带来了帮助或让你觉得有趣, 可以考虑赞助我¬_¬