×

openvswitch和bonding

hqy hqy 发表于2022-11-15 11:03:20 浏览286 评论0

抢沙发发表评论

为了增加带宽或提升高可用性,需要用到bonding功能,openvswitch也可以和bonding很好的结合。将分两种应用场景分别讲述bonding的配置。

本实验使用的服务器和ip地址如下:

服务器

  1. dl165-1 192.168.33.231

  2. dl165-2 192.168.33.232

  3. rh2285-3 192.168.33.233

  4. rh2285-4 192.168.33.234

这些服务器的业务口全部连接到同一台物理服务器上,隶属于同一个vlan(192.168.33.0/24)。

场景一

一台物理服务器(RH2285-4),两个物理网口(eth2/eth3)接入同一台物理交换机(huawei 5328)的不同网口(gi0/0/7和gi0/0/8)

服务器端设置

eth2和eth3构成bond1,ovsbr1桥接至bond1,以下是详细配置:

# rh2285-4 eth2$ sudo cat ifcfg-eth2DEVICE="eth2"BOOTPROTO="none"ONBOOT="yes"NM_CONTROLLED="no"USERCTL="no"# rh2285-4 eth3$ sudo cat ifcfg-eth3DEVICE="eth3"BOOTPROTO="none"ONBOOT="yes"NM_CONTROLLED="no"USERCTL="no"# rh2285-4 bond1$ sudo cat ifcfg-bond1DEVICE=bond1ONBOOT=yesDEVICETYPE=ovsTYPE=OVSBondOVS_BRIDGE=ovsbr1BOOTPROTO=noneBOND_IFACES="eth2 eth3"OVS_OPTIONS="bond_mode=balance-tcp lacp=active other_config:lacp-time=fast"HOTPLUG=no# rh2285-4 ovsbr1$ sudo cat ifcfg-ovsbr1DEVICE=ovsbr1ONBOOT=yesDEVICETYPE=ovsTYPE=OVSBridgeBOOTPROTO=staticIPADDR=192.168.33.232NETMASK=255.255.255.0HOTPLUG=no# openvswitch通过ovs-appctl命令查看bond和lacp$ sudo ovs-appctl bond/show
---- bond1 ----
bond_mode: balance-tcp
bond may use recirculation: yes, Recirc-ID : 300bond-hash-basis: 0updelay: 0 ms
downdelay: 0 ms
next rebalance: 2546 ms
lacp_status: negotiated
active slave mac: 3c:d9:2b:fd:39:f0(eth2)slave eth2: enabled
        active slave
        may_enable: trueslave eth3: enabled
        may_enable: true$ sudo ovs-appctl lacp/show
---- bond1 ----
        status: active negotiated
        sys_id: 3c:d9:2b:fd:39:f0
        sys_priority: 65534
        aggregation key: 1
        lacp_time: fast

slave: eth2: current attached
        port_id: 2
        port_priority: 65535
        may_enable: true

        actor sys_id: 3c:d9:2b:fd:39:f0
        actor sys_priority: 65534
        actor port_id: 2
        actor port_priority: 65535
        actor key: 1
        actor state: activity timeout aggregation synchronized collecting distributing

        partner sys_id: 54:89:98:73:bb:07
        partner sys_priority: 32768
        partner port_id: 7
        partner port_priority: 32768
        partner key: 305
        partner state: activity timeout aggregation synchronized collecting distributing

slave: eth3: current attached
        port_id: 1
        port_priority: 65535
        may_enable: true

        actor sys_id: 3c:d9:2b:fd:39:f0
        actor sys_priority: 65534
        actor port_id: 1
        actor port_priority: 65535
        actor key: 1
        actor state: activity timeout aggregation synchronized collecting distributing

        partner sys_id: 54:89:98:73:bb:07
        partner sys_priority: 32768
        partner port_id: 8
        partner port_priority: 32768
        partner key: 305
        partner state: activity timeout aggregation synchronized collecting distributing

交换机配置

本次使用的是华为5328交换机。

关于交换机链路聚合的配置说明详见({{< relref "2014-08-11-交换机的链路聚合.md" >}})
interface Eth-Trunk1
 description to [RH2285-4]
 port link-type access
 port default vlan 55
 mode lacp-static
 lacp timeout fast
 ntdp enable
 ndp enable
 bpdu enable
interface GigabitEthernet0/0/7
 description [RH2285-4 eth2]
 eth-trunk 1
 undo ntdp enable
 undo ndp enable
interface GigabitEthernet0/0/8
 description to [RH2285-4 eth3]
 eth-trunk 1
 undo ntdp enable
 undo ndp enable

rh2285-3、dl165-1、dl165-2分别

  • ping rh2285-4

  • paping rh2285-4 -p 5900

rh2285-4使用tcpdump来观察eth2和eth3的流量分布情况,命令如下:

  • tcpdump -nvi eth2 icmp

  • tcpdump -nvi eth3 icmp

以及

  • tcpdump -nvi eth2 port 5900

  • tcpdump -nvi eth3 port 5900

观察到的结果:流量呈现分布状态。

  • icmp
    从eth2进来,从eth3出去。

  • tcp:5900
    从eth2、eth3进来后又出去,流量比较混杂,还夹杂了一些incorrect的数据包。

关于incorrect

从rh2285-3 ssh rh2285-4,可以成功登陆。 同时在rh2285-4使用tcpdump -nvi eth2 port 22 and host 192.168.33.233,出现incorrect数据包,但似乎不影响ssh服务。

18:14:28.085592 IP (tos 0x10, ttl 64, id 32770, offset 0, flags [DF], proto TCP (6), length 404)
    192.168.33.232.ssh > 192.168.33.231.36134: Flags [P.], cksum 0xf2a6 (incorrect -> 0x3d3e), seq 433:785, ack 432, win 189, options [nop,nop,TS val 96361804 ecr 1815678915], length 352
UPDATE: 可能的原因是开启了网卡的tcp checksum offload。实际上incorrect checksum是正常的这里有更详细的说明。

场景二(h3c 5800)

服务器配置

服务器的配置跟场景一的服务器配置一致。

交换机配置

rh2285-4的两个物理网口分别连接两台物理交换机(h3c 5800)。两台h3c 5800已经做了IRF堆叠,link-aggregation的配置如下:

interface Bridge-Aggregation20
 description "rh2285-4 bond1"
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 10 20 24 28 111
 link-aggregation mode dynamic
interface GigabitEthernet1/0/20
 port link-mode bridge
 description "rh2285-4:port2"
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 10 20 24 28 111
 port link-aggregation group 20
interface GigabitEthernet2/0/20
 port link-mode bridge
 description "rh2285-4:port3"
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 10 20 24 28 111
 port link-aggregation group 20

实验的结果跟场景一的结果一致。特别需要提醒的是,两台物理交换机之间必须做了堆叠。每个厂家在堆叠技术方面都有自己的私有协议,因而不同厂家之间的交换机不一定能够成功实现堆叠。


打赏

本文链接:https://www.kinber.cn/post/2935.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客