Presentazione
Esistono diversi modi per configurare il teaming di rete in RHEL 7:
utilizzando il comando nmtui un’ interfaccia utente a testo,
utilizzando il comando nmcli un ‘interfaccia a riga di comando,
usando l’interfaccia grafica,
attraverso modifiche dirette nei file di configurazione di rete.
Per il resto di questo tutorial, è l’opzione nmcli è stata scelta perché è il metodo più veloce e probabilmente meno incline agli errori.
Prerequisiti
Per mettere in pratica questo tutorial, hai bisogno di due VM e accedi alla loro rispettiva console.
Ogni VM è stata installata con una distribuzione di base (la distribuzione minima dovrebbe funzionare ma non è stata testata). Ogni VM ha due interfacce di rete denominate eth0 e eth1.
Installa il pacchetto Teamd:
# yum install -y teamd
Se è stata configurata una precedente configurazione di rete, rimuoverla su entrambe le macchine virtuali:
# nmcli con show NAME UUID TYPE DEVICE Wired connection 1 f32cfcb7-3567-4313-9cf3-bdd87010c7a2 802-3-ethernet eth1 System eth0 257e9416-b420-4218-b1eb-f14302f20941 802-3-ethernet eth0 # nmcli con del f32cfcb7-3567-4313-9cf3-bdd87010c7a2 # nmcli con del 257e9416-b420-4218-b1eb-f14302f20941
Configurazione teaming
Eseguire i seguenti passaggi sulla console di entrambe le macchine virtuali.
Creare l’interfaccia di teaming:
# nmcli con add type team con-name myteam0 ifname team0 config '{ "runner": {"name": "loadbalance"}}' team0 config '{ "runner": {"name": "loadbalance"}}' [10655.288431] IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready [10655.306955] team0: Mode changed to "loadbalance" Connection 'myteam0' (ab0a5f7b-2547-4d4f-8fc8-834030839fc1) successfully added.
Nota 1: Se non si specifica con-name myteam0, l’interfaccia di teaming verrà denominata team-team0.
Nota 2: esempi di configurazione sono disponibili in /usr/share/doc/teamd – */example_configs. Puoi anche ottenere alcuni esempi attraverso man teamd.conf.
Ora il file /etc/sysconfig/network-scripts/ifcfg-myteam0 contiene le seguenti linee principali:
DEVICE=team0 TEAM_CONFIG="{ \"runner\": {\"name\": \"loadbalance\"}}" DEVICETYPE=Team NAME=myteam0 ONBOOT=yes
Aggiungi una configurazione IPv4:
In RHEL 7.0:
# nmcli con mod myteam0 ipv4.addresses "192.168.1.10/24 192.168.1.1" # nmcli con mod myteam0 ipv4.method manual
Da RHEL 7.1 a:
# nmcli con mod myteam0 ipv4.addresses 192.168.1.10/24 # nmcli con mod myteam0 ipv4.gateway 192.168.1.1 # nmcli con mod myteam0 ipv4.method manual
Nota: se non si specifica alcuna configurazione IP, entrambe le VM otterranno il loro indirizzo IP e gateway tramite DHCP per impostazione predefinita.
Aggiungi l’interfaccia eth0 all’interfaccia di teaming:
# nmcli con add type team-slave con-name team0-slave0 ifname eth0 master team0 [10707.777803] team0: Port device eth0 added [10707.779146] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready Connection 'team0-slave0' (a9a5b612-aad6-48b0-a097-88db35c898d3) successfully added.
Nota 1: Se non si specifica con-name team0-slave0, l’interfaccia slave di teaming verrà denominata team-slave-eth0.
Nota2: il file /etc/sysconfig/network-scripts/ifcfg-team0-slave0 è stato creato con le seguenti linee principali:
NAME=team0-slave0 DEVICE=eth0 ONBOOT=yes TEAM_MASTER=team0 DEVICETYPE=TeamPort
Aggiungi l’interfaccia eth1 all’interfaccia di teaming:
# nmcli con add type team-slave con-name team0-slave1 ifname eth1 master team0 [10750.419419] team0: Port device eth1 added Connection 'team0-slave1' (e468dce3-a032-4088-8173-e7bee1bd4ad5) successfully added.
Nota 1: se non si specifica con-name team0-slave1, l’interfaccia slave di teming verrà denominata team-slave-eth1.
Nota2: il file /etc/sysconfig/network-scripts/ifcfg-team0-slave1 è stato creato con le seguenti linee principali:
NAME=team0-slave1 DEVICE=eth1 ONBOOT=yes TEAM_MASTER=team0 DEVICETYPE=TeamPort
Attivazione interfaccia:
# nmcli con up myteam0 [10818.800169] team0: Port device eth1 removed [10818.803399] team0: Port device eth0 removed [10818.939884] team0: Port device eth1 added [10818.941069] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [10818.971887] team0: Port device eth0 added [10819.932168] IPv6: team0: IPv6 duplicate address fe80::5054:ff:fe3f:860a detected! Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/32)
Controllare la configurazione:
# nmcli con show NAME UUID TYPE DEVICE team0-slave0 a9a5b612-aad6-48b0-a097-88db35c898d3 802-3-ethernet eth0 myteam0 ab0a5f7b-2547-4d4f-8fc8-834030839fc1 team team0 team0-slave1 e468dce3-a032-4088-8173-e7bee1bd4ad5 802-3-ethernet eth1
È inoltre possibile utilizzare il comando teamdctl per verificare lo stato di configurazione:
# teamdctl team0 state setup: runner: loadbalance ports: eth0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up eth1 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up
O per scaricare la configurazione:
# teamdctl team0 config dump { "device": "team0", "ports": { "eth0": { "link_watch": { "name": "ethtool" } }, "eth1": { "link_watch": { "name": "ethtool" } } }, "runner": { "name": "loadbalance", "tx_hash": [ "eth", "ipv4", "ipv6" ] } }
Puoi anche ottenere lo stato delle porte con il comando teamnl:
# teamnl team0 ports 2: eth0: up 0Mbit HD 3: eth1: up 0Mbit HD
Inoltre, è possibile modificare direttamente il contenuto dei file nella directory /etc/sysconfig/network-scripts, ma in seguito è necessario applicare il seguente comando:
# nmcli con reload
Fonte: RHEL 7 Guida alla rete e pagina man di nmcli-examples.
Suggerimento per l’esame
Se non ricordi tutti i dettagli il giorno dell’esame, ottieni le informazioni nelle pagine man di nmcli-examples e teamd.conf o in /usr/share/doc/teamd – */example_ifcfgs e /usr/share/directory doc/teamd – */example_ifcfgs.