PowerFlex 4.x: Procedura di riavvio normale del nodo di gestione MVM PFMP

Summary: Questa procedura illustra come eseguire un riavvio normale su un nodo di gestione. Questo processo garantisce che la piattaforma di gestione PowerFlex (PFMP) rimanga in esecuzione durante l'intero processo. La manutenzione viene eseguita su un nodo di gestione alla volta. Nell'ambito di questa procedura, MVM1 è il Postgres Leader. Viene svuotato e riavviato per ultimo. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Nota: Prestare attenzione durante l'esecuzione di questa procedura. Due nodi MVM (Management Virtual Machine) devono essere attivi e in esecuzione per mantenere la funzionalità PFMP.
 
I comandi di questa procedura vengono eseguiti da una shell bash root. Per eseguire il mirroring della procedura riportata di seguito, accedere agli MVM utilizzando delladmin quindi esegui sudo -s per passare a una nuova shell root.

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


Procedura:

  1. Elencare tutte le istanze del database Postgres e identificare il nome del pod con il ruolo Leader:
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'
  1. Eseguire il seguente comando per identificare quale MVM esegue il pod Postgres Leader . Questo è l'ultimo nodo da svuotare e riavviare:
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. Aprire un terminale sull'MVM3. Eseguire il seguente comando:
kubectl get nodes
  1. Etichettare MVM3 per la manutenzione:
kubectl label node pfmp-mvm03 cmo.maintenance.mode=true
  1. Svuotare il nodo MVM03 in cui i pod in esecuzione vengono rimossi gradualmente dal nodo. I pod pianificano ed eseguono su un nodo diverso. Al termine del processo di svuotamento, il nodo si riavvia. Attendere che il nodo venga riattivato.
Nota: In Linux, se si eseguono due comandi uniti da & & (operatore AND) e il primo comando ha esito negativo (esce con un codice di uscita diverso da zero), il secondo comando non viene eseguito. Questo comportamento è dovuto alla valutazione del cortocircuito nel guscio.
 
  1. Eseguire il seguente comando per svuotare il nodo:
kubectl drain pfmp-mvm03 --ignore-daemonsets --delete-emptydir-data
  1. Una volta svuotato il nodo, riavviarlo:
sudo reboot
  1. Connettersi tramite SSH a MVM02 ed eseguire il comando seguente per monitorare il nodo riavviato e raggiungere lo STATO Ready:
watch kubectl get nodes
  1. Una volta che MVM03 riporta uno STATO pronto, connettersi con SSH a MVM03 ed eseguire il seguente comando per annullare e rimuovere l'etichetta di manutenzione .
kubectl uncordon pfmp-mvm03 ; kubectl label node pfmp-mvm03 cmo.maintenance.mode-

Nota: Il "-" dopo cmo.maintenance.mode nel comando di cui sopra è molto importante. Non dimenticare di includere il simbolo DASH . Questa operazione è necessaria per rimuovere l'etichetta dal nodo.
 
  1. Attendere 5 minuti, quindi eseguire il comando nel passaggio 1 per visualizzare lo stato del cluster del database. È possibile ripetere i passaggi per l'MVM successivo una volta che l'output corrisponde all'esempio di database integro riportato di seguito. 
  2. Ripetere i passaggi da 3 a 8 su MVM02, quindi su MVM01. 
 
Nota: Quando si esegue questa procedura su MVM02, utilizzare MVM03 per il passaggio 6 per monitorare lo stato del nodo MVM02. Quando si lavora su MVM01, utilizzare MVM02 per il passaggio 6 per monitorare lo stato del nodo MVM01. I comandi Kubectl NON funzionano su un nodo che non è in stato Ready.
 
Nota: Quando si esegue questa procedura, il pacchetto Compliance può passare allo stato ERROR. Accedere all'interfaccia utente di PFxM e cliccare su Settings >Compliance Versions. Il pacchetto di conformità deve essere risincronizzato se si trova in uno stato ERROR.

Dopo aver completato la procedura su tutti e tre gli MVM, eseguire il comando nel passaggio 1 per verificare lo stato del database postgres . Un pod deve essere il Leader e in esecuzione. Dovrebbe esserci un ritardo di 0 MB ed entrambi i membri dello standby di sincronizzazione dovrebbero avere uno stato di streaming.

Esempio di database integro:
+ 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 |
+-------------------------+------------------------------------------+--------------+-----------+----+-----------+

Affected Products

PowerFlex appliance R640

Products

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 ...
Article Properties
Article Number: 000225550
Article Type: How To
Last Modified: 19 Jun 2025
Version:  12
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.