https://aijishu.com/a/1060000000116224
周末看到一份资料觉得不错,因此写点东西分享给大家。
谈到存储服务器,或者说盘位数比较多的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/ma...
文档里除了我介绍的R740xd和R7425之外,还有R440、R640、R6415、R7415、R840、R940和R940xa服务器的NVMe和I/O拓扑说明,希望这份速查手册能够对大家有帮助。
推荐阅读
本文转载自企业存储技术微信公众号,[原文链接点这里]。