Redhat-网卡绑定

介绍

网卡绑定分为有team和bond
一、什么是网卡绑定(冗余)
就是将两块网卡虚拟链接成一块网卡的技术。通过网卡绑定技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址。

二、为什么做网卡绑定

通过网卡绑定技术既能增加服务器的可靠性,又增加了可用网络宽带,为用户提供不间断的网络服务,实现主备功能当一块网卡出问题的时候,另一块网卡就会被启用。

确认&修改环境

查看IP

[root@test network-scripts]# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 00:0c:29:95:c5:52 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute ens33
    valid_lft forever preferred_lft forever
 inet6 fe80::a5e4:8482:4a68:5eef/64 scope link noprefixroute 
    valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
 link/ether 52:54:00:d8:61:d7 brd ff:ff:ff:ff:ff:ff
 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
 link/ether 52:54:00:d8:61:d7 brd ff:ff:ff:ff:ff:ff
5: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 00:0c:29:95:c5:5c brd ff:ff:ff:ff:ff:ff
 inet 10.1.1.10/24 brd 10.1.1.255 scope global noprefixroute ens38
    valid_lft forever preferred_lft forever
 inet6 fe80::8a94:2ffc:df84:adbe/64 scope link noprefixroute 
    valid_lft forever preferred_lft forever
6: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
 link/ether 00:0c:29:95:c5:66 brd ff:ff:ff:ff:ff:ff

发现网卡名的名称不是以eth[x]来命名的,进行修改

[root@test kylin]# cd /etc/sysconfig/network-scripts/
[root@test network-scripts]# ls
ifcfg-ens33  ifdown-post      ifup-eth     ifup-sit
ifcfg-ens38  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown       ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth   ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib    ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp  ifup             ifup-post    network-functions-ipv6
ifdown-ipv6  ifup-aliases     ifup-ppp
ifdown-isdn  ifup-bnep        ifup-routes

发现没有ens39的配置文件说明网卡没有识别出来

[root@test network-scripts]# nmcli device status
DEVICE      TYPE      STATE   CONNECTION 
ens33       ethernet  连接的  ens33      
ens38       ethernet  连接的  ens38      
virbr0      bridge    连接的  virbr0     
ens39       ethernet  已断开  --         
lo          loopback  未托管  --         
virbr0-nic  tun       未托管  -- 

激活网卡并修改配置文件的网卡名称

[root@test network-scripts]# nmcli connection add ifname ens39 con-name ens39 type ethernet 
连接“ens39”(29108b77-e026-406f-98a2-fa57b692841f) 已成功添加。

[root@test network-scripts]# cd /etc/sysconfig/network-scripts/
[root@test network-scripts]# sed  -i 's/ens33/eth0/' ifcfg-ens33
[root@test network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[root@test network-scripts]# sed  -i 's/ens38/eth1/' ifcfg-ens38
[root@test network-scripts]# mv ifcfg-ens38 ifcfg-eth1
[root@test network-scripts]# sed  -i 's/ens39/eth2/' ifcfg-ens39
[root@test network-scripts]# mv ifcfg-ens39 ifcfg-eth2

修改网卡启动时的名称

[root@test network-scripts]# sed -i 's/rhgb/net.ifnames=0 biosdevname=0 &/' /etc/default/grub
[root@test network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-83263378974041bbad57ff5f7524542f
Found initrd image: /boot/initramfs-0-rescue-83263378974041bbad57ff5f7524542f.img
done
[root@test network-scripts]# reboot   # 重启生效

确认于哪个物理端口进行冗余

[root@test kylin]# ethtool -p eth0   
      # 此时物理网口黄色灯光闪烁

网卡如果有配置要进行清空
[root@test kylin]# nmcli connection delete eth0
成功删除连接 'eth0'29b9a708-31d3-4c8b-aa96-139c030b368b)。
[root@test kylin]# nmcli connection delete eth1 
成功删除连接 'eth1'5e274566-510c-48a8-805e-f2f74a0a1958)。
[root@test kylin]# nmcli connection delete eth2
成功删除连接 'eth2'29108b77-e026-406f-98a2-fa57b692841f)。

确认好端口后进行配置

配置team

一、什么是team

team是链路聚合的一种方式,最多可支持八块网卡工作

二、team支持的工作方式

模式功能
broadcast广播容错
roundrobin平衡轮叫
activebackup主备
loadbalance负载均衡

三、配置

[root@test kylin]# nmcli connection add ifname team0 con-name team0 type team autoconnect yes config '{"runner":{"name":"activebackup"}}' ip4 192.168.10.100/24
[root@test kylin]# ip add show | grep team0
7: team0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute team0

[root@test kylin]# nmcli connection add ifname eth1 con-name team0-1 type team-slave autoconnect yes master team0
连接“team0-1(6b9ff815-a33b-42a3-a36a-d7ce85ccf81b) 已成功添加。
[root@test kylin]# nmcli connection add ifname eth2 con-name team0-2 type team-slave autoconnect yes master team0
连接“team0-2(7d3c143b-53d3-41b6-b5bb-99bbce1973f3) 已成功添加。
[root@test kylin]# teamdctl team0 state     # 查看配置

配置bond

一、bond模式详解和配置

第一个第二个第三个第四个

二、网卡bond的模式

网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6。 常用的有三种:

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

查看网口与网线连接状态

[root@test network-scripts]# ethtool eth0
Settings for eth0:
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes     # 如果Link detected:no 的话,尝试用命令ifconfig eth2 up,如果用ethtool查看任然为no的话,才能说明此网卡确实没有网线插入。

网卡配置文件介绍

cat /etc/sysconfig/network-script/ifcfg-eth0

TYPE=Ethernet            (可忽略)
BOOTPROTO=none           (系统启动地址协议;none同static,配置为静态IP;dhcp,配置为动态IP,自动获取)
NAME=eth0                (名称)
DEVICE=eth0              (网络接口名称,必与该配置文件后缀的名称相同)
ONBOOT=yes               (系统启动时是否激活)
IPADDR=192.168.1.10      (ip地址)
NETMASK=255.255.255.0    (子网掩码)
GATEWAY=192.168.1.254    (网关)
DNS1=8.8.8.8             (DNS,域名解析,可写其他的dns)
USERCTL=yes/no            是否允许非root用户控制该设备
NETWORK=192.168.1.0       网络地址(可不要) 
BROADCAST=192.168.1.255   广播地址(可不要)
HWADDR=00:0C:29:2C:E1:0F  网卡的Mac地址

重启网络服务失败,这儿或者就是配置文件有误

nmcli  device show       详细显示网卡的信息 可以后面再跟上具体的网卡名,如不加,则显示所有网卡的信息

nmcli  device status       简单显示所有网卡的连接状态

nmcli  device disconnect ens33     断开指定网卡与方案的连接

nmcli  device connect ens33     创建指定网卡与方案的连接

nmcli connection reload      重读

nmcli connection up 方案名         使方案名生效

nmcli connection show       查看当前网卡配置方案

 在centos 7 中不建议手动创建网卡配置文件,如果手工修改了配置文件(路径:/etc/sysconfig/network-scripts/),则需要使用nmcli connection reload 重读后,才能够nmcli connection up 方案名

注: ip地址配置在bond0上, 物理网卡不需要配置ip地址。

命令行配置

注:nmcli & nmtui需要开启NetworkManager服务

nmcli connection add type bond ifname bond1 mode 1 
nmcli connection add type bond-slave ifname eth1 master bond1
nmcli connection add type bond-slave ifname eth2 master bond1
nmcli connection up bond-slave-eth1
nmcli connection up bond-slave-eth2
nmcli connection up bond-bond1 

配置文件编写

1、关闭和停止NetworkManager服务

systemctl stop NetworkManager.service # 停止NetworkManager服务
systemctl disable NetworkManager.service # 禁止开机启动NetworkManager服务

ps: 一定要关闭,不关会对做bonding有干扰

2、加载bonding模块

modprobe --first-time bonding

没有提示说明加载成功, 如果出现modprobe: ERROR: could not insert ‘bonding’: Module already in kernel说明你已经加载了这个模块, 就不用管了

你也可以使用lsmod | grep bonding查看模块是否被加载

lsmod | grep bonding
bonding 136705 0

[root@test network-scripts]# cd /etc/sysconfig/network-scripts/
[root@test network-scripts]# cat ifcfg-bond0 
BONDING_OPTS=mode=active-backup
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
IPADDR=192.168.10.200
PREFIX=24
NAME=bond0
DEVICE=bond0
ONBOOT=yes


[root@test network-scripts]# cat ifcfg-eth1
TYPE=Ethernet
NAME=eth1
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes


[root@test network-scripts]# cat ifcfg-eth2
TYPE=Ethernet
NAME=eth2
DEVICE=eth2
ONBOOT=yes
MASTER=bond0
SLAVE=yes

重启网络服务

systemctl restart network

查看bond0的接口状态信息 ( 如果报错说明没做成功,很有可能是bond0接口没起来)

cat /proc/net/bonding/bond0

借鉴网上各个帖子加上了一些自己的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值