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

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

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet 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*'

Produits concernés

PowerFlex rack, ScaleIO
Propriétés de l’article
Numéro d’article: 000455318
Type d’article: How To
Dernière modification: 21 avr. 2026
Version:  1
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.