GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Wann rescan-scsi-bus.sh -i (LIP-Flag) in CentOS/RHEL verwendet werden sollte

„rescan-scsi-bus.sh“ kann verwendet werden, um neue LUNs in einem CentOS/RHEL-Computer zu scannen. Wenn 'rescan-scsi-bus.sh -i' ausgeführt wird, führt das Skript auch einen LIP_RESET (ISSUE_LIP) aus, der zu einer Unterbrechung der E/A auf dem Server und sogar zu einem Ausfall führen kann, falls ein System unter hoher Last läuft .

Was ist LIP (Loop Initialization Protocol)?

LIP scannt die Verbindung und bewirkt, dass die SCSI-Schicht aktualisiert wird, um die derzeit auf dem Bus befindlichen Geräte widerzuspiegeln. Ein LIP ist im Wesentlichen ein Bus-Reset und bewirkt das Hinzufügen und Entfernen von Geräten. Dieses Verfahren ist erforderlich, um ein neues SCSI-Ziel auf einer Fibre Channel-Verbindung zu konfigurieren. Beachten Sie, dass issue_lip eine asynchrone Operation ist. Der Befehl kann abgeschlossen werden, bevor der gesamte Scan abgeschlossen ist.

Was kann ein LIP-Reset verursachen?

Die Methode des Schleifeninitialisierungsprotokolls zum Scannen der HBAs kann zu Verzögerungen und E/A-Zeitüberschreitungen führen, wenn der HBA/das Gerät verwendet wird, und kann auch Geräte unerwartet entfernen. Daher wird die Durchführung des Scans mit dieser Methode auf Produktionsservern, auf denen die SAN-Geräte bereits konfiguriert sind, nicht empfohlen. Diese Art von Scan wird auf einem neu erstellten Server empfohlen, um alle LUNS/Geräte zu scannen. LIP wird normalerweise beim Booten des Servers ausgeführt.

Wann man issu_lip verwendet

Bitte verwenden Sie den Standardbefehl rescan-scsi-bus.sh ohne -i FLAG, rescan-scsi-bus.sh „scannt“ nur nach neuen LUNs. Bitte achten Sie besonders darauf, wenn Sie rescan-scsi-bus.sh -i in der Live-/Produktionsumgebung ausführen, dies kann zu ernsthaften Problemen führen.

Das Problem kann noch schlimmer werden, wenn rescan-scsi-bus.sh auf dem tatsächlichen RAC-Knoten oder einer Clustering-Software ausgeführt wird, die den Eviction-Prozess verwendet. Dies liegt an der E/A-Aktivität, die auf dem Knoten blockiert wird, auf dem rescan-scsi-bus. sh -i wird ausgeführt, was dazu führt, dass sogar disk-heartbeat keine 'Heartbeat-Informationen' schreiben kann.

Ein LIP-Reset kann auch ohne rescan-scsi-bus.sh -i erreicht werden, indem der Befehl verwendet wird:

# echo "1" > /sys/class/fc_host/host/issue_lip

Diese Methode wird nicht empfohlen . Der LIP-Befehl ist asynchron, daher kann dieser Befehl zurückkehren, bevor der LIP-Vorgang abgeschlossen ist. Sie müssen das Systemprotokoll /var/log/messages überwachen, um festzustellen, wann die LIP-Operation abgeschlossen ist. Dies ist im Wesentlichen ein Bus-Reset, sodass alle E/A-Operationen während des Flugs unterbrochen werden können. Bitte verwenden Sie stattdessen das Skript rescan-scsi-bus.sh.

Wenn neue LUNs erkannt werden müssen, können Sie Folgendes ausführen:

# echo "1" > /sys/class/fc_host/host/issue_lip

Dies sollte dazu beitragen, dass neue LUNs auf dem System erscheinen, ohne dass der Befehl rescan-scsi-bus.sh -i ausgeführt werden muss.

Diese Methode wird nicht empfohlen. Der LIP-Befehl ist asynchron, daher kann dieser Befehl zurückkehren, bevor der LIP-Vorgang abgeschlossen ist. Sie müssen das Systemprotokoll /var/log/messages überwachen, um festzustellen, wann die LIP-Operation abgeschlossen ist. Dies ist im Wesentlichen ein Bus-Reset, sodass alle E/A-Operationen während des Flugs unterbrochen werden können. Bitte verwenden Sie stattdessen das Skript rescan-scsi-bug.sh.

Schlussfolgerung

Wenn rescan-scsi-bus.sh -i wirklich auf der Produktionsumgebung ausgeführt werden muss, stoppen Sie bitte alle Anwendungen/Datenbankinstanzen und folgen Sie dann mit rescan-scsi-bus.sh -i. Der sicherere Weg wäre ein nur geplanter Server-Neustart, da der Server-Boot-in-LIP-Reset automatisch ausgeführt wird.

Bitte denken Sie auch daran, dass rescan-scsi-bus.sh -i nicht ausgeführt werden muss, wenn ein Multipath-Pfad verloren geht, es wird wiederhergestellt, wenn der Back-End-Speicherpfad wiederhergestellt wird (dies wird durch die Option path_checker in multipath .conf).


Cent OS
  1. So verwenden Sie Salt auf Centos 8

  2. So installieren Sie rsyslog7, wenn rsyslog5 bereits in CentOS/RHEL installiert ist

  3. So verwenden Sie „yum“, um ULN unter CentOS/RHEL/OEL 6 zu verbinden

  4. So verwenden Sie Udev-Regeln zum Erstellen von Oracleasm-Festplatten in CentOS/RHEL 8

  5. „map in use“-Fehler beim Entfernen des Multipath-Geräts in CentOS/RHEL

So installieren und verwenden Sie ReaR (Migrations- und Wiederherstellungstool) unter CentOS 7 / RHEL 7

So installieren und verwenden Sie Cockpit unter CentOS 8 / RHEL 8

So installieren und verwenden Sie Fail2ban unter RHEL 8 / CentOS 8

Verwendung von tmpfs unter RHEL/CentOS 7

So installieren und verwenden Sie Firewalld in CentOS / RHEL

So installieren und verwenden Sie Neofetch unter Linux ( RHEL /CentOS / Arch )