PowerFlex 4.x: Procedimiento de reinicio aceptable del nodo de administración de VMM de PFMP
Summary: En este procedimiento, se explica cómo realizar un reinicio ordenado en un nodo de administración. Este proceso garantiza que la plataforma de administración de PowerFlex (PFMP) permanezca en ejecución durante todo el proceso. El mantenimiento se realiza en un nodo de administración a la vez. En el alcance de este procedimiento, MVM1 es el líder de postgres. Se drena y se reinicia en último lugar. ...
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: Tenga precaución cuando realice este procedimiento. Dos nodos de máquina virtual de administración (MVM) deben estar en funcionamiento para mantener la funcionalidad PFMP.
Los comandos de este procedimiento se ejecutan desde un shell bash raíz. Para replicar los pasos que se indican a continuación, inicie sesión en los MVM mediante delladmin A continuación, ejecute sudo -s para cambiar a un nuevo shell raíz.
Ejemplo:
delladmin@pfmp-mvm03:~> whoami delladmin delladmin@pfmp-mvm03:~> sudo -s pfmp-mvm03:/home/delladmin # whoami root
Procedimiento:
- Enumere todas las instancias de base de datos de Postgres e identifique el nombre del pod con la función de líder:
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'
- Ejecute el siguiente comando para identificar qué MVM está ejecutando el pod líder de Postgres . Este es el último nodo que se drena y se reinicia:
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
- Abra un terminal al MVM3. Ejecute el siguiente comando:
kubectl get nodes
- Etiqueta MVM3 para mantenimiento:
kubectl label node pfmp-mvm03 cmo.maintenance.mode=true
- Drene el nodo MVM03 donde los pods en ejecución se expulsan correctamente del nodo. Los pods se programan y se ejecutan en un nodo diferente. Cuando se completa el proceso de drenaje, el nodo se reinicia. Espere a que el nodo vuelva a estar activo.
Nota: En Linux, si ejecuta dos comandos unidos por && (operador AND) y el primer comando falla (sale con un código de salida distinto de cero), el segundo comando no se ejecuta. Este comportamiento se debe a la evaluación de cortocircuito en el shell.
- Ejecute el siguiente comando para vaciar el nodo:
kubectl drain pfmp-mvm03 --ignore-daemonsets --delete-emptydir-data
- Una vez que se drene el nodo, reinícielo:
sudo reboot
- Acceda mediante el protocolo SSH a MVM02 y ejecute el siguiente comando para monitorear el nodo que reinició a fin de alcanzar un ESTADO Ready:
watch kubectl get nodes
- Una vez que MVM03 informe un estado Ready, acceda mediante SSH a MVM03 y ejecute el siguiente comando para descordar y quitar la etiqueta de mantenimiento .
kubectl uncordon pfmp-mvm03 ; kubectl label node pfmp-mvm03 cmo.maintenance.mode-
Nota: El "-" después de
cmo.maintenance.mode en el comando anterior es muy importante. No olvides incluir el símbolo DASH . Esto es necesario para eliminar la etiqueta del nodo.
- Espere 5 minutos y, a continuación, ejecute el comando en el paso 1 para ver el estado del clúster de la base de datos. Puede repetir los pasos para el próximo MVM una vez que el resultado coincida con el ejemplo de base de datos en buen estado que aparece a continuación.
- Repita los pasos del 3 al 8 en MVM02 y, a continuación, en MVM01.
Nota: Cuando realice este procedimiento en MVM02, utilice MVM03 para el paso 6 a fin de monitorear el estado del nodo MVM02. Cuando trabaje en MVM01, use MVM02 para el paso 6 a fin de monitorear el estado del nodo MVM01. Los comandos kubectl NO funcionan en un nodo que no esté en un estado Ready.
Nota: Cuando realiza este procedimiento, el paquete de cumplimiento de normas puede entrar en un estado de ERROR. Inicie sesión en la interfaz de usuario de PFxM y haga clic en Settings >Compliance Versions. El paquete de cumplimiento de normas se debe volver a sincronizar si se encuentra en un estado de ERROR.
Cuando haya completado el procedimiento en los tres MVM, ejecute el comando en el paso 1 para verificar el estado de la base de datos de postgres . Un pod debe ser el líder y estar en estado de ejecución. Debe haber un retraso de 0 MB y ambos miembros en espera de sincronización deben tener un estado de streaming.
Ejemplo de base de datos en buen estado:
+ 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 R640Products
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.