考虑以下设置:
Windows 2008 R2,已安装 MPIO 功能。两个 iSCSI NIC(未绑定),每个 1Gb。
存储:Compellent,2 个 1Gb iSCSI 端口,单控制器。
在我的测试中,我已确认使用 Round Robin MPIO,主机上的两个 iSCSI NIC 在单工作器 IOMETER 测试期间均处于活动状态。在此测试期间,存储上的两个 iSCSI NIC 也处于活动状态。我看到每个主机 NIC 的利用率约为 50% 到 60%,我预计会更高。我目前正在使用一款糟糕的 D-Link 交换机,这肯定没有帮助,所以我还不太担心这个问题。
我的问题是:除了“我怎样才能使这个特定的设置执行”之外,我想知道,更普遍地说,循环(主动/主动)MPIO 是否允许我使用单个 I/O 流(例如复制文件或运行单个工作者 IOMETER 测试)从主机到存储获得大于 1Gb 的带宽。
如果有,为什么?如果没有,为什么没有?
答案1
MPIO 有多种可用的策略。正如 Coding Gorilla 指出的那样,大多数策略允许在多个连接之间进行负载平衡以聚合带宽。但是,发起方和目标都必须有多个连接才能真正比单链路速度更快。循环是一种糟糕的策略选择;您应该使用加权分布或最小队列深度。
我这里的 iSCSI SAN 和服务器各有 4 个端口,在相当理想的情况下,我实际上可以获得 ~3.2Gbps。如果您需要更快的速度,您可以考虑 FC 或 IB。
另外,不要在 iSCSI 链路上使用中继/链路聚合等。当一个链路发生故障时,连接将失败。您必须使用 MPIO 来实现链路冗余。
答案2
我不是 MPIO 功能和 iSCSI 方面的专家,但是从 technet 上看:(http://technet.microsoft.com/en-us/library/dd851699.aspx)
循环 - 允许设备特定模块 (DSM) 以平衡方式使用 MPIO 的所有可用路径的负载平衡策略。这是当存储控制器遵循主动-主动模型且管理应用程序未专门选择负载平衡策略时选择的默认策略。
对我来说,这意味着它只是在两者之间分配流量,并且不会为了提高性能而试图将其中一个推向极限。
此外,从纯网络角度来看,如果你将两个网卡都连接到相同的交换机,那么您获得的流量不会超过 1Gb。大多数“消费者”交换机最多只能处理 1Gb 的流量,而不是每个端口。有些高端交换机具有更好的背板,可以处理更多的流量,但我仍然怀疑您能否从中获得更多流量。您最好将每个 NIC 放在单独的段(即交换机)上,以消除潜在的“瓶颈”。
就像我说的,我不是这方面的专家,但这只是我的第一反应。如果我有错,请随时纠正我。
答案3
Equallogic 的 MPIO 基本上会选择最佳的 iSCSI HBA 接口,并根据评估的负载选择 SAN 上的最佳接口。据我所知,每个 LUN 只能获得一个流,这意味着您不会通过以太网链路将流量分成两半。因此,每个主机到该 LUN 的每个连接永远不会超过 1Gbs。现在,如果您有多个 LUN,您可以使用 SAN 上的其他接口来平衡吞吐量。然而,这是基于我对 MPIO 的理解。此外,如上所述,不需要链路聚合,交换机可能不是您的问题(除非它具有您要达到的吞吐量级别,即过度使用)。
这是关于如何进行设置并介绍各种选项的很好的文档。
http://www.dellstorage.com/WorkArea/DownloadAsset.aspx?id=2140