Beim
Bonding
geht es darum, die schnelle Netzwerkkarte für externe Dienste an dieselbe IP-Adresse zu binden, wodurch eine hohe Verfügbarkeit oder ein Lastausgleich erreicht werden kann. Natürlich ist es nicht möglich, für zwei Netzwerkkarten direkt dieselbe IP-Adresse festzulegen. Durch Bonding stellt eine virtuelle Netzwerkkarte externe Verbindungen bereit und die physische Netzwerkkarte wird auf dieselbe MAC-Adresse geändert.
Bonding-Arbeitsmodus
Modus 0 (Balance-rr)
Round-Robin-Strategie: Datenpakete nacheinander senden von Beginn bis Ende auf jeder Slave-Schnittstelle. Dieser Modus bietet Lastausgleichs- und Fehlertoleranzfunktionen.
Modus 1 (Active-Backuop)
Aktiv-Backup (Active-Backup)-Strategie: In der Bindung wird nur ein Slave aktiviert und nur bei Ausfall der aktiven Slave-Schnittstelle andere Slaves aktiviert . Um Verwechslungen am Switch zu vermeiden, ist die gebundene MAC-Adresse nur an einem externen Port sichtbar.
Modus 3 (Broadcast)
Broadcast-Strategie: Alle Pakete auf allen Slave-Schnittstellen senden. Dieser Modus bietet Fehlertoleranz.
Zweite Bonding-Konfiguration
1 Erstellen Sie die Konfigurationsdatei des Bonding-Geräts
[root@CentOS68 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=0"
IPADDR=200.200.200.200
PREFIX=24
GATEWAY=200.200.200.1
miimon ist die Zeit zum Festlegen des Erkennungslinks in Millisekunden. Wenn miimon=100, erkennt das System alle 100 Millisekunden den Verbindungsstatus einer Seite der Verbindung. Wenn eine Leitung nicht verfügbar ist, wird auf eine andere Leitung umgeschaltet.
Modus wird verwendet, um den Modus festzulegen.
2 Erstellen Sie die Slave-Konfigurationsdatei.
ist die Konfigurationsdatei der hinzuzufügenden Netzwerkkarte Wir verwenden eth1 und eth2 Zwei Netzwerkkarten, kommen Sie herunter und ändern Sie die Konfiguration der beiden Netzwerkkarten
[root@CentOS68 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=0
MASTER gibt an, zu welchem Bond die Testnetzwerkkarte gehört. SLAVE gibt die Zugehörigkeit an. USERCTL gibt an, ob der Benutzer über Kontrollberechtigungen verfügt.
Die Konfiguration von eth2 und eth1 ist ähnlich
[root@CentOS68 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=0
3 Starten Sie den Netzwerkdienst neu
[root@CentOS68 ~]# service NetworkManager stop #centos6上不稳定,建议关闭 [root@CentOS68 ~]# service network restart
Schnittstelle Bond0 herunterfahren: [ OK ]
Schnittstelle eth0 herunterfahren: [ OK ]
Loopback-Schnittstelle herunterfahren: [ OK ]
Loopback-Schnittstelle aufrufen: [ OK ]
Schnittstelle Bond0 aufrufen: Feststellen, ob die IP-Adresse 200.200.200.200 bereits für Gerät Bond0 verwendet wird...
[ OK ]
Schnittstelle eth0 aufrufen: Feststellen, ob die IP-Adresse 192.168.29.68 bereits für das Gerät eth0 verwendet wird...
[ OK ]
Sie können das sehen wurde erfolgreich gestartet, schauen wir es uns noch einmal an Nächste IP-Adresse und MAC
[root@CentOS68 ~]# ip a
[…]
7: eth1:
link/ether 00:0c:29:74:74:45 brd ff:ff:ff:ff:ff:ff
8: eth2: < BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> ff:ff:ff:ff:ff :ff
9: bond0:
link/ether 00: 0c:29:74:74:45 brd ff:ff:ff:ff:ff:ff
inet 200.200.200.200/24 brd 200.200.200.255 Scope Global Bond0
inet6 fe80 ::20c:29ff:fe74:7445/64 Scope Link tentative dadfailed
valid_lft Forever Preferred_lft Forever
Sie können sehen, dass die IP-Adresse wirksam geworden ist und die MAC-Adressen identisch sind.
4 Überprüfen Sie den Status von Bond0[root@CentOS68 ~]# cat /proc/net/bonding/bond0
Bonding-Modus: Lastausgleich (Round-Robin)
MII-Status: aktiv
MII-Abfrageintervall (ms): 100
Hochlaufzeit (ms): 0
Abschaltverzögerung (ms): 0
Slave-Schnittstelle: eth1
MII-Status: aktiv
Geschwindigkeit: 1000 Mbit/s
Duplex : voll
Anzahl der Verbindungsfehler: 0
Permanente HW-Adresse: 00:0c:29:74:74:45
Slave-Warteschlangen-ID: 0
Slave-Schnittstelle: eth2
MII-Status: aktiv
Geschwindigkeit: 1000 Mbit/s
Duplex: voll
Anzahl Verbindungsfehler: 0
Permanente HW-Adresse: 00:0c:29:74:74:4f
Slave-Warteschlangen-ID: 0
Okay, alles läuft gut
5 Löschen Bindung[root@CentOS68 ~]# ifconfig bond0 down [root@CentOS68 ~]# rmmod bonding
bond0: error fetching interface information: Device not found
已经找不到bond0,说明删除成功。
详细帮助:/etc/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
三 nmcli实现bonding
1 添加bonding接口
[root@centos7 ~]# nmcli connection add type bond con-name mybond0 ifname bond0 mode active-backup
Connection 'mybond0' (cc101e79-3dcb-49ee-8164-89c9e877c315) successfully added.
2添加从属接口
[root@centos7 ~]# nmcli connection add type bond-slave ifname ens34 master mybond0
Connection 'bond-slave-ens34' (9c8ff11a-72ef-4d63-a950-2ab777d2a1ea) successfully added.
[root@centos7 ~]# nmcli connection add type bond-slave ifname ens38 master mybond0
Connection 'bond-slave-ens38' (c40b3e6f-32f4-4d1a-a323-aed2519cf865) successfully added.
注意:如没有指定从属接口连接名,则该名称是接口名称加类型构成
3 启动从属接口
[root@centos7 ~]# nmcli connection up bond-slave-ens34
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/40)
[root@centos7 ~]# nmcli connection up bond-slave-ens38
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/41)
4 启动bonding 绑定
[root@centos7 ~]# nmcli connection up mybond0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/48)
5 查看绑定
[root@centos7 ~]# nmcli connection show
NAME UUID TYPE DEVICE
bond-slave-ens34 9c8ff11a-72ef-4d63-a950-2ab777d2a1ea 802-3-ethernet ens34
bond-slave-ens38 c40b3e6f-32f4-4d1a-a323-aed2519cf865 802-3-ethernet ens38
mybond0 cc101e79-3dcb-49ee-8164-89c9e877c315 bond bond0
6 添加IP地址
[root@centos7 ~]# nmcli connection modify mybond0 ipv4.method manual ipv4.addresses 200.1.1.1/24
7 删除bond绑定
(1)关闭bond
[root@centos7 ~]# nmcli connection down mybond0
Connection 'mybond0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)
[root@centos7 ~]#
(2)删除bond
[root@centos7 ~]# nmcli connection delete mybond0
Connection 'mybond0' (9ed2f027-bbb1-44d1-87fc-7f7275d7fe70) successfully deleted.
(3)删除从属接口
[root@centos7 ~]# nmcli connection delete bond-slave-ens34
Connection 'bond-slave-ens34' (a46ad620-d4b5-43f9-a73a-447785504a17) successfully deleted.
[root@centos7 ~]# nmcli connection delete bond-slave-ens38
Connection 'bond-slave-ens38' (66b1f44d-ad71-4576-8061-f6cba2b976e8) successfully deleted.
好了
Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zur Konfiguration von Netzwerkschnittstellen-Bonding. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!