「这是我参与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中指定