Das Problem
Veraltete ISCSI-Zielverbindungen, die noch auf dem Initiator-Knoten vorhanden sind, können zu verschiedenen Problemen führen wie:
1. Hängender iscsid-Dienst, der zu einem weltweiten Ausfall führen kann.
2. Nachrichtenflut Fehler wie:
messages:Jun 3 13:58:00 server1 iscsid: iscsid: Connection5:0 to [target: iqn-name, portal: ip-here,3260] through [iface: default] is shutdown. messages:Jun 3 13:58:00 server1 iscsiadm: iscsiadm: Could not login to [iface: default, target: iqn-name, portal: ip-here,3260]. messages:Jun 3 13:58:00 server1 iscsiadm: Logging in to [iface: default, target: iqn-name, portal: ip-here,3260] (multiple) messages:Jun 7 04:24:15 server1 iscsid: iscsid: Connection2:0 to [target: iqn-name, portal: ip-here,3260] through [iface: default] is shutdown. messages:Jun 7 04:24:15 server1 iscsiadm: iscsiadm: Could not login to [iface: default, target: iqn-name, portal: ip-here,3260]. messages:Jun 7 04:24:15 server1 iscsiadm: Logging in to [iface: default, target: iqn-name, portal: ip-here,3260] (multiple)
3. Probleme beim Booten (langer/hängender Start).
Die Lösung
Das Problem kann nach der Migration zwischen ISCSI-LUNs auf dem Initiatorserver auftreten, wo alte Einträge mit „iscsiadm remove entfernt wurden ” Befehl:
# iscsiadm -m node -T [iqn] -p [ip address]:[port number] -u # iscsiadm -m node -o delete -T [iqn]but config files might be still present in /var/lib/iscsi/nodes folder. ISCSI target IQN are stored in /var/lib/iscsi/nodes folder. For example: /var/lib/iscsi/nodes:drw-------. 2 root root 30 Mar 16 09:35 iqn-good-node drw-------. 2 root root 30 Aug 12 2018 iqn-bad-node/var/lib/iscsi/nodes/iqn-good-node:
-rw-------. 1 root root 2051 Mar 16 09:35 IP_HERE,3260/var/lib/iscsi/nodes/iqn-bad-node:
-rw-------. 1 root root 2051 Aug 12 2018 IP_HERE,3260Oben sind zwei ISCSI-Target-IQN dargestellt, bei denen iqn für einen fehlerhaften Knoten entfernt werden sollte, da dies Fehler in der Nachrichtendatei erzeugt. Der Befehl iscsiadm sollte zuerst verwendet werden, um zu überprüfen, ob keine iqn-bad-node-Einträge mehr auf dem System vorhanden sind und keine aktiven LUNs von diesem IQN zugewiesen werden:
# iscsiadm -m session -P 3 iSCSI Transport Class version 2.0-870 version 6.2.0.874-10 Target: iqn-good-node(non-flash) Current Portal: IP_HERE:3260,1 Persistent Portal: IP_HERE:3260,1 ********** Interface: ********** Iface Name: default Iface Transport: tcp Iface Initiatorname: iqn-good-node Iface IPaddress: IP_HERE Iface HWaddress:Iface Netdev: SID: 1 iSCSI Connection State: LOGGED IN iSCSI Session State: LOGGED_IN Internal iscsid Session State: NO CHANGE ********* Timeouts: ********* Recovery Timeout: 6000 Target Reset Timeout: 30 LUN Reset Timeout: 30 Abort Timeout: 15 ***** CHAP: ***** username: password: ******** username_in: password_in: ******** ************************ Negotiated iSCSI params: ************************ HeaderDigest: None DataDigest: None MaxRecvDataSegmentLength: 262144 MaxXmitDataSegmentLength: 8192 FirstBurstLength: 65536 MaxBurstLength: 262144 ImmediateData: Yes InitialR2T: Yes MaxOutstandingR2T: 1 ************************ Attached SCSI devices: ************************ Host Number: 2 State: running scsi2 Channel 00 Id 0 Lun: 0 scsi2 Channel 00 Id 0 Lun: 1 Attached scsi disk sda State: running Obige Liste, nur iqn-good-node-Einträge und iqn-bad-node-Einträge können sicher aus dem Ordner /var/lib/iscsi/nodes entfernt werden.
Aktionsplan wäre:
1. Holen Sie sich eine Ausfallzeit für einen Neustart.
2. Verzeichnis entfernen:# rm -r /var/lib/iscsi/nodes/iqn-bad-nodeOben wird die Konfigurationsdatei und der IP + Port für diesen IQN entfernt - das Betriebssystem wird ihn also nicht mehr vom Booten verwenden
3. Stellen Sie sicher, dass die Datei /etc/fstab keine Informationen über einen fehlerhaften IQN enthält:
# cat /etc/fstab | grep -i iqn-bad-node3. Starten Sie den betroffenen Server neu.
# shutdown -r now4. Stellen Sie nach dem Neustart sicher, dass /var/lib/iscsi/nodes nur den Eintrag enthält für:
iqn-guter-Knoten
Zur Überprüfung ausführen:
# ls -la /var/lib/iscsi/nodes5. Überprüfen Sie von dmesg, dass das System keine ISCSI-Probleme mehr findet:
# dmesg | grep -i iqn-bad-node6. Nachdem keine Fehler erkannt wurden und kein IQN vor der Migration mehr angezeigt wird, setzen Sie den Dienst wie gewohnt fort.