„Ethernet Channel Bonding“ dar žinomas kaip „NIC Teaming“ „Linux“ sistemose
Eterneto kanalo sujungimas įgalina dvi ar daugiau tinklo sąsajų kortelių (NIC) į vieną virtualią NIC kortelę, kuri gali padidėti pralaidumą ir užtikrina NIC kortelių dubliavimą. Tai puikus būdas pasiekti perteklinius ryšius, atsparumą gedimams ar apkrovos balansavimo tinklus gamybos sistemoje. Jei vienas fizinis NIC yra neveikiantis arba atjungtas, jis automatiškai perkels išteklius į kitą NIC kortelę. Kanalo/NIC susiejimas veiks naudojant susiejimo tvarkyklę brandulyje. Norėdami parodyti tą patį, naudosime du NIC.
Yra beveik šeši tipų Channel Bond tipai. Čia apžvelgsime tik du populiarius ir plačiai naudojamus kanalo obligacijų tipus.
- 0: apkrovos balansavimas (Round-Robin): srautas perduodamas nuoseklia tvarka arba abiem NIC. Šis režimas užtikrina apkrovos balansavimą ir atsparumą gedimams.
- 1: aktyvi atsarginė kopija: bet kuriuo metu aktyvus tik vienas pagalbinis NIC. Kita sąsajos kortelė bus aktyvi tik tada, kai sugenda aktyvus pagalbinis NIC.
Ethernet kanalų sujungimo kūrimas
Turime dvi tinklo eterneto korteles, t. y. eth1 ir eth2, kuriose bond0 bus sukurtas sujungimo tikslais. Norint vykdyti toliau pateiktas komandas, reikalingas supervartotojas.
Apkrovos balansavimas (apvalkalas)
Konfigūruoti eth1
Konfigūracijos faile nurodykite parametrą MASTER bond0 ir eth1 kaip SLAVE, kaip parodyta toliau.
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes
Konfigūruoti eth2
Čia taip pat nurodykite parametrą MASTER bond0 ir eth2 sąsają kaip SLAVE.
vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
TYPE="Ethernet"
ONBOOT="yes"
USERCTL=no
#NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
Sukurkite bond0 konfigūraciją
Sukurkite bond0 ir sukonfigūruokite kanalų susiejimo sąsają „/etc/sysconfig/network-scripts/“ kataloge, pavadintame ifcfg-bond0.
Toliau pateikiamas kanalų sujungimo konfigūracijos failo pavyzdys.
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"
Pastaba: aukščiau pateiktoje konfigūracijoje pasirinkome klijavimo parinktis mode=0, ty Round-Robin ir miimon=100 (Apklausos intervalai 100 ms).
Pažiūrėkime sąsajas, sukurtas naudojant komandą ifconfig, kuri rodo, kad „bond0“ veikia kaip MASTER, abi sąsajos „eth1“ ir „eth2““ veikia kaip VERGAI.
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)
Iš naujo paleiskite tinklo paslaugą ir sąsajos turėtų būti gerai.
service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
Obligacijos būklės patikrinimas.
watch -n .1 cat /proc/net/bonding/bond0
Išvesties pavyzdys
Toliau pateikta išvestis rodo, kad Bonding Mode yra Apkrovos balansavimas (RR) ir eth1 ir eth2 > pasirodo.
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
Sukurkite aktyvią atsarginę kopiją
Pagal šį scenarijų Slave sąsajos išlieka tos pačios. obligacijų sąsajoje bus tik vienas pakeitimas ifcfg-bond0, o ne 0, tai bus 1, kuris rodomas kaip žemiau .
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"
Iš naujo paleiskite tinklo paslaugą ir patikrinkite ryšio būseną.
service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
Ryšio būsenos patikrinimas su komanda.
watch -n .1 cat /proc/net/bonding/bond0
Pavyzdžio išvestis
Sujungimo režimas rodo atsparumą gedimams (aktyvus atsarginis kopijavimas), o pavaldumų sąsaja veikia.
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
Pastaba: rankiniu būdu žemyn ir aukštyn valdovų sąsajas patikrinkite, ar veikia Kanalų sujungimas. Žiūrėkite toliau pateiktą komandą.
ifconfig eth1 down
ifconfig eth1 up
Viskas!