PowerFlex:PFMP_SUPPORT - 支援套裝集合公用程式

Summary: pfmp_support - 收集 PowerFlex Manager 診斷資料,並將其封裝至支援套裝

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

pfmp_support [選項]

 

說明

pfmp_support 是一種診斷公用程式,可從 PowerFlex Manager 或 PowerFlex Manager 安裝程式主機收集偵錯資訊,並將其歸檔成壓縮套裝,以供支援人員進行分析。

此公用程式會從多個來源收集資料,包括:

  • Kubernetes 診斷資料、組態和記錄
  • Helm 版本資訊
  • Docker 和容器執行時資料
  • PowerFlex Manager 安裝程式記錄
  • 作業系統組態、紀錄和執行時狀態
  • 硬體清查

從多個 Kubernetes 叢集節點收集資料時,應從至少一個節點收集標準套裝 (--skip-kubernetes-shared 未指定),其中 kubectl 和 helm 可用,並可訪問 Kubernetes 控制平面。在後續節點上 --skip-kubernetes-shared 可用於減小收集數據的大小。

產生的套裝是單一壓縮歸檔 (預設為 tar/gz),可傳輸至 PowerFlex 支援,以進行進一步分析。

在指定的時間,只有一個 pfmp_support 例項可在主機上執行。如果沒有足夠的可用空間供其輸出使用,它將拒絕運行(除非明確跳過空間檢查)。

 

選項

一般選項

  • -A DIR--installer-root-path=DIR

    使用 DIR 作為 PowerFlex Manager 安裝程式的基礎目錄。在收集 PowerFlex 安裝程式資料和安裝程式容器 (atlantic_installer) 未運行。預設值:自動偵測或 /var

  • -d OUT_DIR--output-dir=OUT_DIR

    將產生的套裝儲存在目錄OUT_DIR下。預設: <WORK_DIR>/powerflex-pfmpsupport (請參閱 --work-dir)。

  • -h--説明

    顯示說明訊息並退出。與 --tech 結合使用時,還會顯示技術人員選項。

  • -J--xz

    收集的套裝使用 tar/xz 格式,而非預設的 tar/gz。如果系統的 tar(1) 不支援 --use-compress-program 或 xz(1) 找不到。

  • -n NAMESPACE,--namespace=NAMESPACE

    從應用程式專屬的 Kubernetes 命名空間命名空間收集額外資料。預設: powerflex

  • -N--skip-space-check

    在收集資料之前,略過可用磁碟空間驗證。

  • -P PATH,--collect-path=PATH

    收集其他路徑路徑。僅接受絕對路徑。接受萬用字元;應使用萬用字元引出。可以多次指定此選項以收集多個路徑。

  • -q--安靜--靜音

    隱藏標準輸出的消息。

  • -s--skip-kubernetes-shared

    跳過收集共用 (叢集範圍) Kubernetes 資料。仍會收集每個節點的 Kubernetes 資料和主機資料。可用於多節點集合減小大小;應至少從 1 個節點收集叢集資料。

  • -w WORK_DIR--work-dir=WORK_DIR

    對暫存檔案使用目錄WORK_DIR。預設: /tmp

  • -x FILE,--output-file=FILE

    將收集到的套裝儲存為名為 FILE 的檔案。相應的檔案名後綴 (.tgz小 .zip等)將自動添加。如果 FILE 為 - (破折號),將套裝寫入標準輸出 (代表 --quiet)。當套裝寫入標準輸出時,磁碟上不會建立任何套裝檔案。預設: pfmpSupport

  • -z--zip

    對收集的套裝使用 zip 格式,而非預設的 tar/gz。若為,則忽略 zip(1) 在系統上找不到。

  • --overwrite-output-file

    若輸出檔案已存在,請加以覆寫。當顯式指定輸出檔或目錄(通過 -x-d)時,預設行為是拒絕覆蓋;此選項將覆蓋該選項。

  • --技術

    在說明訊息輸出中包含技術人員選項。

技術人員選項

下列選項僅供支援技術人員使用,且只有在指定 --tech 時才會顯示在說明訊息中。

  • --保持工作目錄

    在套件建立後保留產生的暫存工作目錄 (通常會自動清理)。

  • --舊豆莢日誌

    從本機 rsyslog 儲存收集舊版 Kubernetes Pod 記錄檔。省略時,電流 (kubectl logs) 和上一個 (kubectl logs --previous) 仍會收集容器日誌。

 

套裝結構

輸出套裝是單一壓縮歸檔。

  • 套裝頂層目錄是所收集系統的主機名稱。
  • 一般主機命令輸出會進入 server/ 子目錄。檔案名稱為 <command> + <arguments> + 後綴 (.txt 預設)。替換為 的空格 _,非字母數位字元被剝離。
    範例: 
    server/ip_-s_addr.txt - output of ip -s addr
  • KubectlHelmDocker 命令輸出會進入其各自的子目錄。它們進一步按範圍組織, <namespace>/<pod>/<container>,如果適用。
    命令名稱、範圍和輸出格式相關的引數將被刪除。檔案名稱為 <subcommand> + <arguments> + 後綴 (.txt 預設)。替換為 的空格 _,非字母數位字元被剝離。
    kubectl exec 命令輸出儲存在 exec/ 的 Pod 子目錄。
    例如:
    • kubectl/version.txt - 輸出 kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- 輸出 kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - 輸出 kubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtk
    • kubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt - 輸出 kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - 輸出 helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - 輸出 docker ps -a
  • 從 Pod 容器中提取的檔將放置在容器目錄中的容器內文件系統路徑下。
    範例: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - 複本 /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log 從 thin-deployer 集裝箱的 thin-deployer-5657659bc7-gzbq4 豆莢
  • 主機檔案系統檔案放置在其檔案系統路徑中,以相對於套裝根目錄。
    例如:
    • etc/os-release - copy of /etc/os-release
    • var/log/messages - copy of /var/log/messages
    • proc/cpuinfo - copy of /proc/cpuinfo
    • var/lib/rancher/rke2/agent/logs/kubelet.log - copy of /var/lib/rancher/rke2/agent/logs/kubelet.log
  • 隱藏檔(點前綴)通過刪除前導點來“取消隱藏”。
  • 實用程式執行日誌, pfmp_support.log,直接放置在主機名>/根目錄下<。

套裝目錄樹狀結構:

<hostname>/
|-- pfmp_support.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg_-T.txt
|   +-- ...                            (one file per collected command)
|
|-- kubectl/                           kubectl command output directory
|   |-- version.txt                    Non-namespace-specific commands
|   |-- ...
|   |-- all-namespaces/                Cross-namespace commands
|   |   |-- get_pods.txt
|   |   |-- get_pods.yaml
|   |   +-- ...
|   +-- <namespace>/                   Per-namespace Kubernetes data
|       +-- <pod>/                     Per-pod data
|           +-- <container>/           Per-container data
|               |-- logs.txt           Current container logs
|               |-- exec/              Commands executed within container (if any)
|               |   +-- ...
|               |-- <dir>/             Files extracted from container (if any)
|               +-- ...
|-- helm/                              helm command output directory
|-- docker/                            docker command output directory
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   |-- lib/rancher/rke2/
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- powerflex-pfmpsupport-extra/       Extra diagnostic data (if present)
+-- powerflex-pfmpsupport-backup/      Backed-up configuration files (if any)

磁碟空間

暫存檔案和產生的套裝的磁碟空間需求可能會有很大差異。

公用程式會嘗試將暫時空間的使用降至最低;這僅限於命令輸出和收集的虛擬檔案系統複本 (/proc 和 /sys) 檔。

若要將 PowerFlex Manager 主機上的磁碟空間使用量降至最低,套裝可使用 --output-file=- 從遠端主機串流。流式處理時,捆綁包檔將直接寫入標準輸出(標準輸出);它不是在磁碟上創建的。

在收集數據之前,實用程式會估計臨時工作目錄和輸出捆綁包所需的磁碟空間。

如果估計的所需空間超過相關文件系統上的可用空間,則實用程式將終止並顯示錯誤。可以使用 --skip-space-check 略過此檢查。

工作目錄和輸出目錄可能位於不同的文件系統上;每個選項皆會獨立檢查。

估計的空間需求將寫入實用程式的日誌檔, pfmp_support.log

離開狀態

0 順利完成
1 錯誤 (參數無效、空間不足、另一個例項已在執行、套裝產生失敗、訊號擷取等)

檔案

<WORK_DIR>/pfmp_support.log 執行紀錄(也包含在捆綁包中)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ 臨時工作目錄(成功時清理)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz 預設輸出套裝位置
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
選擇額外的診斷資料目錄
/tmp/powerflex-pfmpsupport-backup/ 已修改組態檔案的暫存備份 (自動建立)

環境

先決條件

  • 公用程式必須以 root (或具有足夠權限的使用者,以讀取系統檔案、執行診斷命令、與 Kubernetes 叢集互動,以及存取 /proc小 /sys等)。
  • 標準公用程式: tar小 gzip小 stat小 find小 awk小 sed小 getopt(1) (增強), nice
  • 選用: zip (對於 --zip), xz (對於 --xz)。

併發

一次只能執行一個pfmp_support例項。公用程式會透過以下方式檢查現有執行中的例項: pidof(1) 如果找到一個,則終止。

訊號處理

公用程式設陷 INT小 EXIT以及 TERM 數據收集期間的信號。收到信號后,它:

  1. 還原所有備份的組態檔案。
  2. 清理臨時目錄。
  3. 狀態為 1 的退出。

將保留執行日誌,並將其路徑列印為標準錯誤。

 

範例

收集標準支援套裝:

pfmp_support

從 Kubernetes 叢集中的多個節點收集套裝。

  • 在一個節點上,有 kubectl 和 helm 存取、收集所有 Kubernetes 資料:
    pfmp_support
    
    
  • 在後續節點上,略過共用的 Kubernetes 資料:
    pfmp_support --skip-kubernetes-shared
    
    

透過 SSH 連線串流套裝,而不在遠端 PowerFlex Manager 主機上建立套裝檔案:

ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz

使用其他工作目錄以避免填滿 /tmp

pfmp_support --work-dir=/var/tmp

在套裝中包含自訂路徑:

pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000455318
Article Type: How To
Last Modified: 21 Apr 2026
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.