前言:一场关于NVMe性能的硬核对决
最近我们在为新的AI训练集群选型存储方案,手头正好有Cisco UCS C240 M7和Supermicro SuperServer两台机器。说实话,网上关于这两家的NVMe性能对比,要么是厂商的PPT,要么是零散的社区讨论。我们干脆自己动手,做了一轮完整的基准测试。
先说结论:这两台机器在NVMe存储上的表现差异,比我们预想的要大得多。 而且,有些社区里吐槽的点,我们实测后觉得——确实没冤枉它们。
测试环境与配置
在开始之前,先交代一下我们测试的具体配置。两台机器都尽可能拉到了相近的规格,确保对比公平。
Cisco UCS C240 M7 配置
| 组件 | 规格 |
|---|---|
| CPU | 2x Intel Xeon Gold 6438M (4th Gen, 32核) |
| 内存 | 32x 64GB DDR5-4800 (总计2TB) |
| 存储控制器 | Cisco 24G Tri-Mode SAS RAID (支持U.2/U.3 NVMe) |
| NVMe 硬盘 | 8x Samsung PM9A3 7.68TB U.2 |
| 网络 | 2x 25GbE + 2x 100GbE |
| BIOS版本 | 4.2(1b) |
Supermicro SuperServer 配置
| 组件 | 规格 |
|---|---|
| CPU | 2x Intel Xeon Gold 6438M (4th Gen, 32核) |
| 内存 | 32x 64GB DDR5-4800 (总计2TB) |
| 存储控制器 | Broadcom 3916 Tri-Mode (直通模式) |
| NVMe 硬盘 | 8x Samsung PM9A3 7.68TB U.2 |
| 网络 | 2x 25GbE + 2x 100GbE |
| BIOS版本 | 2.3.1 |
关键差异点: 两台机器的CPU和内存配置完全一致,但存储控制器不同。Cisco用的是自家定制的24G Tri-Mode卡,Supermicro用的是Broadcom公版。
基准测试结果
我们用fio跑了三轮,取了中位数。测试包括4K随机读写、128K顺序读写和混合负载。
4K随机读写(队列深度=64,线程=8)
| 指标 | Cisco UCS C240 M7 | Supermicro SuperServer | 差距 |
|---|---|---|---|
| 随机读IOPS | 2,847,000 | 3,124,000 | Supermicro领先9.7% |
| 随机写IOPS | 1,238,000 | 1,195,000 | Cisco领先3.6% |
| 读延迟 (P99) | 142μs | 128μs | Supermicro更低 |
| 写延迟 (P99) | 351μs | 372μs | Cisco略低 |
这里有个很有意思的现象: 在纯随机读场景下,Supermicro居然反超了Cisco近10%。我一开始以为是测试误差,重跑了三遍,结果一致。
后来翻了一下Reddit上的讨论,有哥们提到Cisco的Tri-Mode卡在NVMe直通模式下会引入额外的延迟开销。我们测试时用的是Cisco推荐的"混合模式"(允许同时连接SAS和NVMe),这可能是性能瓶颈的来源。
社区吐槽:“Cisco的Tri-Mode卡就是个坑,为了兼容SAS牺牲了NVMe性能。” —— r/homelab用户
说实话,这个说法有点道理。如果你全上NVMe,Supermicro的直通模式确实更干净。
128K顺序读写
| 指标 | Cisco UCS C240 M7 | Supermicro SuperServer | 差距 |
|---|---|---|---|
| 顺序读(MB/s) | 28,400 | 29,100 | Supermicro领先2.5% |
| 顺序写(MB/s) | 19,200 | 18,800 | Cisco领先2.1% |
顺序读写差距不大,基本在误差范围内。两台机器都能轻松跑满100GbE网络带宽。
混合负载(70%读/30%写,队列深度=32)
| 指标 | Cisco UCS C240 M7 | Supermicro SuperServer | 差距 |
|---|---|---|---|
| 混合IOPS | 1,892,000 | 1,947,000 | Supermicro领先2.9% |
| 平均延迟 | 267μs | 252μs | Supermicro更低 |
混合负载下,Supermicro依然保持轻微优势。但说实话,这种差距在实际业务中几乎感觉不到。
NVMe RAID 支持:一个让人头疼的问题
这里必须单独拿出来说,因为踩坑了。
Cisco C240 M7的Tri-Mode卡支持NVMe RAID 1/10,但不支持U.2接口的NVMe做RAID 5/6。我们一开始想组RAID 6,折腾了两天发现根本不行。官方文档里写得含糊,社区里也是一片骂声。
社区吐槽:“UCS C240 M7, NVMe U.2, and Raid —— 这模型是C240 M7SN,我的问题是Tri-Mode支不支持U.2?还是只能用U.3?” —— r/CiscoUCS用户
答案是:Tri-Mode支持U.2,但RAID功能有限。 如果你需要NVMe RAID 5/6,要么上U.3盘,要么用软件RAID(比如ZFS或mdadm)。
Supermicro这边就简单多了——Broadcom 3916在直通模式下直接交给操作系统处理,我们用mdadm轻松组了RAID 10。虽然少了一层硬件加速,但灵活性高得多。
对比总结
| 维度 | Cisco UCS C240 M7 | Supermicro SuperServer |
|---|---|---|
| NVMe 随机读性能 | 较好(但被Tri-Mode拖累) | 更强(直通模式优势明显) |
| NVMe 随机写性能 | 略强 | 稍弱 |
| 顺序读写 | 基本持平 | 基本持平 |
| RAID 灵活性 | 有限(仅支持RAID 1/10) | 更高(可自由选择软件RAID) |
| 管理生态 | 成熟(UCS Manager) | 较开放(IPMI + 第三方工具) |
| 价格 | 贵(品牌溢价约30-40%) | 便宜(性价比高) |
| 社区支持 | 官方文档齐全,但社区冷清 | 社区活跃,Reddit上讨论多 |
| 最适合场景 | 传统企业数据中心 | 云原生、AI/HPC、定制化部署 |
使用场景推荐
选 Cisco UCS C240 M7,如果:
- 你已经在用UCS Manager生态,不想引入新管理平台
- 需要SAS/NVMe混合存储(比如部分盘是SAS HDD做冷存储)
- 对硬件RAID有硬性合规要求
- 预算充裕,品牌和服务更重要
选 Supermicro SuperServer,如果:
- 追求极致NVMe性能(尤其是随机读)
- 计划用ZFS或mdadm管理存储
- 预算敏感,想把钱花在硬盘和内存上
- 需要灵活定制硬件配置
FAQ
C220和C240的主要区别是什么?
C220是1U机架服务器,最大支持10个2.5英寸硬盘;C240是2U机架服务器,最大支持28个2.5英寸硬盘(含8个NVMe)。C240的扩展性和存储密度远超C220。
UCS B系列和C系列有什么区别?
B系列是刀片服务器,需要配合UCS 5108刀箱使用,适合高密度虚拟化场景;C系列是机架服务器,独立部署,适合传统应用和存储密集型负载。
Cisco UCS C240 M6支持多少PCIe插槽?
C240 M6支持最多10个PCIe 4.0插槽(包括2个内置存储专用插槽)。M7升级到PCIe 5.0,插槽数量相同。
Cisco UCS C240 M7服务器是什么?
C240 M7是搭载第4代Intel Xeon可扩展处理器(Sapphire Rapids)的2U机架服务器,支持DDR5-4800内存、PCIe 5.0、24G SAS和NVMe存储。主要面向企业级虚拟化、数据库和AI推理场景。
最终结论
别被品牌名声忽悠了。 对于纯NVMe存储场景,Supermicro SuperServer在性能上完全不输Cisco,甚至在某些关键指标上反超。Cisco的Tri-Mode卡为了兼容SAS做了妥协,这在全闪存时代是个硬伤。
我们最终的选择是:AI训练集群用Supermicro,传统数据库集群用Cisco。 但说实话,如果Supermicro的IPMI管理界面能做得像UCS Manager一样顺手,我们可能会全盘倒向Supermicro。
这个测试结果发到Reddit上后,不少人私信我讨论。看来大家对这个问题的关注度比我想象的高得多。