SylixOS --- 多网口绑定,多网口冗余

1.适用范围

  适用于需要进行冗余网卡绑定的操作,例如需要配置双网卡绑定主从模式的情况。

2.原理概述

  网卡 bond 是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。
  网卡冗余:冗余含义是指人为增加重复部分,其目的是用来对原本的单一部分进行备份,以达到增强其安全性的目的,这在信息通信系统当中有着较为广泛的应用。

3.准备工作

  硬件:支持安装 SylixOS 并拥有两个以上网卡设备机或板卡;
  软件:SylixOS 系统镜像。
  本次测试使用的是龙芯 2k1000 开发板:
  

4.技术实现

4.1查看网卡信息

  如果要进行冗余网卡绑定,需要确认开发板具有两个及以上的网卡设备能够正常使用,例如本次使用的龙芯 2k1000 开发板就具有六个可用网卡,其中含有两个 dw 网卡、4 个 igb 网卡:
  在这里插入图片描述

4.2Netbonding 指令

  当确定板卡具有两个及以上网卡能够正常使用后,再来了解下 SylixOS 系统下netbonding 指令的解释与使用。
  netbonding 命令可用于在 SylixOS 终端创建具有 bond 功能的虚拟网卡,网卡 bond 功能是将多个物理网卡绑定到一个虚拟网卡的一种机制,该机制实现了网卡冗余、带宽扩容、负载均衡功能。
  通过 help netbonding 可以查看 netbonding 指令的适用方法:
  在这里插入图片描述

4.3绑定模式

  在了解 netbonding 指令后,就只需要根据自己的需求,进行网卡的绑定。目前, SylixOS 支持3种模式:
  1.主-备份策略;
  2.平衡循环策略;
  3.广播策略。

4.3.1冗余策略

  冗余策略是在绑定两个网卡的情况下以其中一个网卡为主网卡进行通信,另一个网卡只有在主网卡出现问题情况下担任主要通信网卡。
  以下为通过网卡号进行绑定设置:

netbonding addbd bond0 ab -a 10 30
netbonding addif bond0 en1
netbonding addif bond0 en2
netbonding masterif bond0 en1
ifconfig bd7 inet 192.168.127.5 netmask 255.255.255.0 gateway 192.168.127.1

  其中 -a 表示采用 arp 检测; -t 表示流量控制检测; 10 表示 arp 的检测周期为 10ms30 决定了虚拟网卡子设备切换延时的最小值( alive 值减为 0,切换子设备工作),单位 ms。
  实测在 ARP 检测模式下,网卡切换时间可控,比较稳定,一般情况都可满足客户要求;

  以下为通过设备号进行绑定设置:

netbonding addbd bond0 ab -a 10 30
netbonding adddev bond0 igb_0
netbonding adddev bond0 igb_1
netbonding masterdev bond0 igb_0
ifconfig bd7 inet 192.168.127.5 netmask 255.255.255.0 gateway 192.168.127.1

4.3.2平衡循环策略

  平衡循环策略则是每个数据包只从一个设备发送,并且整个完整数据(由多个数据包组成)是选取有效的子设备轮询发送。

netbonding addbd bond0 bl
netbonding adddev bond0 igb_0
netbonding adddev bond0 igb_1
netbonding show bond0

4.3.3广播策略

  广播策略的数据发送则是每个有效的子设备都会发送一遍。

netbonding addbd bond0 bc
netbonding adddev bond0 igb_0
netbonding adddev bond0 igb_1
netbonding show bond0
### ESXi多网口配置与使用方法 #### 创建虚拟交换机并关联物理网卡 为了实现特定的网络需求,如将ESXi上的三个网口分别配置到不同的用途上,可以创建多个标准虚拟交换机。对于指定的需求情况,先建立第一个vSwitch0连接单一物理网卡eth0,此操作通常用于提供宿主机管理访问[^1]。 ```bash esxcli network vswitch standard add --vswitch-name=vSwitch0 esxcli network vswitch standard uplink add --uplink-name=vmnic0 --vswitch-name=vSwitch0 ``` #### 设置端口组和服务IP 接着针对上述新建的第一个交换机设立相应的Port Group,并为其指派服务控制台或者管理网络所需的VLAN ID(如果适用)。随后可为该端口组设定一个静态IP作为宿主机管理系统所使用的地址。 #### 绑定其余网卡形成LACP链路聚合 再构建第二个虚拟交换机比如命名为vSwitch1来处理实际工作负载流量,则需同时加入剩余两片NIC即eth1和eth2至这个新的交换结构之中;之后通过调整属性启用基于IEEE 802.3ad动态链接捆绑协议(LACP)的功能完成端口汇聚设置以增强带宽及冗余度支持。 ```bash esxcli network vswitch standard add --vswitch-name=vSwitch1 esxcli network vswitch standard policy failover set -p ActiveAdaptiveLoadBalancingPolicy -v vSwitch1 esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch1 esxcli network vswitch standard uplink add --uplink-name=vmnic2 --vswitch-name=vSwitch1 esxcli network vswitch standard lacp group create --group-name=LacpGroup1 --mode=active --vsname=vSwitch1 esxcli network vswitch standard lacp member add --member-names=vmnic1,vmnic2 --group-name=LacpGroup1 ``` #### 连接虚拟机至相应交换机 最后一步就是依据具体的应用场景规划好各个VM应该挂载在哪种类型的虚拟网络之上——既可以是仅限于内部通讯的基础架构层面也可以是指向外部互联网的数据传输路径[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值