为网络接口 HA 设置 Linux 以太网通道绑定
在 Linux 中,使用 etherchannel 绑定可以将两个或多个物理网络接口 (NIC) 组合在一起以创建虚拟接口。
IP 地址将在此虚拟接口上配置。如果其中一个底层物理适配器出现故障,则另一个物理适配器用于处理通信流量。
以下是不同类型的以太通道绑定模式:
- 模式 0 – 循环 (RR) 策略:数据包传输按顺序完成。例如,第一个数据包使用接口传输,第二个数据包通过下一个接口完成,依此类推。此模式提供负载平衡和容错。
- 模式 1 – active-backup 策略:数据包传输仅通过活动接口发生,流量仅在活动接口关闭时通过备份接口路由。
- 模式 2 – XOR 策略:此模式平衡活动端口之间的传出流量。在这种模式下,相同的从设备用于传输每个目标 MAC 地址。这提供了负载平衡和容错。
- 模式 3 – 广播策略:这会在所有从接口上传输所有内容。此模式提供容错。
- 模式 4(802.3ad):此模式用于创建共享相同速度和双工设置的链路聚合组。
- 模式 5(balance-tlb):自适应传输负载平衡。传出流量根据每个从站上的当前负载进行分配。当前从站接收传入流量。如果当前从站发生故障,则另一个从站根据 MAC 地址接管传入流量。
- 模式6(balance-alb):自适应负载均衡。在这种情况下,传入流量被处理以使用所有从属服务器之间的负载平衡。接收负载均衡是通过 ARP 协商完成的。
在 Redhat 或 CentOS 中配置绑定
1. 创建 ifcfg-bond0 文件
所有网络配置脚本都位于 RHEL 中的 /etc/sysconfig/network-scripts 下。使用命令“ethtool”验证接口的链接状态
使用以下值创建文件 ifcfg-bond0 并替换为正确的 IP、NETMASK 和适当的绑定模式(模式 0、1、2 ...),如下所示。
# cd /etc/sysconfig/network-scripts
# vi ifcfg-bond0
DEVICE=bond0
IPADDR=19.86.101.120
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"
2.修改ifcfg-eth0和ifcfg-eth1文件
编辑 eth0 和 eth1 的网络接口文件以反映类似于以下内容的条目。确保您已定义如下所示的 MASTER 和 SLAVE 参数。
# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:8E:0C:10
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none
# cat ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:8E:0C:2A
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none
3.创建bonding.conf文件
使用以下内容创建 bonding.conf 文件。
# vi /etc/modprobe.d/bonding.conf
alias netdev-bond0 bonding
4.重启网络服务并验证绑定
重启网络服务:
service network restart
验证绑定状态,如下所示。
以下表示当前绑定模式为容错。
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:10
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:2a
Slave queue ID: 0
您可以通过关闭一个接口来执行测试,看到另一个接口将处于活动状态,反之亦然。
在 SuSE Linux 上配置绑定
要在最新版本的 SuSE 上配置绑定,您可以使用 YaST,也可以修改系统文件,如下所示:
使用以下命令验证活动接口:
ethtool eth0 | egrep "Speed|Duplex|Link"
如果速度、双工和链路状态未知,则接口可能处于关闭状态。尝试使用“ifconfig up”调出界面。如果您仍然看不到链接,则说明接口未连接到交换机。
1. 创建 ifcfg-bond0 文件
使用控制台登录机器。在 /etc/sysconfig/network 下创建 ifcfg-bond0 并定义可以使用的 IP 地址和从接口。
在下面的示例中,我使用了主动备份模式进行绑定,这意味着只有主动接口处理通信流量和备份接口开始工作的故障。
# cd /etc/sysconfig/network
# cat ifcfg-bond0
BONDING_MASTER=yes
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
BONDING_SLAVE0='eth0'
BONDING_SLAVE1='eth1'
BOOTPROTO='static'
IPADDR='192.168.1.85/24'
BROADCAST=''
STARTMODE='auto'
2.修改ifcfg-eth0和ifcfg-eth1文件
修改从接口,使其没有 IP 地址,网络掩码。输出应类似于以下内容:
# cat ifcfg-eth0
DEVICE='eth0'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'
# cat ifcfg-eth1
DEVICE='eth1'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'
3. 编辑 modprobe.conf 文件
编辑文件 /etc/modprobe.conf 并添加以下 2 行以包含带选项的绑定驱动程序。
alias bond0 bonding
options bond0 miimon=100 mode=1
注意:如果您已将选项包含在 /etc/sysconfig/network/ifcfg-bond0 文件中,则可以选择忽略选项。
4.重启网络服务并验证绑定
设置绑定后,重启网络服务:
rcnetwork restart
验证绑定接口是否已启动且 ip 配置正确。还要确保您能够使用 IP 地址连接服务器。
# ifconfig bond0
bond0 Link encap:Ethernet HWaddr 00:50:56:8E:00:26
inet addr:192.168.1.85 Bcast:192.168.1.1 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:28420409 errors:0 dropped:0 overruns:0 frame:0
TX packets:151985 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2362560309 (2253.1 Mb) TX bytes:17330542 (16.5 Mb)
要测试绑定接口是否正常工作,请登录控制台并使用“ifconfig eth0 down”关闭活动接口。确认您仍然可以使用相同的 IP 或主机名登录到机器。您可以在以下文件中验证活动接口的状态,
如下图所示,eth0 已关闭,但与机器的网络连接仍然没有丢失,因为我们已经设置了绑定,并且 eth1 接口仍然处于打开状态。
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
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: eth0
MII Status: down
Link Failure Count: 1
Permanent HW addr: 00:50:56:8e:00:26
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:7e:20
- 点赞
- 收藏
- 关注作者
评论(0)