GNU/Linux >> Znalost Linux >  >> Cent OS

Časový limit zjišťování „iscsiadm“ se dvěma nebo více síťovými rozhraními v CentOS/RHEL

Problém

Časový limit zjišťování iscsiadm vyprší, když jsou obě rozhraní aktivní, ale funguje dobře, když je vypnuté jediné rozhraní.

# 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

Řešení

K tomuto problému může dojít, když jsou dvě nebo více ethernetových rozhraní připojena ke stejné podsíti nebo když je připojení iSCSI nakonfigurováno pro použití jakéhokoli konkrétního rozhraní. V takových případech, kdy jsou pakety doručeny na nesprávné rozhraní, si OS bude myslet, že jsou odeslány na uzavřený port nebo nesprávné místo určení a vyprší časový limit. Abychom tento problém vyřešili, musíme nakonfigurovat, aby přijímaly asymetricky směrované pakety na obou rozhraních klienta iSCSI, na kterém se zobrazuje tato chybová zpráva:

1. Nastavte net.ipv4.conf.all.arp_ignore sysctl na 1, aby každé rozhraní odpovídalo pouze na požadavky ARP pro své vlastní adresy. Nebo nastavte net.ipv4.conf.[INTERFACE].arp_ignore na 1 pro každé rozhraní, které je cestou k úložišti iscsi.

Například v /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

Nebo jej nastavit pouze pro relevantní rozhraní (za předpokladu, že se jedná o eth0 a 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. Použijte nastavení pomocí níže uvedeného příkazu:

# sysctl -p /etc/sysctl.conf

3. Zkontrolujte, zda jsou nová nastavení úspěšně spuštěna:

# sysctl -a

4. Nyní odstraňte staré soubory z /var/lib/iscsi/ifaces:

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

To by mělo vyřešit časový limit zjišťování iscsi, když jsou nakonfigurována dvě rozhraní.

Pro CentOS/RHEL 7

Všimněte si, že pokud má systém nainstalovaný CentOS/RHEL 7, zadejte prosím výše uvedené parametry sysctl do souboru /etc/sysctl.d/99-sysctl.conf a poté spusťte níže uvedený příkaz pro opětovné načtení nastavení z konfiguračního souboru:

# sysctl --system

Poznámky

K tomuto problému může dojít, pokud je připojení iSCSI nakonfigurováno pro použití určitého síťového rozhraní. Pokud jsou pakety iscsi doručeny na nesprávné rozhraní, Linux odpoví, jako by byla data odeslána na uzavřený port a odešle paket RST. Dokud budou přijatá data přicházet ve špatném rozhraní, spojení zůstane přerušeno a nebude možné jej obnovit.

K tomu může dojít, když je ke stejné podsíti připojeno více adaptérů. Ve výchozím nastavení bude Linux odpovídat na všechny požadavky ARP pro kteroukoli z IP adres systému bez ohledu na to, ze kterého rozhraní požadavek ARP přišel. Pokud na požadavek ARP pro IP adresu iscsi připojení odpoví jiné rozhraní, bude provoz směrován na nesprávné rozhraní a připojení se nezdaří. Zapnutí arp_ignore přinutí síťové rozhraní, aby odpovídalo pouze na požadavky ARP pro své vlastní adresy. To zabrání odpovědi ARP z nesprávného rozhraní a udržuje připojení iscsi funkční.


Cent OS
  1. Jak deaktivovat NetworkManager na CentOS / RHEL 7

  2. CentOS / RHEL 7 :Jak nakonfigurovat Network Bonding nebo NIC teaming

  3. Časový limit zjišťování „iscsiadm“ se dvěma nebo více síťovými rozhraními v CentOS/RHEL

  1. Konfigurace síťového rozhraní se statickou IP adresou na RHEL 7

  2. Jak restartovat síťovou službu na CentOS 8 nebo RHEL 8

  3. Jak nakonfigurovat Teaming Network Interface Teaming v CentOS/RHEL 7 a 8

  1. Centos – oddělený síťový provoz na dvou síťových rozhraních?

  2. CentOS / RHEL 7 :Jak upravit názvy síťových rozhraní

  3. CentOS / RHEL 7 :Konfigurace statické IP adresy pomocí konfiguračních souborů síťového rozhraní