|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Verwaiste Instanzbereinigung
SUSE Storage kann verwaiste Instanzen auf jedem Knoten identifizieren und bereinigen.
Verwaiste Laufzeitinstanz
Wenn ein Netzwerkausfall einen SUSE Storage Knoten betrifft, kann es Engine- oder Replikatlaufzeitinstanzen hinterlassen, die vom SUSE Storage System nicht mehr verfolgt werden. Die entsprechenden Engine- und Replikatbenutzerdefinierten Ressourcen (CRs) können während des Ausfalls entfernt oder auf einen anderen Knoten neu geplant werden. Wenn der Knoten sich erholt, verfolgt das SUSE Storage System diese Laufzeitinstanzen nicht mehr. Diese Instanzen, wie die Engine- und Replikatprozesse für v1 Volumes, werden als verwaiste Instanzen bezeichnet. Verwaiste Instanzen verbrauchen weiterhin Knotenressourcen wie CPU und Speicher.
SUSE Storage unterstützt die Erkennung und Bereinigung von verwaisten Instanzen. Es identifiziert diese Instanzen und erstellt orphan Ressourcen, die sie beschreiben. Standardmäßig löscht SUSE Storage keine orphan Ressourcen automatisch. Benutzer können die Löschung verwaister Instanzen manuell auslösen oder SUSE Storage so konfigurieren, dass sie automatisch gelöscht werden.
Wenn die automatische Löschung von Verwaisten aktiviert ist, löscht SUSE Storage automatisch verwaiste Benutzerdefinierte Ressourcen (CRs) und deren zugehörige Verzeichnisse nach der im orphan-resource-auto-deletion-grace-period Einstellung definierten Verzögerung. Wenn ein Benutzer eine verwaiste CR manuell löscht, erfolgt die Löschung sofort und respektiert nicht diesen Kulanzzeitraum.
Beispiel
Das folgende Beispiel zeigt, wie man verwaiste Instanzen mit kubectl verwaltet.
Verwaiste Instanzen über kubectl verwalten
-
Fügen Sie Knoten hinzu, auf denen verwaiste Instanzprozesse ausgeführt werden.
-
Verwaiste Replikatinstanz auf Knoten
worker1Name: instance-manager-8ff396d6d3744979b32abafc6346781c Namespace: longhorn-system Kind: InstanceManager ... Status: Instance Replicas: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-r-05660b73: # This instance might be an orphan Spec: Data Engine: v1 Name: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-r-05660b73 Status: Conditions: <nil> Endpoint: Error Msg: Listen: Port End: 10020 Port Start: 10011 Resource Version: 0 State: running Target Port End: 0 Target Port Start:0 Type: replica ... -
Verwaiste Engineinstanz auf Knoten
worker2Name: instance-manager-b87f10b867cec1dca2b814f5e78bcc90 Namespace: longhorn-system Kind: InstanceManager ... Status: Instance Engines: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-e-0: # This instance might be an orphan Spec: Data Engine: v1 Name: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-e-0 Status: Conditions: Filesystem Read Only: false Endpoint: Error Msg: Listen: Port End: 10020 Port Start: 10020 Resource Version: 0 State: running Target Port End: 10020 Target Port Start: 10020 Type: engine ...
-
-
SUSE Storage erkennt die verwaisten Instanzen und erstellt
orphanRessourcen, die die Instanzen beschreiben.NAME TYPE NODE orphan-1807009489e50534c35c350e22680449c97deca4e5d3b72f4591976145f8bc41 engine-instance worker2 orphan-a91aa42ab5eda6b8b9fe1116d5b5f5673e5108d89be3db6fd18a275913463eef replica-instance worker1 -
Sie können die Liste der
orphanRessourcen, die vom SUSE Storage System erstellt wurden, durch Ausführen vonkubectl -n longhorn-system get orphaneinsehen.# kubectl -n longhorn-system get orphan -
Holen Sie sich die detaillierten Informationen zu einer der verwaisten Replikatinstanzen in
spec.parametersdurchkubectl -n longhorn-system get orphan <name>.apiVersion: longhorn.io/v1beta2 kind: Orphan metadata: creationTimestamp: "2025-05-02T06:07:32Z" finalizers: - longhorn.io generation: 1 labels: longhorn.io/component: orphan longhorn.io/managed-by: longhorn-manager longhorn.io/orphan-type: replica-instance longhornnode: worker1 longhornreplica: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-r-05660b73 # ... (representing other omitted metadata fields) spec: dataEngine: v1 nodeID: worker1 orphanType: replica-instance parameters: InstanceManager: instance-manager-8ff396d6d3744979b32abafc6346781c InstanceName: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-r-05660b73 status: conditions: - lastProbeTime: "" lastTransitionTime: "2025-05-02T06:06:39Z" message: "" reason: running status: "True" type: InstanceExist - lastProbeTime: "" lastTransitionTime: "2025-05-02T06:06:39Z" message: "" reason: "" status: "False" type: Error ownerID: worker1 -
Holen Sie sich die detaillierten Informationen zu einer der verwaisten Engine-Instanzen in
spec.parametersdurchkubectl -n longhorn-system get orphan <name>.apiVersion: longhorn.io/v1beta2 kind: Orphan metadata: creationTimestamp: "2025-05-02T06:47:25Z" finalizers: - longhorn.io generation: 1 labels: longhorn.io/component: orphan longhorn.io/managed-by: longhorn-manager longhorn.io/orphan-type: engine-instance longhornengine: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-e-0 longhornnode: worker2 # ... (representing other omitted metadata fields) spec: dataEngine: v1 nodeID: worker2 orphanType: engine-instance parameters: InstanceManager: instance-manager-b87f10b867cec1dca2b814f5e78bcc90 InstanceName: pvc-569e44c0-b352-4aca-bf14-2cf7a6cfe86f-e-0 status: conditions: - lastProbeTime: "" lastTransitionTime: "2025-05-02T06:47:25Z" message: "" reason: running status: "True" type: InstanceExist - lastProbeTime: "" lastTransitionTime: "2025-05-02T06:47:25Z" message: "" reason: "" status: "False" type: Error ownerID: worker2 -
Sie können eine
orphanRessource durch Ausführen vonkubectl -n longhorn-system delete orphan <name>löschen. Die entsprechende verwaiste Instanz wird ebenfalls entfernt.# kubectl -n longhorn-system delete orphan orphan-a91aa42ab5eda6b8b9fe1116d5b5f5673e5108d89be3db6fd18a275913463eef # kubectl -n longhorn-system get orphan -l "longhorn.io/orphan-type in (engine-instance,replica-instance)" NAME TYPE NODE orphan-1807009489e50534c35c350e22680449c97deca4e5d3b72f4591976145f8bc41 engine-instance worker2Die verwaiste Instanz wird gelöscht.
# kubectl -n longhorn-system describe instancemanager -l "longhorn.io/node=worker1" Name: instance-manager-8ff396d6d3744979b32abafc6346781c Namespace: longhorn-system Kind: InstanceManager ... Status: Instance Replicas: ... -
Standardmäßig löscht SUSE Storage verwaiste Instanzen nicht automatisch. Sie können die automatische Löschung aktivieren, indem Sie die
orphan-resource-auto-deletionEinstellung konfigurieren.# kubectl -n longhorn-system edit settings.longhorn.io orphan-resource-auto-deletionFügen Sie dann
instancezur Liste hinzu, indem Sie es als eines der durch Semikolons getrennten Elemente einfügen.NAME VALUE APPLIED AGE orphan-resource-auto-deletion instance true 45h -
Nachdem Sie die automatische Löschung aktiviert haben und eine Weile gewartet haben, werden die
orphanRessourcen und Prozesse automatisch gelöscht.# kubectl -n longhorn-system get orphan -l "longhorn.io/orphan-type in (engine-instance,replica-instance)" No resources found in longhorn-system namespace.Die verwaisten Instanzen werden vom Instanzmanager gelöscht.
# kubectl -n longhorn-system describe instancemanager -l "longhorn.io/node=worker1" Name: instance-manager-8ff396d6d3744979b32abafc6346781c Namespace: longhorn-system Kind: InstanceManager ... Status: Instance Replicas: ... # kubectl -n longhorn-system describe instancemanager -l "longhorn.io/node=worker2" Name: instance-manager-b87f10b867cec1dca2b814f5e78bcc90 Namespace: longhorn-system Kind: InstanceManager ... Status: Instance Engines: ...Zusätzlich können Sie alle verwaisten Instanzen auf dem angegebenen Knoten durch Ausführen von folgendem Befehl löschen:
# kubectl -n longhorn-system delete orphan -l "longhorn.io/orphan-type in (engine-instance,replica-instance),longhornnode=<node name>"
Verwaiste Instanzen über die SUSE Storage Benutzeroberfläche verwalten.
-
Wählen Sie in der oberen Navigationsleiste Erweitert > Verwaiste Ressourcen > Instanzen aus.
-
Überprüfen Sie die Liste der verwaisten Instanzen, die relevante Instanzinformationen anzeigen.
-
Um eine bestimmte verwaiste Instanz zu löschen, wählen Sie Operation > Löschen für diese Instanz aus.
Standardmäßig löscht SUSE Storage verwaiste Instanzen nicht automatisch nur durch diese manuelle UI-Operation. Um die automatische Löschung verwaister Instanzen zu aktivieren oder Einstellungen zu allgemeinen verwaisten Daten zu konfigurieren, navigieren Sie zu Einstellungen > Verwaist und konfigurieren Sie die relevanten Optionen. (Siehe den Abschnitt kubectl für Details zur spezifischen orphan-resource-auto-deletion Einstellung für Instanz-CRs, wenn Sie über Backend-Einstellungen verwalten).
Ausnahmen
SUSE Storage erstellt in den folgenden Szenarien keine orphan Ressource:
-
Die verwaiste Engine oder Replikatinstanz wird wieder auf ihren ursprünglichen Knoten umgeplant und korrekt nachverfolgt.
-
Die Engine oder Replikatinstanz befindet sich in einem vorübergehenden Zustand wie Migrieren, Starten oder Beenden.
-
Der Knoten, auf dem die Instanz lief, wird aus dem Kubernetes-Cluster entfernt.