Com crear equips o enllaços NIC a CentOS 8/RHEL 8


L'equip de NIC és l'agregació o unió de dos o més enllaços de xarxa en un únic enllaç lògic per proporcionar redundància i alta disponibilitat. La interfície/enllaç lògic es coneix com a interfície d'equip. En cas que l'enllaç físic actiu cau, un dels enllaços de seguretat o reservats s'activa automàticament i garanteix una connexió ininterrompuda al servidor.

Abans de posar-nos les mànigues, és crucial familiaritzar-se amb les terminologies següents:

  • Teamd: aquest és el dimoni d'equip nic que utilitza la biblioteca libteam per comunicar-se amb els dispositius de l'equip mitjançant el nucli Linux.
  • Teamdctl: aquesta és una utilitat que permet als usuaris controlar una instància de teamd. Podeu comprovar i canviar l'estat del port, així com canviar entre els estats de còpia de seguretat i els actius.
  • Runner: són unitats de codi escrites en JSON i s'utilitzen per a la implementació de diversos conceptes d'equip de NIC. Alguns exemples de modes de corredor inclouen Round robbin, equilibri de càrrega, difusió i còpia de seguretat activa.

Per a aquesta guia, configurarem l'associació de NIC mitjançant el mode de còpia de seguretat activa. Aquí és on un enllaç roman actiu mentre la resta estan en espera i es reserven com a enllaços de seguretat en cas que l'enllaç actiu cau.

En aquesta pàgina

  • Instal·leu el Daemon en equip a CentOS
  • Configura NIC Teaming a CentOS
  • Prova de la redundància d'equips de xarxa
  • Suprimir una interfície d'equip de xarxa

Sense massa preàmbuls, comencem.

Teamd és el dimoni que s'encarrega de crear un equip de xarxa que actuarà com a interfície lògica durant el temps d'execució. De manera predeterminada, ve instal·lat amb CentOS/RHEL 8. Però si, per qualsevol motiu, no està instal·lat, executeu l'ordre dnf següent per instal·lar-lo.

$ sudo dnf install teamd

Un cop instal·lat, verifiqueu que teamd estigui instal·lat executant l'ordre rpm:

$ rpm -qi teamd

Per configurar l'equip de NIC, utilitzarem la pràctica eina nmcli que es pot utilitzar per a la gestió del servei NetworkManager. Al meu sistema, tinc 2 targetes NIC que uniré o combinaré per crear una interfície d'equip lògica: enp0s3 i enp0s8. Això pot ser diferent en el vostre cas.

Per confirmar que les interfícies de xarxa actives executeu:

$ nmcli device status

La sortida confirma l'existència de 2 connexions de xarxa actives. Per recopilar més informació sobre les interfícies com l'UUID, executeu l'ordre:

$ nmcli connection show

Per crear un enllaç o interfície d'equip de xarxa, que serà el nostre enllaç lògic, suprimirem les interfícies de xarxa existents. A continuació, crearem interfícies esclaves utilitzant les interfícies suprimides i després les associarem amb l'enllaç d'equip.

Utilitzant els seus respectius UUID, executeu les ordres següents per eliminar els enllaços:

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Aquesta vegada, quan comproveu les interfícies, notareu que estan desconnectades i no proporcionen connexió amb el servidor. Bàsicament, el vostre servidor estarà aïllat de la resta de la xarxa.

$ nmcli device status

A continuació, crearem una interfície d'equip anomenada team0 en mode de corredor de còpia de seguretat activa. Com s'ha dit anteriorment, el mode de còpia de seguretat actiu utilitza una interfície activa i reserva les altres per a la redundància en cas que l'enllaç actiu cau.

$ nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Per veure els atributs assignats a la interfície team0 executeu l'ordre:

$ nmcli connection show team0

Perfecte! En aquest punt, només tenim una interfície activa, que és la interfície team0 tal com es mostra.

$ nmcli connection show

A continuació, configureu l'adreça IP per a la interfície team0 tal com es mostra amb l'ordre nmcli. Assegureu-vos d'assignar les IP segons l'esquema d'adreces IP i de subxarxa de la vostra xarxa.

$ nmcli con mod team0 ipv4.addresses 192.168.2.100/24
$ nmcli con mod team0 ipv4.gateway 192.168.2.1
$ nmcli con mod team0 ipv4.dns 8.8.8.8
$ nmcli con mod team0 ipv4.method manual
$ nmcli con mod team0 connection.autoconnect yes

A continuació, creeu enllaços esclaus i associeu els esclaus a l'enllaç de l'equip:

$ nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
$ nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Comproveu de nou l'estat dels enllaços i notareu que els enllaços esclaus ara estan actius.

$ nmcli connection show

A continuació, desactiveu i activeu l'enllaç de l'equip. Això activa la connexió entre els enllaços esclaus i l'enllaç d'equip.

$ nmcli connection down team0 && nmcli connection up team0

A continuació, verifiqueu l'estat de la connexió de l'enllaç de l'equip tal com es mostra.

$ ip addr show dev team0

Podem veure que l'enllaç està en funcionament amb l'adreça IP correcta que hem configurat anteriorment.

Per recuperar detalls addicionals sobre l'enllaç de l'equip, executeu l'ordre:

$ sudo teamdctl team0 state

A la sortida, podem veure que tots dos enllaços (enp0s3 i enp0s8) estan activats i que l'enllaç actiu és enp0s8.

Per provar el nostre mode d'associació de còpia de seguretat activa, desconnectarem l'enllaç actiu actualment (enp0s3) i comprovarem si l'altre enllaç s'activa.

$ nmcli device disconnect enp0s3
$ sudo teamdctl team0 state

Quan comproveu l'estat de la interfície d'equip, trobareu que l'enllaç enp0s8 s'ha activat i ofereix connexions al servidor. Això confirma que la nostra configuració funciona!

Si voleu suprimir la interfície/enllaç d'equip i tornar a la configuració predeterminada de la xarxa, primer feu baixa l'enllaç d'equip:

$ nmcli connection down team0

A continuació, suprimiu els esclaus.

$ nmcli connection delete team0-slave0 team0-slave1

Finalment, suprimiu la interfície d'equip.

$ nmcli connection delete team0

En aquest punt, totes les interfícies estan caigudes i el vostre servidor no és accessible. Per activar les interfícies de xarxa i recuperar la connectivitat, executeu les ordres:

$ sudo ifconfig enp0s3 up
$ sudo ifconfig enp0s8 up
$ sudo systemctl restart NetworkManager

L'equip de NIC ofereix una solució excel·lent per a la redundància de la xarxa. Amb 2 o més interfícies de xarxa, podeu configurar una interfície d'equip en qualsevol mode de corredor per garantir una alta disponibilitat en cas que un enllaç cau accidentalment. Esperem que aquesta guia us sigui útil. Truca'ns i fes-nos saber com va ser la teva experiència.