NIC Bonding on CentOS 7 with nmtui

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIC Bonding on CentOS 7 with nmtui相关的知识,希望对你有一定的参考价值。

    NIC Bonding on CentOS 7 with nmtui

当系统管理员希望增加可用带宽,并提供冗余和负载平衡的数据传输,内核支持bonding允许以聚合的方式实现。简单地说,绑定意味着将两个或多个物理网络接口(称为奴隶)聚合成一个单独的逻辑节点(称为主网络)。如果一个特定的NIC(网络接口卡)的经验问题,通信不受影响只要其他保持活跃。

1.先决条件

默认情况下,bonding内核模块没有启用。因此,我们将需要加载它并确保它持久。使用modprobe--first-time加载bonding模块,如果加载模块失败,会发出警告。

# modprobe --first-time bonding

以上的命令仅加载bondiing模块为当前会话,服务器重启后模块不会自动加载。为了确保持续加载,创建/etc/modules-load.d/bonding.conf文件放置于文件夹/etc/modules-load.d目录中,确保每次服务器重启时加载bonding模块。

# echo "# Load thebonding kernel module at boot" > /etc/modules-load.d/bonding.conf

# echo "bonding">> /etc/modules-load.d/bonding.conf

服务器重启之后确保bonding模块自动加载

[[email protected]]# lsmod|grep bonding

bonding              136705  0

[[email protected]]#

2.配置bonding

查看系统当前可用网卡,当前两块网卡上均无可用连接。

[[email protected]]# nmcli device status

DEVICE       TYPE     STATE         CONNECTION

eno16777736  ethernet disconnected  --        

eno33554992  ethernet disconnected  --        

lo           loopback  unmanaged    --        

[[email protected]]# nmcli connection show

NAME  UUID TYPE  DEVICE

当前服务器网卡信息如下

[[email protected]]# ifconfig

eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 00:0c:29:51:e8:75  txqueuelen 1000  (Ethernet)

        RX packets 2227  bytes 216343 (211.2 KiB)

        RX errors 0  dropped 0 overruns 0  frame 0

        TX packets 109  bytes 10643 (10.3 KiB)

        TX errors 0 dropped 0 overruns 0  carrier0  collisions 0

eno33554992:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 00:0c:29:51:e8:7f  txqueuelen 1000  (Ethernet)

        RX packets 2633  bytes 300745 (293.6 KiB)

        RX errors 0  dropped 0 overruns 0  frame 0

        TX packets 138  bytes 11748 (11.4 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

lo:flags=73<UP,LOOPBACK,RUNNING>  mtu65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128 scopeid 0x10<host>

        loop txqueuelen 0  (Local Loopback)

        RX packets 2  bytes 196 (196.0 B)

        RX errors 0  dropped 0 overruns 0  frame 0

        TX packets 2  bytes 196 (196.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

[[email protected]]#

登陆图形界面,nmtui打开配置界面如下

[[email protected]]#nmtui

技术分享                         选中edit a connection确定

技术分享

点击add

技术分享

bondàcreate进去bond配置界面

技术分享

设置profile name及device名,选择add添加网卡,如下

技术分享

设置profile name 为eth0,device设置为网卡eno16777736,点击ok。相同方法配置eth1,device设置为eno33554992。

技术分享

配置完成后,返回主界面,设置mode为active-backup,设置primary设备为eno16777736。点击ok退出。

技术分享

技术分享

查看服务器当前配置

[[email protected]]# cat /proc/net/bonding/mybond

Ethernet Channel BondingDriver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance(active-backup)

Primary Slave: eno16777736(primary_reselect always)

Currently Active Slave:eno16777736

MII Status: up

MII Polling Interval (ms):100

Up Delay (ms): 0

Down Delay (ms): 0

 

Slave Interface: eno33554992

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr:00:0c:29:51:e8:7f

Slave queue ID: 0

Slave Interface: eno16777736

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr:00:0c:29:51:e8:75

Slave queue ID: 0

[[email protected]]#

查看网卡信息,eno16777736与eno33554992网卡mac地址相同

[[email protected]]# ifconfig

eno16777736:flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 00:0c:29:51:e8:7f  txqueuelen 1000  (Ethernet)

        RX packets 3626  bytes 343058 (335.0 KiB)

        RX errors 0  dropped 0 overruns 0  frame 0

        TX packets 138  bytes 15571 (15.2 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

eno33554992:flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 00:0c:29:51:e8:7f  txqueuelen 1000  (Ethernet)

        RX packets 4034  bytes 428144 (418.1 KiB)

        RX errors 0  dropped 34 overruns 0  frame 0

        TX packets 139  bytes 11838 (11.5 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

lo:flags=73<UP,LOOPBACK,RUNNING>  mtu65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128 scopeid 0x10<host>

        loop txqueuelen 0  (Local Loopback)

        RX packets 2  bytes 196 (196.0 B)

        RX errors 0  dropped 0 overruns 0  frame 0

        TX packets 2  bytes 196 (196.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

mybond:flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500

        inet 192.168.31.119  netmask 255.255.255.0  broadcast 192.168.31.255

        inet6 fe80::20c:29ff:fe51:e87f  prefixlen 64 scopeid 0x20<link>

        ether 00:0c:29:51:e8:7f  txqueuelen 0 (Ethernet)

        RX packets 66  bytes 8172 (7.9 KiB)

        RX errors 0 dropped 34  overruns 0  frame 0

        TX packets 30  bytes 5018 (4.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

[[email protected]]#

再次查看当前设置状态

[[email protected]]# nmcli device status

DEVICE       TYPE     STATE      CONNECTION

mybond       bond     connected  mybond    

eno16777736  ethernet connected  eth0      

eno33554992  ethernet connected  eth1      

lo           loopback  unmanaged --    

当前设备的链接信息   

技术分享

3.bonding模式

mode= value

balance-rr or 0  

 Sets a round-robin policy for faulttolerance and load balancing.Transmissions are received and sent outsequentially on each bonded slave interface beginning with the first oneavailable.

active-backup or 1

Sets an active-backup policyfor fault tolerance.Transmissions  arereceived and sent out via the first available bonded slave interface. Anotherbonded slave interface is only used if the active bonded slave interface fails.

balance-xo ror 2

 Transmissions are based on the selected hashpolicy. The

default is to derive a hash by XOR ofthe source and destination MAC addresses   multipliedby the modulo of the number of slave interfaces. In this mode traffic destined for specific peers will always be sent over thesame interface. As the destination is determinedby the MAC addresses this method works best for traffic to peers on the same linkor local network. If traffic has to pass through a single router then this modeof traffic balancing will be suboptimal.

broadcast or 3

 Sets a broadcast policy for fault tolerance.All transmissions are sent on all slave interfaces.

80 2.3ad or 4

Sets an IEEE 802.3ad dynamiclink aggregation policy. Creates aggregation groups that share the same speedand duplex settings. Transmits and receives on all slaves in the activeaggregator. Requires a switch that is 802.3ad compliant.

balance-tlb or5

 Sets a Transmit Load Balancing (TLB) policyfor fault tolerance and load balancing. The outgoing traffic is distributed accordingto the current load on each slave interface. Incoming traffic is received bythe current slave. If the receiving slave fails, another slave takes over theMAC address of the failed slave. This mode is only suitable for local addressesknown to the kernel bonding module and therefore cannot be used behind a bridgewith virtual machines.

balance-alb or6

 Sets an Adaptive Load Balancing (ALB) policyfor fault tolerance and load balancing. Includes transmit and receive loadbalancing for IP v4 traffic.Receive load balancing is achieved through AR Pnegotiation. This mode is only suitable for local addresses known to the kernelbonding module and therefore cannot be used behind a bridge with virtualmachines.

本文出自 “技术成就梦想!” 博客,请务必保留此出处http://dreamsanqin.blog.51cto.com/845412/1885373

以上是关于NIC Bonding on CentOS 7 with nmtui的主要内容,如果未能解决你的问题,请参考以下文章

NIC Teaming on CentOS 7 with nmcli

NIC Teaming on CentOS 7 with nmtui

Linux Kernel TCP/IP Stack — L1 Layer — NIC bonding

centos6.9实现网卡bonding

centos6.9实现网卡bonding

centos6.9实现网卡bonding