CentOS主机网卡绑定
服务器多网口端口聚合,其目的主要在于网卡容灾和提升带宽。linux端口绑定,提供7种模式,如下:
关于mode共有0-6等7种模式,详细请参考官方手册!
mode的值表示工作模式,他共有0,1,2,3,4,5,6这7种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
mode=2表示balance-x,提供负载均衡和冗余功能。
mode=3表示broadcast,这个模式提供容错性。
mode=4表示802.3ad,提供了ethtool的迅速,以及使用了802.3ad模式。
mode=5表示balance-tlb,自动适应负载均衡,自动切换故障。在此基础上Ethtool支持驱动。
mode=6表示在5模式的基础上优化了arp的广播信息。
下面主要说下mode=4的802.3ad模式的配置方式,02.3ad的支持需要服务器和交换机同时支持,配置方面也是需要两端进行。
IEEE 802.3ad概念 是执行链路聚合的标准方法。从概念上讲,将多个以太网适配器聚集到单独的虚拟适配器方面与“以太通道(EtherChannel)”的功能相同,能提供更高的带宽防止发生故障。例如,ent0 和 ent1 可以聚集到称作 ent3 的 IEEE 802.3ad 链路聚合;然后用 IP 地址配置接口 en3。系统将这些聚集的适配器作为一个适配器来考虑。因此,可以像在任何以太网适配器上一样配置它们的 IP。
linux服务器配置,服务器配置需要配置两个地方,一个是网卡配置,一个是绑定模块配置
#在/etc/sysconfig/network-script/目录中增加ifcfg-bond0文件
#ifcfg-bond0
BOOTPROTO=none
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.1.61
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
TYPE=Ethernet
DNS1=192.168.1.1
#修改实体网卡的配置
DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none #主要是增加如下几行
MASTER=bond0
SLAVE=yes
USERCTL=no
#进入/etc/modprobe.d/修改dist.conf配置文件
#在文件尾增加,miimon为检查时间,mode为端口绑定模式
alias bond0 bonding
options bond0 miimon=100 mode=1
查看绑定配置
cat /proc/net/bonding/bond0
将一个物理接口eth3作为active接口
ifenslave -c bond0 eth3
可将命令加入到/etc/rc.d/rc.local内让机器开机默认跳转到eth3为主用网口
网卡绑定解除:
删除ifcfg-bond0,和删除/etc/modprobe.d/bonding.conf
修改ifcfg-eth0和ifcfg-eth0为绑定之前的样子
rmmod bonding(很重要)
service network restart
---------------------------------centos7------------------------------------------------------
------------centos7---------------------
关闭无用服务
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
查看内核是否加载bonding
lsmod |grep bonding (如果未加载则执行#modprobe --first-time bonding命令加载bonding模块)
配置bonding驱动
vi /etc/modprobe.d/bond.conf (没有则新建),写入以下内容:
alias bond0 bonding
options bond0 miimon=100 mode=1
vi /etc/sysconfig/network-scripts/ifcfg-bond0 写入以下内容:
TYPE=Bond
BOOTPROTO=none
ONBOOT=yes
USERCTL=no #是否允许普通用户控制此设备
DEVICE=bond0
IPADDR=192.168.0.111
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
BONDING_MASTER=yes
修改两个实体网卡配置如ifcfg-eno4:
TYPE=Ethernet
BOOTPROTO=none
NAME=eno4 #注意此处name属性需要保留
DEVICE=eno4
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
重启网卡服务systemctl restart network
查看绑定状态 cat /proc/net/bonding/bond0
主备端口切换ifenslave -c bond0 eno4
网卡绑定解除:
删除ifcfg-bond0
删除/etc/modprobe.d/bonding.conf
删除/etc/modprobe.d/bond.conf
修改实体网卡ifcfg-eno4……为绑定之前的样子
rmmod bonding(很重要)
service network restart
浙公网安备 33010602011771号