PowerFlex 4.x: Procedura bezpiecznego ponownego uruchamiania węzła zarządzania PFMP MVM

Summary: W tej procedurze opisano sposób bezpiecznego ponownego uruchomienia w węźle zarządzania. Dzięki temu procesowi platforma zarządzania PowerFlex (PFMP) działa przez cały czas trwania procesu. Konserwacja jest wykonywana w jednym węźle zarządzania jednocześnie. W zakresie tej procedury MVM1 jest liderem postgres. Jest opróżniany i uruchamiany ponownie jako ostatni. ...

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

Uwaga: Podczas wykonywania tej procedury należy zachować ostrożność. Aby zachować funkcjonalność PFMP, muszą być uruchomione dwa węzły wirtualnej maszyny zarządzania (MVM).
 
Polecenia w tej procedurze są uruchamiane z głównej powłoki bash. Aby wykonać poniższe czynności, zaloguj się do MVM za pomocą polecenia: delladmin Następnie uruchom sudo -s , aby przełączyć się na nową powłokę główną.

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


Procedura:

  1. Wyświetl listę wszystkich wystąpień bazy danych Postgres i zidentyfikuj nazwę zasobnika z rolą lidera:
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. Uruchom następujące polecenie, aby określić, który MVM uruchamia zasobnik lidera Postgres . Jest to ostatni węzeł, który powinien zostać opróżniony i ponownie uruchomiony:
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. Otwórz terminal do MVM3. Uruchom następujące polecenie:
kubectl get nodes
  1. Etykieta MVM3 do konserwacji:
kubectl label node pfmp-mvm03 cmo.maintenance.mode=true
  1. Opróżnij węzeł MVM03, w którym uruchomione zasobniki są bezpiecznie eksmitowane z węzła. Zasobniki są planowane i uruchamiane w innym węźle. Po zakończeniu procesu opróżniania węzeł zostanie uruchomiony ponownie. Poczekaj, aż węzeł zostanie uruchomiony ponownie.
Uwaga: W systemie Linux, jeśli uruchomisz dwa polecenia połączone && (operator AND), a pierwsze polecenie nie powiedzie się (zakończy się z niezerowym kodem zakończenia), drugie polecenie nie zostanie wykonane. To zachowanie jest spowodowane oceną zwarcia w powłoce.
 
  1. Uruchom następujące polecenie, aby opróżnić węzeł:
kubectl drain pfmp-mvm03 --ignore-daemonsets --delete-emptydir-data
  1. Po rozładowaniu węzła uruchom go ponownie:
sudo reboot
  1. Połącz się z MVM02 i uruchom następujące polecenie, aby monitorować ponownie uruchomiony węzeł, aby osiągnąć STAN Ready:
watch kubectl get nodes
  1. Gdy MVM03 zgłosi stan gotowości, połącz się z MVM03 przez SSH i wykonaj następujące polecenie, aby odblokować i usunąć etykietę konserwacji .
kubectl uncordon pfmp-mvm03 ; kubectl label node pfmp-mvm03 cmo.maintenance.mode-

Uwaga: Znak "-" po cmo.maintenance.mode w powyższym poleceniu jest bardzo ważne. Nie zapomnij dołączyć symbolu myślnika . Jest to wymagane do usunięcia etykiety z węzła.
 
  1. Odczekaj 5 minut, a następnie uruchom polecenie w kroku 1, aby wyświetlić kondycję klastra bazy danych. Możesz powtórzyć kroki dla następnego MVM, gdy dane wyjściowe będą zgodne z poniższym przykładem bazy danych w dobrej kondycji
  2. Powtórz kroki 3–8 dla MVM02, a następnie MVM01. 
 
Uwaga: Wykonując tę procedurę na MVM02, użyj MVM03 dla kroku 6, aby monitorować stan węzła MVM02. Podczas pracy z MVM01 należy użyć MVM02 dla kroku 6, aby monitorować stan węzła MVM01. Polecenia kubectl NIE działają na węźle, który nie jest w stanie gotowości.
 
Uwaga: Po wykonaniu tej procedury pakiet zgodności może przejść w stan BŁĄD. Zaloguj się do interfejsu użytkownika urządzenia PFxM i kliknij opcję Settings >Compliance Versions. Jeśli pakiet zgodności znajduje się w stanie BŁĄD, należy go ponownie zsynchronizować.

Po zakończeniu procedury na wszystkich trzech MVM uruchom polecenie w kroku 1, aby sprawdzić stan bazy danych postgres . Jeden zasobnik powinien być liderem i być uruchomiony. Opóźnienie powinno wynosić 0 MB, a oba elementy w trybie gotowości synchronizacji powinny być w stanie przesyłania strumieniowego.

Przykład bazy danych w dobrej kondycji:
+ 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.