Die folgende Tutorial-Kolumne von centos zeigt Ihnen, wie Sie Bond in CentOS konfigurieren. Ich hoffe, dass es für Freunde hilfreich ist, die es benötigen!
Netzwerkkarten-Bonding wird auch „Netzwerkkarten-Bündelung“ genannt, bei dem mehrere physische Netzwerkkarten zur Virtualisierung auf einer Netzwerkkarte verwendet werden, um einen Lastausgleich zu ermöglichen oder Redundanz, erhöhen Sie die Rolle der Bandbreite. Wenn eine Netzwerkkarte ausfällt, hat dies keine Auswirkungen auf das Geschäft. Dieses aggregierte Gerät scheint ein einzelnes Ethernet-Schnittstellengerät zu sein, das heißt, diese Netzwerkkarten haben dieselbe IP-Adresse und die parallelen Verbindungen werden zu einer logischen Verbindung zusammengefasst. Diese Technologie wird bei Netzwerkunternehmen wie Cisco als Trunking- und Etherchannel-Technologie bezeichnet. Diese Technologie wird im Linux 2.4.x-Kernel als Bonding bezeichnet.
Es gibt 7 Bindungsmodi:
#defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式 #defineBOND_MODE_XOR 2 (balance-xor模式)需要交换机支持 #defineBOND_MODE_BROADCAST 3 (broadcast模式) #defineBOND_MODE_8023AD 4 (IEEE 802.3ad动态链路聚合模式)需要交换机支持 #defineBOND_MODE_TLB 5 自适应传输负载均衡模式 #defineBOND_MODE_ALB 6 网卡虚拟化方式
Alle Arbeitsmodi des Bonding-Moduls können in zwei Kategorien unterteilt werden: Multi-Master-Arbeitsmodus und Aktiv-Standby-Arbeitsmodus. Balance-Rr und Broadcast gehören zum Multi-Master-Arbeitsmodus und Aktiv-Backup gehört zum Aktiv -Backup-Arbeitsmodus. (Balance-XOR, der adaptive Übertragungslastausgleichsmodus (Balance-tlb) und der adaptive Lastausgleichsmodus (Balance-Alb) gehören ebenfalls zum Multi-Master-Arbeitsmodus, und der dynamische Link-Aggregation-Modus IEEE 802.3ad (802.3ad) gehört zum Aktiver und Backup-Modus.
Stellen Sie diese 7 Modi im Detail vor:
Round-Robin-Strategie: Senden Sie Datenpakete nacheinander von Anfang bis Ende Modus bietet Lastausgleichs- und Fehlertoleranzfunktionen.
XOR
Dynamische Link-Aggregation nach IEEE 802.3ad. Erstellen Sie Aggregationsgruppen mit derselben Geschwindigkeit und demselben Duplexmodus. Alle Slaves können zum Aufbau von aggregierten Verbindungen gemäß der 802.3ad-Spezifikation verwendet werden. Die ausgehende Auswahl von Salve hängt von der Hash-Richtlinie der Übertragung ab. Die Standardrichtlinie ist eine einfache XOR-Richtlinie, und die Hash-Richtlinie kann über die Option xmit_hash_policy geändert werden. Es ist zu beachten, dass nicht alle Übertragungsstrategien mit 802.3ad kompatibel sind, insbesondere die Anforderungen zur Paketfehlordnung in Kapitel 43.2.4 des 802.3ad-Standards. Implementierungen verschiedener Personen weisen oft große Inkompatibilitäten auf.
Voraussetzung:
1. Der Basistreiber jedes Slaves unterstützt Ehtool, um die Rate und den Duplexstatus zu erhalten.
2. Der Switch unterstützt die dynamische Link-Aggregation nach IEEE 802.3ad. Die meisten Switches erfordern eine gewisse Konfiguration, um den 802.3ad-Modus zu aktivieren.
Adaptiver Übertragungslastausgleich: Für die Kanalbindung ist keine spezielle Switch-Unterstützung erforderlich. Die Verteilung des ausgehenden Datenverkehrs hängt von der aktuellen Auslastung jedes Slaves ab (Berechnung der relativen Geschwindigkeit). Der Importverkehr wird vom aktuellen Slave empfangen. Wenn beim Salve-Empfang ein Fehler auftritt, erhalten andere Slaves weiterhin die MAC-Adresse des Slaves, der nicht übernehmen konnte.
Voraussetzung:
Der Basistreiber jedes Slaves unterstützt Ehtool, um den Tarifstatus zu erhalten.
Adaptiver Lastausgleich: Beinhaltet Balance-TLB (Modus 5) und Empfangslastausgleich für IPV4-Verkehr und erfordert keine spezielle Switch-Unterstützung. Der Empfangslastausgleich wird durch ARP-Aushandlung implementiert. Der Bonding-Treiber fängt vom lokalen Computer gesendete ARP-Antworten (ARP-Antwortnachrichten) ab und schreibt die Quelladresse der ARP-Nachricht mit der Hardwareadresse eines Slaves des Bonds um, sodass der Server unterschiedliche Hardwareadressen für verschiedene Geräte verwendet. Der eingehende Datenverkehr der von diesem Server aufgebauten Verbindungen wird ebenfalls lastverteilt. Wenn die Maschine eine ARP-Anfrage sendet, kopiert und speichert der Bonding-Treiber die IP-Informationen des Knotens über die ARP-Nachricht. Beim Empfang einer ARP-Antwort von einem anderen Knoten erhält der Bonding-Treiber die Hardware-Adresse des Knotens und antwortet mit einer ARP-Antwort, die die Hardware-Adresse des gebundenen Slaves enthält, an den sendenden Knoten. Ein Problem beim Lastausgleich mithilfe der ARP-Aushandlung besteht darin, dass jedes Mal, wenn die Hardwareadresse der Bindung zum Senden einer ARP-Nachricht verwendet wird, alle von anderen Knoten gesendeten Daten auf einen Slave konzentriert werden. Bei der Verarbeitung von ARP-Updates für alle anderen Knoten wird dies von jedem Knoten ausgeführt Hardwareadressen werden neu gelernt, was zu einer Umverteilung des Datenverkehrs führt. Wenn ein neuer Slave hinzugefügt oder ein inaktiver Slave reaktiviert wird, wird der empfangene Datenverkehr ebenfalls neu verteilt. Die Empfangsverkehrslast wird seriell (Round-Robin) auf eine Gruppe von Slaves mit der höchsten Rate in der Bindung verteilt.
Wenn eine Verbindung wiederhergestellt oder ein neuer Slave hinzugefügt wird, initialisiert Bond die ARP-Antworten an alle Clients neu. Der Wert des Updelay-Parameters muss gleich oder größer als die Weiterleitungsverzögerung des Switches sein, um zu verhindern, dass ARP-Antworten vom Switch blockiert werden.
Voraussetzung:
1. Der Basistreiber jedes Slaves unterstützt Ehtool, um den Tarifstatus zu erhalten.
2. Der Basistreiber unterstützt das Zurücksetzen der Hardwareadresse beim Einschalten des Geräts. Jeder Slave muss außerdem über eine eindeutige Hardwareadresse verfügen. Wenn curr_active_slave ausfällt, wird seine Hardwareadresse durch die neu ausgewählte curr_active_slave-Hardwareadresse ersetzt.
Bond0 und Bond1 auf CentOS konfigurieren:
Zunächst müssen Sie prüfen, ob Linux Bonding unterstützt. RHEL4 unterstützt es bereits standardmäßig. (Die meisten Distributionen unterstützen es)
# modinfo bonding filename: /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@lbl.gov and many others de.ion: Ethernet Channel Bonding Driver, v3.0.3 version: 3.0.3 license: GPL srcversion: 2547D22885C2FDF28EF7D98
如果有类似上面的信息输出,说明已经支持了.
1、配置Bond 0 负载均衡
特点:
1. 双网块同时工作,实现负载均衡,某一网卡不正常时,不会引发网络中断.
2. 恢复不能正常工作的网卡时,会引发网络中断几秒,然后双网卡同时工作.
1.编辑虚拟网络接口配置文件,指定网卡IP
cp /etc/sysconfig/network-scripts/ifcfg-lo ifcfg-bond0 vi ifcfg-bond0 DEVICE=bond0 IPADDR=10.10.10.1 NETMASK=255.255.255.0 NETWORK=10.10.10.0 BROADCAST=10.10.10.255 ONBOOT=yes BOOTPROTO=none USERCTL=no GATEWAY=192.168.0.1
2.在bond0上添加网关,是确保默认路由无故障
[root@Linux ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.255.255.0 U 0 0 0 bond0 10.0.0.0 * 255.255.255.0 U 0 0 0 eth0 10.0.0.0 * 255.255.255.0 U 0 0 0 eth1 169.254.0.0 * 255.255.0.0 U 0 0 0 bond0 default 10.0.0.1 0.0.0.0 UG 0 0 0 bond0 vi ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes vi ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes
3 # vi /etc/modprobe.conf
编辑/etc/modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0
加入下列两行
alias bond0 bonding options bond0 miimon=100 mode=0
说明:
miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
4 # vi /etc/rc.d/rc.local
加入以下内容
# 仅在热备模式下,eht0 eth1网卡的工作顺序. ifenslave bond0 eth0 eth1
到这时已经配置完毕重新启动机器.
重启会看见以下信息就表示配置成功了
................
Bringing up interface bond0 OK Bringing up interface eth0 OK Bringing up interface eth1 OK
2、配置Bond 1 热备模式
特点:
1. 正在工作的网卡不正常后,切换到备用网卡,此时会中间几秒钟
2. 恢复不正常的网卡时,不会引发网络中断.
其他步骤一致,只在第3步骤,将mode设置成1即可.
alias bond0 bonding options bond0 miimon=100 mode=1
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Bindung in CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!