Ricerca nel sito web

Come creare un gruppo o un collegamento NIC in CentOS 8/RHEL 8


Il gruppo NIC è l'aggregazione o il collegamento di due o più collegamenti di rete in un unico collegamento logico per fornire ridondanza e disponibilità elevata. L'interfaccia/collegamento logico è noto come interfaccia del team. Nel caso in cui il collegamento fisico attivo venga interrotto, uno dei collegamenti di backup o riservati si avvia automaticamente e garantisce una connessione ininterrotta al server.

Terminologie di gruppo

Prima di rimboccarci le maniche, è fondamentale familiarizzare con le seguenti terminologie:

  • Teamd – Questo è il demone nic teaming che utilizza la libreria libteam per comunicare con i dispositivi del team tramite il kernel Linux.
  • Teamdctl – Questa è un'utilità che consente agli utenti di controllare un'istanza di teamd. È possibile controllare e modificare lo stato della porta, nonché passare dallo stato di backup a quello attivo.
  • Runner: si tratta di unità di codice scritte in JSON e utilizzate per l'implementazione di vari concetti di teaming NIC. Esempi di modalità runner includono Round Robbin, bilanciamento del carico, trasmissione e backup attivo.

Per questa guida configureremo il team NIC utilizzando la modalità backup attivo. Qui è dove un collegamento rimane attivo mentre gli altri sono in standby e riservati come collegamenti di backup nel caso in cui il collegamento attivo venga interrotto.

Su questa pagina

  • Installa il demone teamd in CentOS
  • Configura il gruppo NIC in CentOS
  • Test della ridondanza del gruppo di rete
  • Eliminazione di un'interfaccia di gruppo di rete

Senza ulteriori indugi, cominciamo.

Passaggio 1: installa il demone teamd in CentOS

Teamd è il demone responsabile della creazione di un team di rete che fungerà da interfaccia logica durante il runtime. Per impostazione predefinita, viene installato con CentOS/RHEL 8. Ma se, per qualsiasi motivo, non è installato, esegui il seguente comando dnf per installarlo.

sudo dnf install teamd

Una volta installato, verifica che teamd sia installato eseguendo il comando rpm:

rpm -qi teamd

Passaggio 2: configurare il gruppo NIC in CentOS

Per configurare il NIC teaming utilizzeremo il pratico strumento nmcli che può essere utilizzato per la gestione del servizio NetworkManager. Nel mio sistema, ho 2 schede NIC che unirò o combinerò per creare un'interfaccia logica del team: enp0s3 e enp0s8. Questo potrebbe essere diverso nel tuo caso.

Per confermare le interfacce di rete attive eseguire:

nmcli device status

L'output conferma l'esistenza di 2 connessioni di rete attive. Per raccogliere maggiori informazioni sulle interfacce come UUID, esegui il comando:

nmcli connection show

Per creare un collegamento o un'interfaccia di gruppo di rete, che sarà il nostro collegamento logico, elimineremo le interfacce di rete esistenti. Successivamente creeremo le interfacce slave utilizzando le interfacce eliminate e quindi le assoceremo al collegamento di gruppo.

Utilizzando i rispettivi UUID, esegui i comandi seguenti per eliminare i collegamenti:

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

Questa volta quando controlli le interfacce, noterai che sono disconnesse e non forniscono alcuna connessione al server. Fondamentalmente, il tuo server sarà isolato dal resto della rete.

nmcli device status

Successivamente, creeremo un'interfaccia del team chiamata team0 in modalità backup runner attivo. Come affermato in precedenza, la modalità backup runner attiva utilizza un'interfaccia attiva e riserva le altre per la ridondanza nel caso in cui il collegamento attivo venga interrotto.

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

Per visualizzare gli attributi assegnati all'interfaccia team0 esegui il comando:

nmcli connection show team0

Perfetto! A questo punto, abbiamo solo un'interfaccia attiva, ovvero l'interfaccia team0 come mostrato.

nmcli connection show

Successivamente, configura l'indirizzo IP per l'interfaccia team0 come mostrato utilizzando il comando nmcli. Assicurati di assegnare gli IP in base alla sottorete e allo schema di indirizzamento IP della tua rete.

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

Successivamente, crea collegamenti slave e associa gli slave al collegamento del team:

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

Controlla nuovamente lo stato dei collegamenti e noterai che i collegamenti slave sono ora attivi.

nmcli connection show

Successivamente, disattiva e attiva il collegamento del team. Ciò attiva la connessione tra i collegamenti slave e il collegamento del team.

nmcli connection down team0 && nmcli connection up team0

Successivamente, verifica lo stato della connessione del collegamento del team come mostrato.

ip addr show dev team0

Possiamo vedere che il collegamento è attivo con l'indirizzamento IP corretto che abbiamo configurato in precedenza.

Per recuperare ulteriori dettagli sul collegamento del team, esegui il comando:

sudo teamdctl team0 state

Dall'output, possiamo vedere che entrambi i collegamenti (enp0s3 e enp0s8) sono attivi e che il collegamento attivo è enp0s8.

Passaggio 3: test della ridondanza del gruppo di rete

Per testare la nostra modalità di teaming di backup attivo, scollegheremo il collegamento attualmente attivo – enp0s3 – e controlleremo se l'altro collegamento si attiva.

nmcli device disconnect enp0s3
sudo teamdctl team0 state

Quando controlli lo stato dell'interfaccia di teaming, scoprirai che il collegamento enp0s8 è stato attivato e fornisce connessioni al server. Ciò conferma che la nostra configurazione funziona!

Passaggio 4: eliminazione di un'interfaccia di gruppo di rete

Se desideri eliminare l'interfaccia/il collegamento di teaming e ripristinare le impostazioni di rete predefinite, disattiva prima il collegamento di teaming:

nmcli connection down team0

Successivamente, elimina gli schiavi.

nmcli connection delete team0-slave0 team0-slave1

Infine, elimina l'interfaccia di teaming.

nmcli connection delete team0

A questo punto, tutte le interfacce sono inattive e il tuo server non è raggiungibile. Per attivare le interfacce di rete e ripristinare la connettività, esegui i comandi:

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

Il teaming NIC offre un'eccellente soluzione per la ridondanza della rete. Con 2 o più interfacce di rete, puoi configurare un'interfaccia di teaming in qualsiasi modalità runner per garantire un'elevata disponibilità nel caso in cui un collegamento si interrompa accidentalmente. Ci auguriamo che tu abbia trovato utile questa guida. Contattaci e facci sapere come è stata la tua esperienza.