以太网通道绑定在Linux系统上的NIC组合

以太网通道绑定使两个或多个网络接口卡(NIC)能够连接到单个虚拟NIC卡,这可以增加带宽并提供冗余

以太网信道绑定使得两个或更多的网络接口卡 (NIC)到单个虚拟NIC卡这可能会增加带宽并提供NIC卡的冗余。 这是一种在生产系统中实现冗余链路,容错或负载均衡网络的好方法。 如果一个物理NIC 关闭拔出 ,它会自动将资源移动到其他网卡频道 / 网卡绑定将与内核 bonding驱动的工作有所帮助。 我们将使用两块网卡来证明一样。

以太网信道绑定

以太网信道绑定

有近六种类型 通道绑定类型可供选择。 在这里,我们将仅回顾流行和广泛使用的两种类型的渠道绑定。

  1. 0:负载均衡轮循 ):交通是从两个NIC顺序或循环的方式传输。 此模式提供负载平衡和容错。
  2. 1:活动备份 :只有一个从NIC是活跃在任何特定的时间点。 其他接口卡将仅在活动从属网卡发生故障时处于活动状态。

创建以太网通道绑定

我们有两个网络以太网卡的eth1ETH2那里bond0将用于粘接的目的来创建。 需要超级用户权限才能执行以下命令。

负载平衡(Round-Robin)

配置eth1

何况参数MASTER bond0eth1接口的配置文件的Minion ,如下图所示。

# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes
配置eth2

这里还指定参数MASTER bond0ETH2接口作为一个Minion

# vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
TYPE="Ethernet"
ONBOOT="yes"
USERCTL=no
#NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
创建bond0配置

创建bond0和配置通道绑定界面中的“ / etc / sysconfig / network中的脚本/”目录下的ifcfg-bond0。

以下是通道绑定配置文件示例。

# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=0 miimon=100"

:在上面的配置中我们选择绑定选项模式= 0,轮转miimon = 100( 轮询间隔100毫秒 )。

让我们来看看使用创建的接口ifconfig命令其显示为“bond0”运行作为接口都“ 的eth1”“ETH2”运行的Minion

# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
inet addr:192.168.246.130  Bcast:192.168.246.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe57:618e/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
RX packets:17374 errors:0 dropped:0 overruns:0 frame:0
TX packets:16060 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1231555 (1.1 MiB)  TX bytes:1622391 (1.5 MiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:16989 errors:0 dropped:0 overruns:0 frame:0
TX packets:8072 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1196931 (1.1 MiB)  TX bytes:819042 (799.8 KiB)
Interrupt:19 Base address:0x2000
eth2      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:385 errors:0 dropped:0 overruns:0 frame:0
TX packets:7989 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34624 (33.8 KiB)  TX bytes:803583 (784.7 KiB)
Interrupt:19 Base address:0x2080
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

重新启动网络服务和接口应该OK。

# service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

检查绑定的状态。

# watch -n .1 cat /proc/net/bonding/bond0
样品输出

下面的输出显示绑定模式负载平衡 (RR)eth1eth2所在显示出来。

Every 0.1s: cat /proc/net/bonding/bond0                         Thu Sep 12 14:08:47 2013 
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

创建活动备份

在这种情况下, 接口保持不变。 只有一个变化将出现在债券接口的ifcfg-bond0,而不是“0”这将是'1',它显示为下。

# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=1 miimon=100"

重新启动网络服务并检查绑定的状态。

# service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

使用命令检查绑定的状态。

# watch -n .1 cat /proc/net/bonding/bond0
示例输出

绑定模式显示容错(主动备份),从属接口已启动。

Every 0.1s: cat /proc/n...  Thu Sep 12 14:40:37 2013
Ethernet Channel Bonding Driver: v3.6.0 (September 2
6, 2009)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

:手动向下向上的从接口检查通道绑定的工作。 请参见下面的命令。

# ifconfig eth1 down
# ifconfig eth1 up

而已!