歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux網卡綁定實現

Linux網卡綁定實現

日期:2017/3/1 13:51:17   编辑:關於Linux
NIC channel bonding allows multiple network cards to act as one, allowing increased bandwidth and redundancy. Let's assume we have two network interfaces ("eth0" and "eth1") and we want to bond them so they look like a single interface ("bond0"). Add the following line to the "/etc/modprobe.conf" file. ============================= alias bond0 bonding ============================= The files defining the regular and bonded interfaces are located in the "/etc/sysconfig/network-scripts" directory. Create a new file called "ifcfg-bond0" for the bonded interface with the following contents (adjust the network parameters as applicable). ============================= [root@rhel5 network-scripts]# cat ifcfg-bond0 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=bond0 BOOTPROTO=static ONBOOT=yes USERCTL=no IPADDR=192.168.99.131 NETMASK=255.255.255.0 BONDING_OPTS="mode=1 miimon=100" ============================= 說明:miimon是用來進行鏈路監測的。 比如:miimon=100,那麼系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有0,1,2,3四種模式,常用的為0,1兩種。 mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作。 mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說默認情況下只有一塊網卡工作,另一塊做備份. bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。如果只是交換機對外的鏈路down掉了,而交換機本身並沒有故障,那麼bonding會認為鏈路沒有問題而繼續使用 Amend the existing "ifcfg-eth0" and "ifcfg-eth1" files, adding the "MASTER" and "SLAVE" parameters. The contents of these files should look like this. ============================= [root@rhel5 network-scripts]# cat ifcfg-eth0 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth0 BOOTPROTO=none USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes [root@rhel5 network-scripts]# cat ifcfg-eth1 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth1 BOOTPROTO=none ONBOOT=yes USERCTL=none MASTER=bond0 SLAVE=yes ============================= Restart the network service. ============================= # service network restart ============================= Once the bond is configured it acts like any other Ethernet device. For example, you can configure alias interfaces to handle multiple IP addresses, as shown below. Create the "ifcfg-bond0:1" and "ifcfg-bond0:2" files in the "/etc/sysconfig/network-scripts" directory with the following contents. ============================= # ifcfg-bond0:1 file contents DEVICE=bond0:1 BOOTPROTO=none ONBOOT=yes NETWORK=192.168.0.0 NETMASK=255.255.255.0 IPADDR=192.168.0.172 USERCTL=no BONDING_OPTS="mode=1 miimon=100" # ifcfg-bond0:2 file contents DEVICE=bond0:2 BOOTPROTO=none ONBOOT=yes NETWORK=192.168.0.0 NETMASK=255.255.255.0 IPADDR=192.168.0.173 USERCTL=no BONDING_OPTS="mode=1 miimon=100" ============================= Restart the network service for the changes to take effect. 通過查看bond0的工作狀態查詢能詳細的掌握bonding的工作狀態 [root@redflag bonding]# cat /proc/net/bonding/bond0 bonding.c:v2.4.1 (September 15, 2003) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0 Multicast Mode: all slaves Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0e:7f:25:d9:8a Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0e:7f:25:d9:8b
Copyright © Linux教程網 All Rights Reserved