2.5.3 vPC和Nexus 1000V
在大多数NX1KV设计方案中,要求端口通道能跨越多个接入层交换机,为了方便在交换机之间的跨越,NX1KV交换机提供了两种配置方式,这两种方法都不要求在上行交换机中配置端口通道:
·vPC主机模式(vPC HM)
·MAC绑定
vPC主机模式
在Vpc-HM模式中,NX1KV交换机上配置的端口通道被分成子群(更小的逻辑端口通道),每一个子群代表一条或多条连接一个上行物理交换机的上行链路(Eth接口),系统采用轮叫机制将VEM上的每个vEth接口(更多细节请参考2.3.3节的“VEM交换机端口分类”中的内容)映射到一个或两个子群上。相应地,所有来自vEth接口的网络传输都通过给定子群完成,如果某个给定子群发生故障,剩下的子群也不能再使用该vEth接口,但如果最初的指定子群恢复工作,网络传输将重新转移到该子群上。
图2-15展示了两个vPC-HM样例,图的左边为两个NIC共用一条端口通道。其中两个NIC都是端口通道1的一部分,配置成vPC-HM模式,分别连接到两个上行交换机,两个NIC共用一个上行链路配置文件,通过源MAC地址散列算法,将VM的负载平衡分布到两条上行链路中。
图 2-15 vPC-HM样例
说明:NX1KV交换机支持17种散列算法来平衡经过端口通道物理接口的负载。这些算法分成两类:基于源的散列和基于流的散列。基于源的散列算法确保不管端口通道中有多少条链路,一个MAC地址只会向下沿着其中一条链路进行传送。
图2-15的右边为4个NIC共用两条端口通道,每一个端口通道都拥有一个链路连接到上行交换机。此时,每一个vPC-HM子群都拥有一条单独的链路,因此不需要在上行交换机对端口通道进行配置,在该样例中,负载平衡处理依然采用了源MAC地址散列算法。
如果上行交换机支持CDP消息,则可以通过上行交换机返回到CDP消息,将端口通道中连接到同一上行交换机的Eth接口自动绑定在同一子群内。如果上行交换机不支持CDP消息,或者系统需要覆盖CDP消息,也可以通过接口级配置,人为地把接口分配到特定子群中。
当多个上行链路都汇聚在NX1K交换机中的同一子群时,上行链路需要一个端口通道被配置成能够将所有这些链路绑定在一起,该端口必须要选用“mode on”命令参数。图2-16展示了另一个vPC-HM样例,这一次是4个NIC带1个端口通道,这个单独的基于vPC-HM的端口通道部署形式为将VM的负载分布到尽可能多的NIC上。此设计方案的主要优势在于VM数据传输可以利用所有4个NIC,并且能够灵活地支持基于流的散列算法。如果使用了基于流的散列,每一个上行交换机就必须配置一个端口通道,不过如果使用基于源的散列算法,就不要求采用这种配置。
图 2-16 带有4个NIC及1个端口通道的vPC-HM
说明:基于流的散列可以使来自单个MAC地址的网络流同时分布到端口通道内多个链路上,提供了一种更精确的负载平衡方法。增加了VM可得带宽,提高了端口通道中上行链路的利用效率。
MAC绑定
MAC绑定将所有来自服务器的上行链路(Eth接口)都当做单独的链路处理,并以轮询方式为这些链路分配来自不同Eth接口的MAC地址。如图2-17左边所示,MAC绑定方法能够确保上行交换机的多个接口均看不见VM的MAC地址。如果某个上行链路发生故障,NX1KV交换机将发送一个免费ARP消息来通知上行交换机,告知它从之前Eth接口所获得的vEth接口MAC地址将会被重新绑定到另外一个Eth接口上。该过程的说明如图2-17的右边部分所示。有了MAC绑定,VEM(或Eth接口)在连接上行交换机时可以不必再配置上行信息。
图 2-17 MAC绑定样例