PowerFlex 4.X:如何在 PFMP MVM 管理虛擬機器上執行順利重新開機
摘要: 詳細說明 PowerFlex Management Platform (PFMP) VM 在 4.X 版順利重新開機,包括標記、排出和重新啟動 MVM,同時保持兩個節點的使用中並檢查 PostgreSQL 執行狀況。在此過程的範圍內,MVM1 是 postgres 領導者。它會在最後排空並重新開機。
本文章適用於
本文章不適用於
本文無關於任何特定產品。
本文未識別所有產品版本。
說明
注意:執行此程序時請謹慎小心。兩個管理虛擬機器 (MVM) 節點必須啟動並正在運行,才能維護 PFMP 功能。
重新啟動 MVM VM 可以解決一些 Pod 問題、部署失敗和其他錯誤
此程序中的命令是從根 bash shell 執行。若要鏡像下列步驟,請使用 delladmin 然後執行 sudo -s 切換到新的根外殼。
範例:
delladmin@pfmp-mvm03:~> whoami delladmin delladmin@pfmp-mvm03:~> sudo -s pfmp-mvm03:/home/delladmin # whoami root
- 列出所有 Postgres 資料庫 實例並使用 Leader 角色識別 Pod 名稱, 領導節點應該是最後一個要排空並重新啟動的節點:
-
- 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'
執行下列命令, 找出執行 Postgres Leader Pod 的 MVM 。這是最後一個要排空並重新開機的節點:
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
-
- 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
範例輸出
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
- 打開一個終端到 MVM3(非領導節點之一)。執行下列命令:
kubectl get nodes
- 標記 MVM3 以進行維護:
kubectl label node pfmp-mvm03 cmo.maintenance.mode=true
- 排出節點 MVM03,其中正在運行的 Pod 將從節點中正常逐出。Pod 調度並在不同的節點上運行。排空程序完成後,節點會重新開機。等待節點重新上線。
注意:在 Linux 中,如果運行兩個由 && (AND 運算符)聯接的命令,而第一個命令失敗(以非零退出代碼退出),則不會執行第二個命令。此行為是由於殼層中的短路評估所導致。
- 執行下列命令 以排空節點:
kubectl drain pfmp-mvm03 --ignore-daemonsets --delete-emptydir-data
- 節點排空後,請重新啟動節點:
sudo reboot
- SSH 至 MVM02 並執行下列命令,以監控您重新啟動以達到就緒狀態的節點:
watch kubectl get nodes
- 當 MVM03 回報就緒狀態時,SSH 至 MVM03 並執行下列命令 ,以解開並移除維護 標籤。
kubectl uncordon pfmp-mvm03 ; kubectl label node pfmp-mvm03 cmo.maintenance.mode-
注意:後面的“-”
cmo.maintenance.mode 在上面的命令中非常重要。不要忘記包含 DASH 符號。這是從節點移除標籤的必要動作。
- 等待 5 到 20 分鐘,然後運行步驟 1 中的命令以查看資料庫群集運行狀況。一旦輸出與 下面的正常資料庫示例匹配,您可以對下一個MVM重複這些步驟。
- 在 MVM02 和 MVM01 上重複步驟 3-8。
注意:在 MVM02 上執行此程序時,請使用步驟 6 的 MVM03 監控 MVM02 節點狀態。處理 MVM01 時,請使用步驟 6 的 MVM02 監控 MVM01 節點狀態。Kubectl 命令「無法」在未處於「就緒」狀態的節點上運作。
注意:執行此程序時,相容性套裝可能會進入「錯誤」狀態。登入 PFxM UI,按一下 設定 >相容性版本。如果相容性套裝處於「錯誤」狀態,則必須重新同步。
在所有三個 MVM 上完成該過程後,運行步驟 1 中的命令以驗證 postgres 資料庫運行狀況。一個 Pod 應該是領導者,並且處於 運行狀態。應有 0MB 延遲,且兩個同步待機成員都應具有 流式處理狀態。
健全的資料庫範例 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 | +-------------------------+------------------------------------------+--------------+-----------+----+-----------+
受影響的產品
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
...
產品
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
...
文章屬性
文章編號: 000225550
文章類型: How To
上次修改時間: 26 6月 2026
版本: 18
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。