PowerFlex 4.X: So führen Sie einen ordnungsgemäßen Neustart auf PFMP-MVM-Management-VMs durch

Zusammenfassung: Beschreibt den ordnungsgemäßen Neustart von PowerFlex Management Platform (PFMP)-VMs für Version 4.X, einschließlich Etikettierung, Entladung und Neustart von MVMs, während zwei Nodes aktiv bleiben und die PostgreSQL-Integrität überprüft wird. Im Rahmen dieses Verfahrens ist MVM1 der Postgres-Leader. Es wird entladen und zuletzt neu gestartet. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Weisungen

Hinweis: Seien Sie vorsichtig, wenn Sie dieses Verfahren durchführen. Zwei Management-VM-Nodes (MVM) müssen betriebsbereit sein, um die PFMP-Funktionalität aufrechtzuerhalten. 

 

Durch den Neustart von MVM-VMs können einige Pod-Probleme, Bereitstellungsfehler und andere Fehler behoben werden

Die Befehle in diesem Verfahren werden von einer Root-Bash-Shell ausgeführt. Um die folgenden Schritte zu spiegeln, melden Sie sich bei den MVMs an, indem Sie delladmin Führen Sie dann Folgendes aus: sudo -s , um zu einer neuen Root-Shell zu wechseln.

Beispiel:

delladmin@pfmp-mvm03:~> whoami
delladmin
delladmin@pfmp-mvm03:~> sudo -s
pfmp-mvm03:/home/delladmin # whoami
root

 

 

  1. Listen Sie alle Postgres-Datenbankinstanzen auf und identifizieren Sie den Pod-Namen mit der Leader-Rolle. Der Leader-Node sollte der letzte Node sein, der entladen und neu gestartet wird:  
    1. PFMP 4.6 
kubectl exec -n powerflex -c database $(kubectl get pods -n powerflex -l='postgres-operator.crunchydata.com/role=master, postgres-operator.crunchydata.com/instance-set' | grep Running | cut -d' ' -f1) -- sh -c 'patronictl list'

 

Führen Sie den folgenden Befehl aus, um zu ermitteln, auf welchem MVM der Postgres-Leader-Pod ausgeführt wird . Dies ist der letzte Node, der entladen und neu gestartet wird:

for x in `kubectl get pods -n powerflex | grep "postgres-ha-cmo" |awk '{print $1}'` ; do echo $x; kubectl get pods -n powerflex $x -o json | grep '"nodeName"' | cut -d ':' -f2 ; echo " "; done

 

    1. PFMP 4.8 
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep postgres-monitor | awk '{print $1'}) -- kubectl cnpg status postgres-ha-cnpg

Beispielausgabe: 

delladmin@node2:~> kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep postgres-monitor | awk '{print $1'}) -- kubectl cnpg status postgres-ha-cnpg
Cluster Summary
Name                 powerflex/postgres-ha-cnpg
System ID:           7570829541331841052
PostgreSQL Image:    dockerrepo:30500/cnpg/cnpg-postgres:14.18-22-53.6b63004-22-9.0
Primary instance:    postgres-ha-cnpg-1
Primary start time:  2025-11-09 22:33:09 +0000 UTC (uptime 3803h6m21s)
Status:              Cluster in healthy state
Instances:           3
Ready instances:     3
Size:                11G
Current Write LSN:   B/6211B568 (Timeline: 3 - WAL File: 000000030000000B00000062)

Continuous Backup status
Not configured

Streaming Replication status
Replication Slots Enabled
Name                Sent LSN    Write LSN   Flush LSN   Replay LSN  Write Lag        Flush Lag        Replay Lag       State      Sync State  Sync Priority  Replication Slot
----                --------    ---------   ---------   ----------  ---------        ---------        ----------       -----      ----------  -------------  ----------------
postgres-ha-cnpg-2  B/6211B568  B/6211B568  B/6211B568  B/6211B568  00:00:00.000365  00:00:00.001507  00:00:00.001618  streaming  async       0              active
postgres-ha-cnpg-3  B/6211B568  B/6211B568  B/6211B568  B/6211B568  00:00:00.000321  00:00:00.001511  00:00:00.001575  streaming  async       0              active

Instances status
Name                Current LSN  Replication role  Status  QoS        Manager Version  Node
----                -----------  ----------------  ------  ---        ---------------  ----
postgres-ha-cnpg-1  B/6211B568   Primary           OK      Burstable  1.26.1           pfmp-mvm01
postgres-ha-cnpg-2  B/6211B568   Standby (async)   OK      Burstable  1.26.1           pfmp-mvm02
postgres-ha-cnpg-3  B/6211B568   Standby (async)   OK      Burstable  1.26.1           pfmp-mvm03

 

  1. Öffnen Sie ein Terminal zum MVM3 (einem der Nicht-Leader-Nodes). Führen Sie den folgenden Befehl aus:
kubectl get nodes

 

  1. Etikettieren Sie MVM3 für die Wartung:
kubectl label node pfmp-mvm03 cmo.maintenance.mode=true

 

  1. Entladen Sie den Node MVM03, wobei ausgeführte Pods ordnungsgemäß aus dem Node entfernt werden. Die Pods werden auf einem anderen Node geplant und ausgeführt. Wenn der Entladungsprozess abgeschlossen ist, wird der Node neu gestartet. Warten Sie, bis der Node wieder hochgefahren ist.
Hinweis: Wenn Sie unter Linux zwei Befehle ausführen, die von & & (UND-Operator) verbunden sind, und der erste Befehl fehlschlägt (mit einem Exit-Code ungleich Null beendet wird), wird der zweite Befehl nicht ausgeführt. Dieses Verhalten ist auf eine Kurzschlussauswertung in der Hülle zurückzuführen.
 
  1. Führen Sie den folgenden Befehl aus , um den Node zu entladen:
kubectl drain pfmp-mvm03 --ignore-daemonsets --delete-emptydir-data

 

  1. Nachdem der Node entladen wurde, starten Sie ihn neu:
sudo reboot

 

  1. Stellen Sie eine SSH-Verbindung zu MVM02 her und führen Sie den folgenden Befehl aus, um den neu gestarteten Node zu überwachen, damit er den Status "Ready" erreicht:
watch kubectl get nodes

 

  1. Sobald MVM03 den Status "Bereit" meldet, stellen Sie eine SSH-Verbindung zu MVM03 her und führen Sie den folgenden Befehl aus, um die Sperrung aufzuheben und die Wartungsetikette zu entfernen .
kubectl uncordon pfmp-mvm03 ; kubectl label node pfmp-mvm03 cmo.maintenance.mode-

Hinweis: Das "-" nach cmo.maintenance.mode Im obigen Befehl ist sehr wichtig. Vergessen Sie nicht, das Bindestrich-Symbol einzufügen. Dies ist erforderlich, um das Etikett vom Node zu entfernen.

 

  1. Warten Sie 5 bis 20 Minuten und führen Sie dann den Befehl in Schritt 1 aus, um die Integrität des Datenbankclusters anzuzeigen. Sie können die Schritte für den nächsten MVM wiederholen, sobald die Ausgabe mit dem folgenden Beispiel für eine funktionierende Datenbank übereinstimmt. 
  2. Wiederholen Sie die Schritte 3 bis 8 auf MVM02 und dann auf MVM01

 

Hinweis: Wenn Sie dieses Verfahren auf MVM02 durchführen, verwenden Sie MVM03 für Schritt 6, um den MVM02-Node-Status zu überwachen. Wenn Sie mit MVM01 arbeiten, verwenden Sie MVM02 für Schritt 6, um den MVM01-Node-Status zu überwachen. Kubectl-Befehle funktionieren NICHT auf einem Node, der sich nicht im Status "Ready" befindet.

 

Hinweis: Wenn Sie dieses Verfahren durchführen, wechselt das Compliance-Bundle möglicherweise in den Status ERROR. Melden Sie sich bei der PFxM-Benutzeroberfläche an und klicken Sie auf Settings >Compliance Versions. Das Compliance-Bundle muss neu synchronisiert werden, wenn es sich im Status ERROR befindet.


Wenn Sie das Verfahren auf allen drei MVMs abgeschlossen haben, führen Sie den Befehl in Schritt 1 aus, um die Integrität der Postgres-Datenbank zu überprüfen. Ein Pod sollte der Leader sein und sich im Ausführungsstatus befinden. Es sollte eine Verzögerung von 0 MB vorliegen und beide Sync-Standby-Mitglieder sollten den Status " Streaming" aufweisen.

Beispiel für eine funktionsfähige Datenbank PFMP 4.6:

+ Cluster: postgres-ha-ha +------------------------------------------+--------------+-----------+----+-----------+
| Member                  | Host                                     | Role         | State     | TL | Lag in MB |
+-------------------------+------------------------------------------+--------------+-----------+----+-----------+
| postgres-ha-cmo1-8t2v-0 | postgres-ha-cmo1-8t2v-0.postgres-ha-pods | Leader       | running   | 10 |           |
| postgres-ha-cmo1-h4hx-0 | postgres-ha-cmo1-h4hx-0.postgres-ha-pods | Sync Standby | streaming | 10 |         0 |
| postgres-ha-cmo1-pb88-0 | postgres-ha-cmo1-pb88-0.postgres-ha-pods | Sync Standby | streaming | 10 |         0 |
+-------------------------+------------------------------------------+--------------+-----------+----+-----------+

Betroffene Produkte

PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760, PowerFlex appliance R7625 , PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...

Produkte

PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760, PowerFlex appliance R7625 , PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...
Artikeleigenschaften
Artikelnummer: 000225550
Artikeltyp: How To
Zuletzt geändert: 26 Juni 2026
Version:  18
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.