更新时间:2021-12-25 GMT+08:00
分享

bond功能

安装bash-completion。

1
yum install bash-completion

方式一

  1. 进入“/etc/sysconfig/network-scripts/”目录。

    1
    cd /etc/sysconfig/network-scripts/
    

  2. bond0配置如下所示。

    1
    vim ifcfg-bond0
    
    1
    2
    3
    4
    5
    6
    BOOTPROTO=static
    NAME=bond0
    DEVICE=bond0
    ONBOOT=yes
    BONDING_MASTER=yes
    BONDING_OPTS="mode=4 miimon=100" #指定绑定类型为4及链路状态监测间隔时间
    
    • BONDING_OPTS配置中:
      • mode为模式,4是LACP模式;
      • miimon=100代表100ms监控一次;
      • xmit_hash_policy=layer3+4是LACP均衡的策略,使用3层4层均衡,及IP和端口。
    • 主备模式参数为mode=1 miimon=100。

  3. enp1s0f0配置如下所示。

    1
    cat ifcfg-enp1s0f0
    
    1
    2
    3
    4
    5
    6
    7
    BOOTPROTO=static
    NAME= enp1s0f0
    DEVICE= enp1s0f0
    ONBOOT=yes
    MASTER=bond0
    USERCTL=no
    SLAVE=yes
    

  4. enp1s0f1配置如下所示。

    1
    cat ifcfg-enp1s0f1
    
    BOOTPROTO=static
    NAME= enp1s0f1
    DEVICE= enp1s0f1
    ONBOOT=yes
    MASTER=bond0
    USERCTL=no
    SLAVE=yes

    这里以enp1s0f0和enp1s0f1网卡为例组bond。

  5. 启动NetworkManager。

    1
    systemctl start NetworkManager
    

  6. 重置网卡配置。

    1
    2
    3
    4
    nmcli c reload
    nmcli c up bond0
    nmcli c up enp1s0f0
    nmcli c up enp1s0f1
    

  7. 查看bond配置。

    cat /proc/net/bonding/bond0

方式二

  1. 启动NetworkManager。

    1
    systemctl start NetworkManager
    

  2. 设置双网卡绑定。

    1
    2
    3
    nmcli con add type bond ifname bond0 mode 4
    nmcli con add type bond-slave ifname enp1s0f0 master bond0
    nmcli con add type bond-slave ifname enp1s0f1 master bond0
    

  3. 重启NetworkManager。

    1
    systemctl restart NetworkManager
    

  4. 查看绑定状态。

    1
    2
    cat /proc/net/bonding/bond0
    nmcli con show
    

  5. 删除网卡绑定。

    1
    2
    3
    nmcli con del bond-bond0
    nmcli connection delete bond-slave-enp1s0f0
    nmcli connection delete bond-slave-enp1s0f1
    

  6. 重启NetworkManager。

    1
    systemctl restart NetworkManager
    

功能验证

  1. 创建VF。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    echo 4 > /sys/class/net/enp1s0f0/device/sriov_numvfs
    ip link set enp1s0f0 vf 0 mac e4:11:22:33:61:11
    ip link set enp1s0f0 vf 1 mac e4:11:22:33:61:22
    ip link set enp1s0f0 vf 2 mac e4:11:22:33:61:33
    ip link set enp1s0f0 vf 3 mac e4:11:22:33:61:44
    echo 0000:01:00.2 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:00.3 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:00.4 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:00.5 > /sys/bus/pci/drivers/mlx5_core/unbind
    devlink dev eswitch set pci/0000:01:00.0 mode switchdev
    echo 4 > /sys/class/net/enp1s0f1/device/sriov_numvfs
    ip link set enp1s0f1 vf 0 mac e4:11:22:33:62:11
    ip link set enp1s0f1 vf 1 mac e4:11:22:33:62:22
    ip link set enp1s0f1 vf 2 mac e4:11:22:33:62:33
    ip link set enp1s0f1 vf 3 mac e4:11:22:33:62:44
    echo 0000:01:02.2 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:02.3 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:02.4 > /sys/bus/pci/drivers/mlx5_core/unbind
    echo 0000:01:02.5 > /sys/bus/pci/drivers/mlx5_core/unbind
    devlink dev eswitch set pci/0000:01:00.1 mode switchdev
    

    MAC地址不能冲突,包括本机器、对端机器以及交换机上的MAC地址都需保持唯一性。

  2. 绑定VF。

    1
    2
    3
    4
    5
    6
    7
    8
    echo 0000:01:00.2 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:00.3 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:00.4 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:00.5 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:02.2 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:02.3 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:02.4 > /sys/bus/pci/drivers/mlx5_core/bind
    echo 0000:01:02.5 > /sys/bus/pci/drivers/mlx5_core/bind
    

  3. 启动OVS配置组网。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    systemctl start openvswitch
    ovs-vsctl add-br br-ovs
    ovs-vsctl add-port br-ovs bond0
    ovs-vsctl add-port br-ovs enp1s0f0_0
    ovs-vsctl add-port br-ovs enp1s0f0_1
    ovs-vsctl add-port br-ovs enp1s0f0_2
    ovs-vsctl add-port br-ovs enp1s0f0_3
    ovs-vsctl add-port br-ovs enp1s0f1_3
    ovs-vsctl add-port br-ovs enp1s0f1_2
    ovs-vsctl add-port br-ovs enp1s0f1_1
    ovs-vsctl add-port br-ovs enp1s0f1_0
    ifconfig bond0 up
    ip link set dev enp1s0f0_0 up
    ip link set dev enp1s0f0_1 up
    ip link set dev enp1s0f0_2 up
    ip link set dev enp1s0f0_3 up
    ip link set dev enp1s0f1_0 up
    ip link set dev enp1s0f1_1 up
    ip link set dev enp1s0f1_2 up
    ip link set dev enp1s0f1_3 up
    

  4. 启动虚拟机并进入虚拟机。

    1
    virsh start VM1 --console
    

  5. 虚拟机打流。

    • Host2 VM1执行:
      1
      iperf3 -s
      
    • Host1 VM1执行:
      1
      iperf3 -c <Host2VM1_ip> -t 0
      

  6. 按Ctrl+]切出虚拟机,在其中一台物理机查看卸载流表。

    1
    watch -n 1 -d ovs-appctl dpctl/dump-flows type=offloaded
    

    能看到卸载流表,注意双向流表卸载,LACP注意验证8台虚拟机总带宽接近双网口的带宽之和,主备模式注意验证一个网口不通的情况。

分享:

    相关文档

    相关产品

关闭导读