PowerFlex: PFMP_SUPPORT – Dienstprogramm zur Erfassung von Supportbündeln

Résumé: pfmp_support – Erfassen von PowerFlex Manager-Diagnosedaten und Packen in ein Support-Bundle

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 [OPTIONEN]

 

BESCHREIBUNG

pfmp_support ist ein Diagnosedienstprogramm, das Debug-Informationen von einem PowerFlex Manager- oder einem PowerFlex Manager-Installationshost sammelt und zur Analyse durch Supportmitarbeiter in einem komprimierten Bundle archiviert.

Das Dienstprogramm sammelt Daten aus mehreren Quellen, darunter:

  • Kubernetes-Diagnosedaten, -Konfiguration und -Protokolle
  • Informationen zur Helm-Version
  • Docker- und Container-Laufzeitdaten
  • PowerFlex Manager -Installationsprotokolle
  • Konfiguration, Protokolle und Laufzeitstatus des Betriebssystems
  • Hardware-Bestandsaufnahme

Beim Sammeln von Daten von mehreren Kubernetes-Cluster-Nodes sollte ein Standard-Bundle (--skip-kubernetes-shared not specified) von mindestens einem Node erfasst werden, wobei kubectl und helm verfügbar sind und Zugriff auf die Kubernetes-Steuerungsebene haben. Auf nachfolgenden Nodes --skip-kubernetes-shared kann verwendet werden, um die Größe der gesammelten Daten zu reduzieren.

Das resultierende Bundle ist ein einzelnes komprimiertes Archiv (standardmäßig tar/gz), das zur weiteren Analyse an den PowerFlex-Support übertragen werden kann.

Auf einem Host kann jeweils nur eine Instanz von pfmp_support ausgeführt werden. Wenn nicht genügend freier Speicherplatz für die Ausgabe vorhanden ist, wird die Ausführung verweigert (es sei denn, die Speicherplatzprüfung wird explizit übersprungen).

 

OPTIONEN

Allgemeine Optionen

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

    Verwenden Sie DIR als Basisverzeichnis des PowerFlex Manager -Installationsprogramms. Nützlich beim Erfassen von PowerFlex Installer-Daten und des Installer-Containers (atlantic_installer) wird nicht ausgeführt. Standardeinstellung: automatisch erkannt oder /varherunter.

  • -d OUT_DIR, --output-dir=OUT_DIR

    Speichern Sie das resultierende Bundle im Verzeichnis OUT_DIR. Default: <WORK_DIR>/powerflex-pfmpsupport (siehe --work-dir).

  • -h, --help

    Zeigen Sie die Hilfemeldung an und beenden Sie den Vorgang. In Kombination mit --tech werden auch Technikeroptionen angezeigt.

  • -J, --xz

    Verwenden Sie das tar/xz-Format für das erfasste Bundle anstelle des Standardformats tar/gz. Ignoriert, wenn die tar(1) Unterstützt nicht --use-compress-program oder xz(1) nicht gefunden wird.

  • -n NAMENSRAUM,--namespace=NAMENSRAUM

    Sammeln Sie zusätzliche Daten aus dem anwendungsspezifischen Kubernetes-Namespace NAMESPACE. Default: powerflexherunter.

  • -N, --skip-space-check

    Überspringen Sie die Überprüfung des freien Speicherplatzes vor der Datenerfassung.

  • -P PFAD,--collect-path=PFAD

    Erfassen Sie den zusätzlichen Pfad PATH. Es werden nur absolute Pfade akzeptiert. Akzeptiert Platzhalter; Platzhalter sollten in Anführungszeichen gesetzt werden. Diese Option kann mehrmals angegeben werden, um mehrere Pfade zu erfassen.

  • -q, --quiet, --silent

    Unterdrückt Meldungen in der Standardausgabe.

  • -s, --skip-kubernetes-shared

    Überspringen Sie die Erfassung freigegebener (clusterübergreifender) Kubernetes-Daten. Kubernetes-Daten und Hostdaten pro Node werden weiterhin erfasst. Nützlich für Sammlungen mit mehreren Knoten, um die Größe zu reduzieren; Clusterdaten sollten von mindestens einem Node erfasst werden.

  • -w WORK_DIR, --work-dir=WORK_DIR

    Verwenden Sie das WORK_DIR für temporäre Dateien. Default: /tmpherunter.

  • -x DATEI,--output-file=DATEI

    Speichern Sie das erfasste Bundle als Datei mit dem Namen FILE. Das entsprechende Dateinamensuffix (.tgz.zipusw.) wird automatisch hinzugefügt. Wenn FILE - (Bindestrich), schreibt das Bundle in die Standardausgabe (impliziert --quiet). Wenn das Bundle in die Standardausgabe geschrieben wird, wird keine Bundle-Datei auf der Festplatte erstellt. Default: pfmpSupportherunter.

  • -z, --zip

    Verwenden Sie das ZIP-Format für das erfasste Bundle anstelle des Standardformats tar/gz. Ignoriert, wenn zip(1) wurde auf dem System nicht gefunden.

  • --überschreiben-Ausgabe-Datei

    Überschreiben Sie die Ausgabedatei, wenn sie bereits vorhanden ist. Wenn eine Ausgabedatei oder ein Ausgabeverzeichnis explizit angegeben wird (über -x oder -d), besteht das Standardverhalten darin, das Überschreiben abzulehnen. Diese Option überschreibt dies.

  • --Tech

    Fügen Sie Technikeroptionen in die Ausgabe der Hilfemeldung ein.

Technikeroptionen

Die folgenden Optionen sind für Supporttechniker vorgesehen und werden nur dann in der Hilfemeldung angezeigt, wenn --tech angegeben ist.

  • --keep-work-dir

    Behalten Sie das erzeugte temporäre Arbeitsverzeichnis nach der Bundle-Erstellung bei (normalerweise automatisch bereinigt).

  • --old-pod-logs

    Sammeln Sie ältere Kubernetes-Pod-Protokolle aus dem lokalen rsyslog-Speicher. Bei Wegfall wird die aktuelle (kubectl logs) und vorherige (kubectl logs --previous) werden Containerprotokolle weiterhin gesammelt.

 

BUNDLE-STRUKTUR

Das Ausgabe-Bundle ist ein einzelnes komprimiertes Archiv.

  • Das Bundle-Verzeichnis der obersten Ebene ist der Hostname des erfassten Systems.
  • Allgemeine Ausgaben von Hostbefehlen werden in eine server/ Unterverzeichnis. Der Dateiname lautet <command> + <arguments> + Suffix (.txt standardmäßig). Leerzeichen ersetzt durch _, nicht-alphanumerische Zeichen entfernt.
    Beispiel: 
    server/ip_-s_addr.txt - output of ip -s addr
  • Ausgaben der Befehle kubectl, helm und docker werden in die entsprechenden Unterverzeichnisse verschoben. Sie sind weiter nach Geltungsbereich gegliedert, <namespace>/<pod>/<container>, falls zutreffend.
    Argumente im Zusammenhang mit Befehlsname, Umfang und Ausgabeformat werden entfernt. Der Dateiname lautet <subcommand> + <arguments> + Suffix (.txt standardmäßig). Leerzeichen ersetzt durch _, nicht-alphanumerische Zeichen entfernt.
    Die Befehlsausgaben von kubectl exec werden unter exec/ des Unterverzeichnisses des Pods.
    Beispiele:
    • kubectl/version.txt - Ausgabe von kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- Ausgabe von kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - Ausgabe von kubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtk
    • kubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt - Ausgabe von kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - Ausgabe von helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - Ausgabe von docker ps -a
  • Dateien, die aus Pod-Containern extrahiert werden, werden im Verzeichnis des Containers an ihrem In-Container-Dateisystempfad abgelegt.
    Beispiel: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - Kopie von /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log aus dem Inneren der thin-deployer Behälter der thin-deployer-5657659bc7-gzbq4 Pod
  • Hostdateisystemdateien werden in Bezug auf den Bundle-Stamm an ihrem Dateisystempfad abgelegt.
    Beispiele:
    • 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
  • Ausgeblendete Dateien (mit Präfix) werden durch Entfernen des führenden Punktes "eingeblendet".
  • Ausführungsprotokoll des Dienstprogramms, pfmp_support.log, die direkt unter dem Hostnamen>/Root <platziert wird.

Bundle-Verzeichnisstruktur:

<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)

SPEICHERPLATZ

Die Speicherplatzanforderungen für temporäre Dateien und das resultierende Bundle können erheblich variieren.

Das Dienstprogramm versucht, die temporäre Speicherplatznutzung zu minimieren. Sie ist auf Befehlsausgaben und Kopien des erfassten virtuellen Dateisystems (/proc und /sys) Dateien.

Um die Speicherplatzauslastung auf dem PowerFlex Manager-Host zu minimieren, kann das Bundle mit --output-file=- von einem Remotehost gestreamt werden. Beim Streaming wird die Bundle-Datei direkt in die Standardausgabe (stdout) geschrieben. Es wird nicht auf der Festplatte erstellt.

Vor der Datenerfassung schätzt das Dienstprogramm den erforderlichen Speicherplatz für das temporäre Arbeitsverzeichnis und das Ausgabe-Bundle.

Wenn der geschätzte erforderliche Speicherplatz den verfügbaren Speicherplatz auf dem/den relevanten Dateisystem(en) überschreitet, wird das Dienstprogramm mit einem Fehler beendet. Diese Prüfung kann mit --skip-space-check umgangen werden.

Das Arbeitsverzeichnis und das Ausgabeverzeichnis können sich auf unterschiedlichen Dateisystemen befinden. Jede wird unabhängig geprüft.

Der geschätzte Speicherplatzbedarf wird in die Protokolldatei des Dienstprogramms geschrieben. pfmp_support.logherunter.

BEENDIGUNGSSTATUS

0 Erfolgreicher Abschluss
1 Fehler (ungültige Argumente, nicht genügend Speicherplatz, eine andere Instanz wird bereits ausgeführt, Fehler bei der Bundle-Generierung, Signal abgefangen usw.)

DATEIEN

<WORK_DIR>/pfmp_support.log Ausführungsprotokoll (ebenfalls im Bundle enthalten)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Temporäres Arbeitsverzeichnis (bei Erfolg bereinigt)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Standardspeicherort für Ausgabe-Bundles
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Optionale zusätzliche Diagnosedatenverzeichnisse
/tmp/powerflex-pfmpsupport-backup/ Temporäre Backups geänderter Konfigurationsdateien (automatisch erstellt)

UMGEBUNG

Voraussetzungen

  • Das Dienstprogramm muss als Root-Nutzer ausgeführt werden (oder als NutzerIn mit ausreichenden Berechtigungen zum Lesen von Systemdateien, zum Ausführen von Diagnosebefehlen, zur Interaktion mit dem Kubernetes-Cluster und zum Zugriff auf /proc/sysusw.).
  • Standard-Dienstprogramme: targzipstatfindawksedgetopt(1) (erweitert), niceherunter.
  • Optional: zip (für --zip), xz (für --xz) enthalten.

Parallelität

Es kann jeweils nur eine Instanz von pfmp_support ausgeführt werden. Das Dienstprogramm prüft, ob eine vorhandene Instanz ausgeführt wird über pidof(1) und beendet, wenn eine gefunden wird.

Signalverarbeitung

Die Dienstprogramm-Traps INTEXITund TERM Signale während der Datenerfassung. Beim Empfang eines Signals:

  1. Stellt alle gesicherten Konfigurationsdateien wieder her.
  2. Bereinigt temporäre Verzeichnisse.
  3. Beendet mit Status 1.

Das Ausführungsprotokoll wird beibehalten und der Pfad wird mit Standardfehler gedruckt.

 

BEISPIELE

Erfassen eines Standard-Support-Bundles:

pfmp_support

Erfassen Sie Bundles von mehreren Nodes in einem Kubernetes-Cluster.

  • Auf einem Node mit kubectl und helm Zugriff und sammeln Sie alle Kubernetes-Daten:
    pfmp_support
    
    
  • Überspringen Sie auf nachfolgenden Nodes freigegebene Kubernetes-Daten:
    pfmp_support --skip-kubernetes-shared
    
    

Streamen Sie ein Bundle über eine SSH-Verbindung, ohne eine Bundle-Datei auf dem Remotehost von PowerFlex Manager zu erstellen:

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

Verwenden Sie ein anderes Arbeitsverzeichnis, um eine Auslastung zu vermeiden /tmpverwalten:

pfmp_support --work-dir=/var/tmp

Nutzerdefinierte Pfade in das Bundle aufnehmen:

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.