我有一对ProCurve 2810-24G,我将使用Dell Equallogic SAN和Vmware ESXi。 由于ESXi执行MPIO,所以我对交换机之间的链路configuration有些不确定。 中继线是交换机之间的正确途径吗?
我知道SAN和ESXi主机的端口应该是untagged的,那么这是否意味着我希望在中继端口上标记VLAN?
这或多或less是这样的configuration:
trunk 1-4 Trk1 Trunk snmp-server community "public" Unrestricted vlan 1 name "DEFAULT_VLAN" untagged 24,Trk1 ip address 10.180.3.1 255.255.255.0 no untagged 5-23 exit vlan 801 name "Storage" untagged 5-23 tagged Trk1 jumbo exit no fault-finder broadcast-storm stack commander "sanstack" spanning-tree spanning-tree Trk1 priority 4 spanning-tree force-version RSTP-operation
Equallogic PS4000 SAN有两个控制器,每个控制器有两个networking接口。 戴尔build议将每个控制器连接到每个交换机。 从vmware文档看来,build议每个pNIC创build一个vmkernel。 使用MPIO,这可能允许超过1 Gbps的吞吐量。

在Chopper3的回答中有一些争论,因为Equallogic的networking要求和多path行为的一些知之甚less,所以没有充分了解。
首先是VMware方面:对于ESXi方面的初学者,从VMware(适用于ESX \ ESXi 4.1)和Dell使用iSCSI Software Initiator时,当前的build议是应该将单个物理Nic映射到每个VMkernel端口用于iSCSI。 现在build议的绑定过程强制执行此操作。 它要求每个VMkernel端口只有一个活动的物理nic,没有备用nics。 不允许粘合。 现在你可以作弊了,然后回去添加一个故障转移networking,但是意图是MPIO将处理故障转移,所以这没有任何用处(至less当一切按照VMware的预期工作时)。
默认的多path策略将允许使用循环方法连接到Equallogic数组。
其次,Equallogic方面: Equallogicarrays有双控制器,在主动\待机模式下工作。 对于PS4000,每个控制器上都有两个千兆位Nics。 对于主动控制器,这两个nics都是活动的,并且可以从同一个源接收IO。 networkingconfigurationbuild议arrays的nics应连接到单独的交换机。 从服务器端你有多个链接,也应分配到单独的交换机。 现在奇数部分 – Equallogicarrays期望所有启动器端口可以看到arrays上的所有活动端口。 这是您需要两台交换机之间的中继线的原因之一。 这意味着,对于具有两个VMkernel iSCSI端口和一个PS4000的主机,启动程序和目标之间有4条活动path – 其中两条是“直接”,两条是通过ISL的。
对于备用控制器的连接,应用相同的规则,但是这些控制器只有在控制器故障切换后才会生效,并且适用相同的原则。 在此环境中进行故障转移后,仍然会有四条活动path。
第三个更高级的多path: Equallogic现在有一个多path扩展模块,插入到VMware可插拔存储架构中,提供跨VMkernel端口的智能负载平衡(使用最小队列深度,循环或MRU)。 如果所有vmkernel上行链路nics都不能连接到所有活动的Equallogic端口,则这将不起作用。 这也确保了实际使用的path数量仍然合理 – 在大的Equallogic环境中,主机和Equallogic组之间有效path的数量可能非常高,因为所有目标nics都是活动的,并且所有源nics都可以看到所有目标nics。
第四个更大的Equallogic环境:当你扩大一个Equallogic环境,你增加额外的数组到共享组。 组中所有成员arrays上的所有活动端口必须能够看到同一组中所有其他arrays上的所有其他活动端口。 这是为什么您需要胖pipe道提供Equallogic iSCSI结构中的所有交换机之间的交换机间连接的另一个原因。 这种缩放还大大增加了发起者和目标之间有效活动path的数量。 由3个PS6000arrays(每个控制器4个,每个控制器2个,PS4000 2个)和一个具有两个vmkernel端口的ESX主机组成的Equallogic组将有24个可能的活动path供MPIO堆栈select。
在 Equalogic 环境中,第五Bonding \链路聚合和交换机链接:所有的arrays间和启动器< – >arrays连接是单点对点千兆位连接(如果您有10Gigarrays,则为10Gig)。 在ESX服务器端不需要绑定,也没有任何好处,并且不能绑定Equallogicarrays上的端口。 在Equalogic交换以太网结构中,链路汇聚\绑定\无论你想要呼叫的唯一区域是在交换机间链路上。 这些链路需要能够承载并行数据stream,这些并行数据stream可以等于环境中活动的Equallogic端口的总数 – 即使arrays端口和iniatator端口之间的每个点对点链路限制为1gbps,您也可能需要大量的总带宽。
最后:在Equallogic环境中,从主机(启动器)到arrays的stream量可以并将穿过交换机间链路。 一个特定path是否依赖于该特定path的源地址和目的地IP地址,但是每个源端口可以连接到每个目标端口,并且这些path中的至less一个将需要遍历ISL。 在较小的环境中(比如这个),所有这些path都将被使用和激活。 在较大的环境中,只使用可能path的一个子集,但是会发生相同的分配。 即使连接到单个arrays和单个卷,主机可用的iSCSI总带宽(如果configuration正确)也是所有iSCSI vmkernel端口带宽的总和。 如何有效率可能是另一个问题,这个答案已经太长了。
Since ESXi does MPIO, I am a little uncertain on the configuration for links between the switches. Is a trunk the right way to go between the switches?
ESX / i做它自己的pathpipe理 – 它的链路不会主动/主动,除非它的两个或多个链路要么去同一个交换机,要么交换机是在一个CAM共享模式,比如Cisco的VSS,否则将是主动/被动configuration。
通过交换机之间的所有手段之间的交换机,如果你想,但大概他们都有一些核心交换机或路由器的上行链路? 如果是这样的话,我不能完全确定为什么你只需要在两台交换机之间进行这种交换,因为如果第一台交换机停机(如果configuration正确的话),ESX / i设备将会切换到第二台交换机。
I know that the ports for the SAN and the ESXi hosts should be untagged, so does that mean that I want tagged VLAN on the trunk ports?
我不知道这个假设来自哪里,ESX / i同样适用于标记或未标记的设置,无论是来宾还是iSCSIstream量。 这就是说,在使用默认的vlan时,我遇到了混合标记和未标记的问题,所以我现在总是标记一切,没有默认的vlan,这是一个非常灵活的设置,没有明显的性能打击我的经验。
这是SANarrays控制器,它定义了如何连接这个。 是否在同一个控制器上的两个端口上提供相同的LUN? 然后port0到switchA,port1到switchB,和下一个控制器一样。
为什么要使用LACP /以太网通道对1Gb上行链路端口的iSCSI SAN? 它不以任何方式帮助你。 在每个vSwitch中创build具有单个pNic的2个vswitch,并将第一个pNic连接到switchA,将第二个pNic连接到switchB。 这将为您提供针对控制器/交换机/网卡故障的完全冗余。