GNU/Linux >> Linux Esercitazione >  >> Cent OS

Timeout rilevamento "iscsiadm" con due o più interfacce di rete in CentOS/RHEL

Il problema

Il rilevamento di iscsiadm scade quando entrambe le interfacce sono attive, ma funziona correttamente con l'interfaccia singola attiva.

# iscsiadm -m discovery -t st -p x.x.x.x
iscsiadm: connect to x.x.x.x timed out
iscsiadm: connect to x.x.x.x timed out

La soluzione

Questo problema può verificarsi quando due o più interfacce Ethernet sono connesse alla stessa sottorete o quando la connessione iSCSI è configurata per l'utilizzo di un'interfaccia specifica. In questi casi, quando i pacchetti vengono consegnati all'interfaccia sbagliata, il sistema operativo penserà che venga inviato a una porta chiusa oa una destinazione sbagliata e va in timeout. Per risolvere questo problema, dobbiamo configurare per accettare i pacchetti instradati in modo asimmetrico su entrambe le interfacce del client iSCSI su cui riceviamo questo messaggio di errore:

1. Impostare net.ipv4.conf.all.arp_ignore di sysctl su 1 per forzare ogni interfaccia a rispondere solo alle richieste ARP per i propri indirizzi. Oppure imposta net.ipv4.conf.[INTERFACE].arp_ignore su 1 per ogni interfaccia che è un percorso per l'archiviazione iscsi.

Ad esempio, in /etc/sysctl.conf :

# vi /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

Oppure, per impostarlo solo per le interfacce rilevanti (supponendo che siano eth0 ed eth1):

# vi /etc/sysctl.conf
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce=2
net.ipv4.conf.eth1.rp_filter=0
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth1.arp_announce=2

2. Applicare l'impostazione utilizzando il comando seguente:

# sysctl -p /etc/sysctl.conf

3. Verifica se le nuove impostazioni sono state applicate correttamente in esecuzione:

# sysctl -a

4. Ora rimuovi i vecchi file da /var/lib/iscsi/ifaces:

# rm -rf /var/lib/iscsi/ifaces

Questo dovrebbe risolvere il timeout di rilevamento iscsi quando sono configurate due interfacce.

Per CentOS/RHEL 7

Nota che se sul sistema è installato CentOS/RHEL 7, inserisci i parametri sysctl sopra nel file /etc/sysctl.d/99-sysctl.conf e quindi esegui il comando seguente per rileggere le impostazioni dal file di configurazione:

# sysctl --system

Note

Questo problema può verificarsi se una connessione iSCSI è configurata per utilizzare un'interfaccia di rete specifica. Se i pacchetti iscsi vengono consegnati all'interfaccia sbagliata, Linux risponderà come se i dati fossero stati inviati a una porta chiusa e invierà un pacchetto RST. Finché i dati ricevuti arrivano nell'interfaccia sbagliata, la connessione rimarrà interrotta e non potrà essere ripristinata.

Ciò può verificarsi quando più adattatori sono connessi alla stessa sottorete. Per impostazione predefinita, Linux risponderà a tutte le richieste ARP per qualsiasi indirizzo IP del sistema indipendentemente dall'interfaccia da cui proveniva la richiesta ARP. Se un'interfaccia diversa risponde alla richiesta ARP per l'indirizzo IP della connessione iscsi, il traffico verrà instradato all'interfaccia sbagliata e la connessione avrà esito negativo. L'attivazione di arp_ignore forza un'interfaccia di rete a rispondere solo alle richieste ARP per i propri indirizzi. Ciò impedisce la risposta ARP dall'interfaccia sbagliata e mantiene funzionante la connessione iscsi.


Cent OS
  1. Configurazione dell'interfaccia di rete con indirizzo IP statico su RHEL 7

  2. CentOS / RHEL 7:come modificare i nomi dell'interfaccia di rete

  3. CentOS / RHEL 7:configurazione dell'indirizzo IP statico utilizzando i file di configurazione dell'interfaccia di rete

  4. Come impostare un nome di interfaccia personalizzato con NetworkManager in CentOS/RHEL 7

  5. Come disabilitare i "Nomi dei dispositivi dell'interfaccia di rete prevedibili" in CentOS/RHEL 7

Come configurare il collegamento dell'interfaccia di rete su RHEL 8 / CentOS 8 Linux

Configura il collegamento NIC (scheda di interfaccia di rete) in CentOS 7 / RHEL 7

Come disabilitare IPv6 su CentOS 7 / RHEL 7

Come disabilitare IPv6 su CentOS 8 / RHEL 8

Come modificare il nome dell'interfaccia di rete in eth0 su CentOS 8 / RHEL 8

3 modi per creare un bridge di rete in RHEL/CentOS 8