![针对 iSCSI 实施的推荐交换机](https://linux22.com/image/501362/%E9%92%88%E5%AF%B9%20iSCSI%20%E5%AE%9E%E6%96%BD%E7%9A%84%E6%8E%A8%E8%8D%90%E4%BA%A4%E6%8D%A2%E6%9C%BA%20.png)
我们希望实施 iSCSI SAN,并且我们所有的测试都表明我们可以非常便宜地实施这一点(Starwind 目标、翻新的 HP 存储阵列)。
我担心的是交换机本身的吞吐量/延迟,因此存在以下问题:
- 对于 iSCSI 部署,您会推荐哪个品牌/型号的交换机(1Gbps)以及为什么?
- 您在 iSCSI 环境中使用交换机时遇到过哪些不愉快的经历?
谢谢,
里克。
答案1
我完全同意 ynguldyn 的回答 - 大多数情况下,任何用于服务器机房\数据中心的现代交换机都应该足以满足您的需求,并且从支持\可管理性的角度来看,在您的环境中保持一致性可能对您来说更为重要。
也就是说,如果您确实想充分利用 iSCSI 设置,请使用具有以下功能的交换机:
每个端口有足够的缓冲内存。理想情况下,每个端口的缓存大于 512k,但这里需要权衡。有些交换机使用较大的缓冲区来掩盖较差的交换速度,因此您需要寻找比这更多的缓存。太少的缓冲内存会导致在高负载下丢失数据包,并且 TCP 层必须重新发送数据包,这将大大降低一切速度。
每个端口有足够的处理能力。这可能很难确定 - 最好的衡量标准是交换速度。交换速度为 100 微秒的交换机只能处理 10k 数据包/秒,无法以线速交换 GigE,而交换速度为 3 微秒的交换机(理论上)可以处理高达 300k 数据包/秒,这很好。低于 12 微秒的任何速度可能都足够了。速度越快越好,但随着该数字接近个位数,价格会大幅上涨。
支持硬件流控制(802.3x)。如果您的服务器 NIC 和阵列不支持此功能,这将毫无用处,但如果它们支持此功能,它将允许您的 iSCSI 网络在第 2 层更有效地处理流量控制,而不是依赖更高级别的拥塞控制(例如 TCP 的拥塞避免算法,这将大大降低效率)。话虽如此,现在很难找到不支持此功能的合适交换机。
支持巨型帧。同样,这只有在您的 iSCSI 阵列、服务器硬件和操作系统也支持巨型帧时才会有益。在最基本的层面上,巨型帧会降低协议开销,并可将吞吐量提高 10-20%,但这些收益高度依赖于流量模式。对于扩展的高带宽数据传输,9k 巨型帧将使您的阵列、服务器(和交换机)的 CPU 开销也降低多达 80%。这在您的环境中可能很重要,也可能不重要,因为初始 CPU 开销可能相对较低。低端交换机有时声称支持巨型帧,但不支持 9k 巨型帧,而 9k 巨型帧是 GigE 公认的最佳大小,因此请先检查这一点。如果您的阵列不支持巨型帧,显然不必担心这个问题。
高带宽交换和堆叠能力. 对于 GigE,您的目标应是每端口 >1Gbps,理想情况下为 2Gbps,以处理所有端口的线速全双工流量。对于 24 端口交换机,您希望它能够在内部交换 48Gbps,并且如果您使用多个交换机,则能够以相当大比例进行堆叠\上行链路。对于某些 iSCSI 架构(例如 HP Lefthand 和 Dell Equallogic),您需要支持所有阵列上所有端口之间的非常高的带宽流量,并且聚合交换速度变得非常重要。对于支持混合 1GigE 和 10GigE 的交换机,请进行相应调整,总交换带宽应覆盖以全速在全双工模式下运行的所有端口。
生成树。如果您的 iSCSI 环境足够简单且与其他所有环境隔离,您希望能够完全禁用它,或者让它支持快速生成树\端口快速\边缘端口,您可以有选择地禁用特定端口上的完整生成树行为。
答案2
GigE 是一项古老而稳定的技术,现代交换机的处理能力足以轻松处理它,尤其是当它只有一个目标和少数发起者时。您应该期望任何像样的交换机(当然不包括开发人员藏在办公桌下以惹恼系统管理员的 20 美元小盒子)在 SAN 环境中都不会出现时间或性能问题。相关功能集在所有交换机中也几乎相同,包括巨型帧、流量控制、VLAN 以及您可能需要的其他一切。
相反,您应该关注预算、现有的供应商关系、已安装的硬件和内部专业知识:购买您能负担得起且最了解的产品,并坚持使用您已经使用的同一品牌(两个原因:阅读的手册越少,意味着对您拥有的产品的了解越深入,并且您将避免互操作性问题)。 Cisco、ProCurve、Nortel、高端 Netgears 都应该不错。
答案3
iSCSI 只是一种与其他协议一样的协议;需要注意的主要问题是您可能需要一个能够正确支持巨型帧的交换机。