linux6/7双网卡绑定

196 阅读2分钟

「这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战

在我们部署RAC的生产环境时,很多时候需要给网卡做冗余。在RHEL6中我们一般都使用bond来做网卡绑定,在rhel7中bond还能继续使用,不过也开始支持team来做网卡绑定,今天我们就简单介绍一下实际生产中的bond网卡绑定。

为业务和心跳新建bond0和band1网卡绑定组

一般在网卡绑定时,我们都关闭NetworkManager服务,因为这个服务bug较多,eason就在生产中多次遇到了此服务引起的心跳网络异常

  • service NetworkManager stop
  • chkconfig NetworkManager off
  • systemctl stop NetworkManager
  • systemctl disable NetworkManager

业务网络双网卡绑定

vim /etc/sysconfig/network-scripts/ifcfg-bond0 (新建bond)

DEVICE=bond0
BOOTPROTR=static             
NM_CONTROLLED=no
IPADDR=192.168.1.15
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
ONBOOT=yes

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=40:F2:E9:63:ED:44
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
UUID=fe40b509-e6aa-4d7d-80e3-a70b3ada2ba2
SLAVE=yes
MASTER=bond0

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
HWADDR=40:F2:E9:63:ED:46
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
UUID=7f74ab2e-d9f5-46cb-bc8f-1dbf431f4ded
SLAVE=yes
MASTER=bond0

心跳网络双网卡绑定

vim /etc/sysconfig/network-scripts/ifcfg-bond1

DEVICE=bond1
NM_CONTROLLED=no
IPADDR=50.50.50.15
NETMASK=255.0.0.0
GATEWAY=
ONBOOT=yes

vim /etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2
BOOTPROTO=none
HWADDR=90:E2:BA:50:64:B0
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
UUID=3a644326-8381-4211-a5d7-693081974e9e
SLAVE=yes
MASTER=bond1

vim /etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3
BOOTPROTO=none
HWADDR=90:E2:BA:50:64:B1
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
UUID=d151644d-1087-4bf8-94e2-479ae3bbf0ca
SLAVE=yes
MASTER=bond1

修改相应配置文件

修改/etc/modprobe.d/dist.conf文件,配置绑定模型,在末尾添加以下内容:(低版本系统直接配置/etc/modprobe.conf文件,也可以在modprobe.d目录下创建bond.conf配置文件)

alias bond0 bonding 
options bond0 miimon=100 mode=0 
alias bond1 bonding 
options bond1 miimon=100 mode=0

注:必须分行,且两个bond的mode,miimon等参数选项一样,这样做没有问题

加入/etc/rc.d/rc.local启动顺序

ifenslave bond0 eth0 eth1
ifenslave bond1 eth2 eth3

如果是多个bond绑定,且mode,miimon等参数选项不同,配置如下:

  • 在ifcfg-bond0文件添加BONDING_OPTS="miimon=100 mode=1"
  • 在ifcfg-bond1文件添加BONDING_OPTS="miimon=100 mode=0"

在/etc/modprobe.d/下的配置文件(dist.conf或新建bond.conf)只需添加命名即可

alias bond0 bonding 
alias bond1 bonding 

如果mode模式及参数相同,dist.conf或bond.conf中添加

alias bond0 bonding
alias bond1 bonding
options bond0 miimon=100 mode=1 max_bonds=2(bond个数)

也可以采用与mode不同的方式,直接在ifcfg-bondX中指定