Bereiten Sie den Knoten „Worker“ vor
Alle Worker-Nodes im Kubernetes-Cluster müssen in der Lage sein, die Volumes, die Sie für Ihre Pods bereitgestellt haben, zu mounten. Um die Worker-Nodes vorzubereiten, müssen Sie auf der Grundlage Ihrer Treiberauswahl NFS-, iSCSI- oder NVMe/TCP-Tools installieren.
Auswahl der richtigen Werkzeuge
Wenn Sie eine Kombination von Treibern verwenden, sollten Sie alle erforderlichen Tools für Ihre Treiber installieren. Bei aktuellen Versionen von RedHat CoreOS sind die Tools standardmäßig installiert.
"Installieren Sie die NFS Tools" Wenn Sie: ontap-nas
, , , ontap-nas-economy
ontap-nas-flexgroup
, azure-netapp-files
gcp-cvs
.
"Installieren Sie die iSCSI-Tools" Wenn Sie: ontap-san
, , ontap-san-economy
solidfire-san
.
"Installation der NVMe Tools" Falls Sie das Protokoll Nonvolatile Memory Express (NVMe) over TCP (NVMe/TCP) verwenden ontap-san
.
Wir empfehlen ONTAP 9.12 oder höher für NVMe/TCP. |
Ermittlung des Node-Service
Astra Trident versucht automatisch zu erkennen, ob der Node iSCSI- oder NFS-Services ausführen kann.
Die Ermittlung des Node-Service erkennt erkannte Services, gewährleistet jedoch nicht, dass Services ordnungsgemäß konfiguriert wurden. Umgekehrt kann das Fehlen eines entdeckten Service nicht garantieren, dass die Volume-Bereitstellung fehlschlägt. |
Astra Trident erstellt Ereignisse für den Node zur Identifizierung der erkannten Services. Um diese Ereignisse zu überprüfen, führen Sie folgende Schritte aus:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Astra Trident erkennt aktivierte Services für jeden Knoten auf der Trident Node CR. Um die ermittelten Dienste anzuzeigen, führen Sie folgende Schritte aus:
tridentctl get node -o wide -n <Trident namespace>
NFS Volumes
Installieren Sie die NFS-Tools unter Verwendung der Befehle für Ihr Betriebssystem. Stellen Sie sicher, dass der NFS-Dienst während des Bootens gestartet wird.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
Starten Sie die Worker-Nodes nach der Installation der NFS-Tools neu, um einen Fehler beim Anschließen von Volumes an Container zu vermeiden. |
ISCSI-Volumes
Astra Trident kann automatisch eine iSCSI-Sitzung einrichten, LUNs scannen und Multipath-Geräte erkennen, sie formatieren und auf einem Pod mounten.
ISCSI-Funktionen zur Selbstreparatur
Bei ONTAP Systemen führt Astra Trident alle fünf Minuten iSCSI-Selbstheilung aus und bietet folgende Vorteile:
-
* Identifizieren Sie den gewünschten iSCSI-Sitzungsstatus und den aktuellen iSCSI-Sitzungsstatus.
-
Vergleichen der gewünschte Zustand mit dem aktuellen Zustand, um notwendige Reparaturen zu identifizieren. Astra Trident ermittelt Reparaturprioritäten und wann Maßnahmen ergriffen werden müssen.
-
Durchführung von Reparaturen erforderlich, um den aktuellen iSCSI-Sitzungsstatus auf den gewünschten iSCSI-Sitzungsstatus zurückzusetzen.
Protokolle der Selbstheilungsaktivität befinden sich im trident-main Container auf dem jeweiligen Demonset-Pod. Um Protokolle anzuzeigen, müssen Sie während der Astra Trident Installation auf „true“ gesetzt haben debug .
|
Astra Trident iSCSI-Funktionen zur Selbstheilung verhindern:
-
Veraltete oder ungesunde iSCSI-Sitzungen, die nach einem Problem mit der Netzwerkverbindung auftreten können Im Falle einer veralteten Sitzung wartet Astra Trident sieben Minuten vor der Anmeldung, um die Verbindung mit einem Portal wiederherzustellen.
Wenn beispielsweise CHAP-Schlüssel auf dem Speicher-Controller gedreht wurden und die Verbindung zum Netzwerk unterbrochen wird, können die alten (Inated) CHAP-Schlüssel bestehen bleiben. Selbstheilung kann dies erkennen und die Sitzung automatisch wiederherstellen, um die aktualisierten CHAP-Schlüssel anzuwenden. -
ISCSI-Sitzungen fehlen
-
LUNs sind nicht vorhanden
Punkte, die Sie vor dem Upgrade von Trident beachten sollten
-
Wenn nur Initiatorgruppen pro Node (eingeführt in 23.04+) verwendet werden, initiiert iSCSI Self-Healing SCSI-Rescans für alle Geräte im SCSI-Bus.
-
Wenn nur Back-End-scoped-Initiatorgruppen (veraltet ab 23.04) verwendet werden, initiiert iSCSI-Selbstreparatur SCSI-Rescans für exakte LUN-IDs im SCSI-Bus.
-
Wenn eine Kombination von Initiatorgruppen pro Node und mit Back-End-Scoped-Initiatorgruppen verwendet wird, initiiert iSCSI Self-Healing SCSI-Rescans für exakte LUN-IDs im SCSI-Bus.
Installieren Sie die iSCSI-Tools
Installieren Sie die iSCSI-Tools mit den Befehlen für Ihr Betriebssystem.
-
Jeder Node im Kubernetes-Cluster muss über einen eindeutigen IQN verfügen. Dies ist eine notwendige Voraussetzung.
-
Wenn Sie RHCOS Version 4.5 oder höher oder eine andere RHEL-kompatible Linux-Distribution mit dem Treiber und Element OS 12.5 oder früher verwenden
solidfire-san
, stellen Sie sicher, dass der CHAP-Authentifizierungsalgorithmus auf MD5 in eingestellt ist/etc/iscsi/iscsid.conf
. Sichere FIPS-konforme CHAP-Algorithmen SHA1, SHA-256 und SHA3-256 sind mit Element 12.7 verfügbar.sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
Geben Sie bei der Verwendung von Worker-Nodes, auf denen RHEL/RedHat CoreOS mit iSCSI-PVs ausgeführt wird, die MountOption in der StorageClass an
discard
, um Inline-Speicherplatzrückforderung durchzuführen. Siehe "Red hat-Dokumentation".
-
Installieren Sie die folgenden Systempakete:
sudo yum install -y lsscsi iscsi-initiator-utils sg3_utils device-mapper-multipath
-
Überprüfen Sie, ob die Version von iscsi-Initiator-utils 6.2.0.874-2.el7 oder höher ist:
rpm -q iscsi-initiator-utils
-
Scannen auf manuell einstellen:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Multipathing aktivieren:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Stellen Sie sicher, dass etc/multipath.conf
enthältfind_multipaths no
unterdefaults
. -
Stellen Sie sicher, dass
iscsid
undmultipathd
ausgeführt werden:sudo systemctl enable --now iscsid multipathd
-
Aktivieren und starten
iscsi
:sudo systemctl enable --now iscsi
-
Installieren Sie die folgenden Systempakete:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Stellen Sie sicher, dass Open-iscsi-Version 2.0.874-5ubuntu2.10 oder höher (für bionic) oder 2.0.874-7.1ubuntu6.1 oder höher (für Brennweite) ist:
dpkg -l open-iscsi
-
Scannen auf manuell einstellen:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Multipathing aktivieren:
sudo tee /etc/multipath.conf <<-'EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restart
Stellen Sie sicher, dass etc/multipath.conf
enthältfind_multipaths no
unterdefaults
. -
Stellen Sie sicher, dass
open-iscsi
undmultipath-tools
aktiviert sind und ausgeführt werden:sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
Für Ubuntu 18.04 müssen Sie Zielports mit ermitteln iscsiadm
, bevor der iSCSI-Daemon gestartetopen-iscsi
wird. Sie können den Dienst auch so änderniscsi
, dass er automatisch gestartetiscsid
wird.
Konfigurieren oder deaktivieren Sie die iSCSI-Selbstheilung
Sie können die folgenden Selbstreparatureinstellungen von Astra Trident iSCSI konfigurieren, um veraltete Sitzungen zu beheben:
-
ISCSI-Selbstheilungsintervall: Bestimmt die Häufigkeit, mit der iSCSI-Selbstheilung aufgerufen wird (Standard: 5 Minuten). Sie können ihn so konfigurieren, dass er häufiger ausgeführt wird, indem Sie eine kleinere Zahl oder weniger häufig einstellen, indem Sie eine größere Zahl einstellen.
Wenn Sie das iSCSI-Selbstreparaturintervall auf 0 setzen, wird die iSCSI-Selbstheilung vollständig beendet. Wir empfehlen keine Deaktivierung der iSCSI-Selbstheilung. Sie sollte nur in bestimmten Szenarien deaktiviert werden, wenn die iSCSI-Selbstheilung nicht wie vorgesehen funktioniert oder zu Debugging-Zwecken verwendet wird. |
-
ISCSI Self-Healing-Wartezeit: Bestimmt die Dauer, die iSCSI Self-Healing wartet, bevor Sie sich von einer ungesunden Sitzung abmelden und erneut anmelden (Standard: 7 Minuten). Sie können sie für eine größere Anzahl konfigurieren, sodass Sitzungen, die als „fehlerhaft“ identifiziert werden, länger warten müssen, bevor sie abgemeldet werden. Anschließend wird versucht, sich erneut anzumelden, oder eine kleinere Zahl, um sich früher abzumelden und anzumelden.
Um iSCSI-Selbstreparatureinstellungen zu konfigurieren oder zu ändern, übergeben Sie die iscsiSelfHealingInterval
Parameter und iscsiSelfHealingWaitTime
während der Helm-Installation oder der Helm-Aktualisierung.
Im folgenden Beispiel wird das iSCSI-Intervall für die Selbstheilung auf 3 Minuten und die Wartezeit für die Selbstheilung auf 6 Minuten eingestellt:
helm install trident trident-operator-100.2406.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Um iSCSI-Selbstreparatureinstellungen zu konfigurieren oder zu ändern, übergeben Sie die iscsi-self-healing-interval
Parameter und iscsi-self-healing-wait-time
während der tridentctl-Installation oder -Aktualisierung.
Im folgenden Beispiel wird das iSCSI-Intervall für die Selbstheilung auf 3 Minuten und die Wartezeit für die Selbstheilung auf 6 Minuten eingestellt:
tridentctl install --iscsi-self-healing-interval=3m0s --iscsi-self-healing-wait-time=6m0s -n trident
NVMe/TCP-Volumes
Installieren Sie die NVMe Tools mithilfe der Befehle für Ihr Betriebssystem.
|
sudo yum install nvme-cli sudo yum install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
sudo apt install nvme-cli sudo apt -y install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
Überprüfen Sie die Installation
Überprüfen Sie nach der Installation mit dem Befehl, ob für jeden Node im Kubernetes-Cluster ein eindeutiges NQN verwendet wird:
cat /etc/nvme/hostnqn
Astra Trident ändert den ctrl_device_tmo Wert, um sicherzustellen, dass NVMe bei einem Ausfall nicht auf den Pfad gibt. Ändern Sie diese Einstellung nicht.
|