专栏名称: 企业存储技术
企业存储、服务器、SSD、灾备等领域技术分享,交流 | @唐僧_huangliang (新浪微博 )
目录
相关文章推荐
51好读  ›  专栏  ›  企业存储技术

直联还是交换?Intel、AMD服务器NVMe SSD IO拓扑速查手册

企业存储技术  · 公众号  ·  · 2019-12-02 08:15

正文

请到「今天看啥」查看全文


本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博 @唐僧_huangliang,以便更好地与读者互动。


周末看到一份资料觉得不错,因此写点东西分享给大家。

谈到存储服务器,或者说盘位数比较多的 Server ,在前些年大多是 SAS SATA 硬盘 /SSD 接口。从主板( CPU )到盘之间一般会经过多端口 SAS RAID/HBA 卡( 8 口的最流行),可能还有 SAS Expander 芯片。单个 12Gb SAS 驱动器不超过 1.2GB/s 全双工的理论接口带宽(实际上许多 SSD 达不到这么快, HDD 就更不用说了), SATA 6Gb/s 只有一半, PCIe 存储控制卡有时可能成为瓶颈,而在需要的情况下可以配多卡。

到了 NVMe SSD 时代,由于单盘接口提升到 PCIe 3.0 x4 ,为了让现在读带宽动辄超过 3GB/s 的企业级 SSD 能“吃饱”,直连 CPU (从主板上转接)看上去是性价比较高的一种选择。


关注服务器的朋友应该都知道,每颗 Xeon Scalable CPU 提供个 48 PCIe 3.0 lane ,假设把 2 CPU 96 lane 全部用来连接前置 U.2 NVMe SSD 的话,刚好够 24 盘位。而事实上几乎没有服务器会如此设计,因为还有网卡等 PCIe 设备需要连接。

在这种情况下,就需要 选择和取舍

2U 双路 Intel Xeon SP NVMe x12 (最大带宽型)

PowerEdge R740xd CPU mapping with twelve NVMe drivesand twelve SAS drives

上图是 Dell R740xd 服务器的一种 2.5 英寸盘位支持方式—— 12 NVMe SSD+12 SAS (兼容 SATA )。我们看到背板上 NVMe 热插拔位分成 3 ,每组通过线缆连接到插在 PCIe x16 槽位的 PCI Extender 上,其中一组由 CPU 1 支持,另外两组连接 CPU 2

扩展阅读:《 Dell PowerEdge R740xd 解析:服务器只看参数那就错了

在此基础上, CPU 1 PCIe 控制器还能支持一块 x8 PERC RAID 卡或者 BOSS 卡(参见:《 Xeon SP 服务器的 M.2 SSD RAID :揭秘 PowerEdge 14G BOSS 》),以及一个 x16 插槽可用于像 Mellanox IB 或者 Intel Omnipath 这样的高速网卡; CPU 2 也还能提供 2 PCIe x8 全高扩展槽。


上面照片就是我以前见过的 PCI Extender Card 。其主芯片应该是一颗 PCIe Switch ,通过 2 个连接器( x8 )和线缆将信号引到背板(中板),除了 保持 PCIe 信号完整性和放大之外,还有助于实现 lane 拆分( 4 x4 lane )和 NVMe 热插拔支持

有朋友可能会有疑问:上述设计中的 PCI Extender Card 加上线缆也会增加成本?而 R740xd 这样做无疑是为了 灵活性 ,一旦用不到那么多 NVMe SSD PCIe 槽位就可以安装别的扩展卡。

上述第一种方案, 12 NVMe 盘的带宽性能可以得到最大发挥。但也有一些应用场景对容量密度的要求更高,单盘性能可以放在其次。

2U 双路 Intel Xeon SP NVMe x24 (最大容量型)

PowerEdge R740xd CPU mapping with twenty-four NVMedrives

这个是 24 盘全 NVMe R740xd 机型, Dell 使用 2 PCI Extender Card 各自连接到一个 80 port PCIe Switch 交换芯片(位于背板的 Daughter 卡上),分别支持 12 NVMe SSD 。也就是 2 PCIe x16 上行 x48 下行的设计, I/O 压力仍然分担在 2 CPU

上述“最大容量型” NVMe 方案,比前面的最大带宽型配置还多空闲出一个 PCIe x16 槽位。

介绍完 Intel 主流机型,我再带大家看看 AMD 服务器的情况。早在两年前我就给大家介绍过 AMD 平台更强的 PCIe 扩展能力,参见:《 超越 Xeon AMD Naples 服务器的理想与现实 》。


在双路 EPYC 服务器上,每颗 CPU 64 lane PCIe 控制器被重定义为 CPU 之间的 Infinity Fabric ,所以用于连接 PCIe 设备的仍然是总共 128 lane ,与单路 AMD 服务器一样。

2U 双路 AMD EPYC NVMe x12 (最大带宽型)

PowerEdge R7425 CPU mapping with twelve NVMe drivesand twelve SAS drives

R7425 Dell 第一代 AMD EPYC 服务器中的 2U 双路机型。我们看到同样是 12 x NVMe + 12 x SAS/SATA 的盘位支持,却有 2 组共 8 NVMe SSD 直连 CPU (主板) ,另外一组 4 NVMe 连接 PCIe x16 插槽上的 Extender Card

在这里 AMD 机型的特点显而易见——上述配置下 剩余的 PCIe x16 全高插槽还有 3

不知是否有朋友还记得我在《 AMD EPYC 二代服务器预览: Dell 扩展 2U 4 节点 HPC 机型 》中曾经提到, PowerEdge R7425 可以提供 6 PCIe 3.0 x16 插槽来支持 NVIDIA Tesla T4 GPU 。那么对于上图中的 Slot 5 Slot 2 以及 Slot 7 肯定还有另外的配置形式。

引用自《 Dell EMC PowerEdge R7425 Technical Guide 》,如果采用我红圈标注的方式来配置,估计驱动器热插拔背板就是纯 SAS/SATA 了。此时仍有可能支持 NVMe SSD ,别忘了在 6 PCIe x16 之外还有一个 PCIe x8 Slot 6 插槽。

注:本文中讨论的 PCIe lane 数量指的都是实际电气信道 ,而非物理插槽长短。

为了给大家看下 CPU 插座边的 PCIe 连接器长啥样,下面我列出《 Dell PowerEdge R640 NVMe 直连、 NDC 网卡、 PERC10 一览 》中的一张照片。

2U 双路 AMD EPYC NVMe x24 (最大容量型)

讲完了 AMD NVMe “最大带宽型”,我们再来看看“最大容量型”。

PowerEdge R7425 CPU mapping with twenty-four NVMe drives

如上图,在 R7425 平台上, CPU 1 2 各自用 x16 PCIe 直连 PCIe Switch ,然后 2 Switch 芯片一共连接 24 NVMe SSD 。每个 PCIe Switch 同样是 16 lane 上行、 48 lane 下行的配置,而在这里已经 不需要 PCI Extender Card ,前面一种方案( Riser卡 1A )被占用的 PCIe Slot 3 x16 被释放出来。

此时也可以选择将这部分 I/O 资源,改配 Riser卡 1D 分拆为 Slot 2 Slot 3 2 PCIe x8 。如果插上个 H840 这样的外部接口 SAS RAID 卡,可以用来连接 PowerVault MD/ME4 JBOD 磁盘扩展机箱。

凭我的感觉,尽管 AMD EPYC服务器推广初期的销量比 Intel 机型还有较大差距,但 Dell 设计上依然投入了不少心思

参考资料《 NVMe and I/O Topologies for Dell EMC PowerEdge Servers

https://downloads.dell.com/manuals/common/nvme-io-topologies-poweredge.pdf

文档里除了我介绍的 R740xd R7425 之外,还有 R440 R640 R6415 R7415 R840 R940 R940xa 服务器的 NVMe I/O 拓扑说明,希望这份速查手册能够对大家有帮助。


扩展阅读:《 服务器SSD RAID性能速查手册



:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流 技术 可以 加我的 QQ/ 微信: 490834312 。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号: HL_Storage

长按二维码可直接识别关注


历史文章汇总 http://chuansong.me/account/huangliang_storage

点击下方“阅读原文”,查看更多历史文章
↓↓↓






请到「今天看啥」查看全文