PowerFlex : PFMP_SUPPORT - Support Bundle Collection Utility

Résumé: pfmp_support : collecter les données de diagnostic PowerFlex Manager et les regrouper dans un bundle de support

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

 

DESCRIPTION

pfmp_support est un utilitaire de diagnostic qui collecte les informations de débogage à partir d’un hôte PowerFlex Manager ou d’un programme d’installation PowerFlex Manager et les archive dans un bundle compressé à des fins d’analyse par le personnel de support.

L’utilitaire collecte des données provenant de plusieurs sources, notamment :

  • Données de diagnostic, configuration et journaux Kubernetes
  • Informations sur la version de Helm
  • Données d’exécution de docker et de conteneur
  • Journaux du programme d’installation de PowerFlex Manager
  • Configuration du système d’exploitation, journaux et état d’exécution
  • Inventaire matériel

Lors de la collecte de données à partir de plusieurs nœuds de cluster Kubernetes, un bundle standard (--skip-kubernetes-shared not specified) doit être collecté à partir d’au moins un nœud, où kubectl et helm sont disponibles et ont accès au plan de contrôle Kubernetes. Sur les nœuds suivants --skip-kubernetes-shared peut être utilisé pour réduire la taille des données collectées.

Le bundle résultant est une archive compressée unique (tar/gz par défaut) qui peut être transférée vers le support PowerFlex pour une analyse plus approfondie.

Une seule instance de pfmp_support peut s’exécuter sur un hôte à un moment donné. S’il n’y a pas suffisamment d’espace libre pour sa sortie, il refuse de s’exécuter (sauf si la vérification de l’espace est explicitement ignorée).

 

OPTIONS

Options générales

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

    Utilisez DIR comme répertoire de base du programme d’installation de PowerFlex Manager. Utile lors de la collecte des données du programme d’installation PowerFlex et du conteneur du programme d’installation (atlantic_installer) n’est pas en cours d’exécution. Par défaut : détecté automatiquement, ou /var.

  • -d OUT_DIR, --sortie-rép=OUT_DIR

    Stockez le bundle résultant sous le répertoire OUT_DIR. Default : <WORK_DIR>/powerflex-pfmpsupport (voir --work-dir).

  • -h, --help

    Affichez le message d’aide et quittez. Lorsqu’il est associé à --tech, affiche également les options du technicien.

  • -J, --xz

    Utilisez le format tar/xz pour l’offre groupée collectée au lieu du format tar/gz par défaut. Ignoré si le tar(1) Ne prend pas en charge --use-compress-program ou xz(1) est introuvable.

  • -n NAMESPACE, --namespace=ESPACE DE NOMMAGE

    Collectez des données supplémentaires à partir de l’espace de nommage Kubernetes spécifique à l’application, NAMESPACE. Default : powerflex.

  • -N, --skip-space-check

    Ignorez la vérification de l’espace disque disponible avant la collecte des données.

  • -PPATH,--collect-path=PATH 

    Collectez le chemin supplémentaire PATH. Seuls les chemins absolus sont acceptés. Accepte les caractères génériques ; Les caractères génériques doivent être mis entre guillemets. Cette option peut être spécifiée plusieurs fois pour collecter plusieurs chemins.

  • -q, --quiet, --silent

    Supprime les messages sur la sortie standard.

  • -s, --skip-kubernetes-shared

    Ignorer la collecte des données Kubernetes partagées (à l’échelle du cluster). Les données Kubernetes par nœud et les données de l’hôte sont toujours collectées. Utile pour les collectes à plusieurs nœuds afin de réduire la taille ; Les données de cluster doivent être collectées à partir d’au moins un nœud.

  • -w WORK_DIR, --rép_travail=WORK_DIR

    Utilisez WORK_DIR de répertoire pour les fichiers temporaires. Default : /tmp.

  • -x FICHIER,--fichier-sortie=FICHIER

    Stockez le bundle collecté en tant que fichier nommé FILE. Le suffixe de nom de fichier approprié (.tgz.zip, etc.) est ajouté automatiquement. Si FILE est - (tiret), écrivez le bundle dans la sortie standard (implique --quiet). Lorsque le bundle est écrit sur la sortie standard, aucun fichier de bundle n’est créé sur le disque. Default : pfmpSupport.

  • -z, --zip

    Utilisez le format zip pour l’offre groupée collectée au lieu du format tar/gz par défaut. Ignoré si zip(1) Introuvable sur le système.

  • --overwrite-output-file

    Remplacez le fichier de sortie s’il existe déjà. Lorsqu’un fichier ou un répertoire de sortie est explicitement spécifié (via -x ou -d), le comportement par défaut est de refuser d’écraser ; Cette option remplace cela.

  • --Tech

    Incluez les options du technicien dans la sortie du message d’aide.

Options pour les techniciens

Les options suivantes sont destinées aux techniciens de support et s’affichent dans le message d’aide uniquement lorsque l’option --tech est spécifiée.

  • --keep-work-dir

    Conservez le répertoire de travail temporaire généré après la création du bundle (normalement nettoyé automatiquement).

  • --old-pod-logs

    Collectez les anciens logs du pod Kubernetes à partir du stockage rsyslog local. Lorsqu’elle est omise, la valeur actuelle (kubectl logs) et les versions antérieures (kubectl logs --previous) les logs de conteneur sont toujours collectés.

 

STRUCTURE DE L’OFFRE GROUPÉE

Le bundle de sortie est une archive compressée unique.

  • Le répertoire de premier niveau du bundle correspond au nom d’hôte du système collecté.
  • Les sorties de commande de l’hôte général vont dans un server/ Sous-répertoire. Le nom du fichier est <command> + <arguments> + suffixe (.txt par défaut). Espaces remplacés par _, les caractères non alphanumériques ont été supprimés.
    Exemple: 
    server/ip_-s_addr.txt - output of ip -s addr
  • Les sorties de commande kubectl, helm et docker sont placées dans leurs sous-répertoires respectifs. Ils sont ensuite organisés par champ d’application, <namespace>/<pod>/<container>, s’il y a lieu.
    Les arguments liés au nom de commande, au périmètre et au format de sortie sont supprimés. Le nom du fichier est <subcommand> + <arguments> + suffixe (.txt par défaut). Espaces remplacés par _, les caractères non alphanumériques ont été supprimés.
    Les sorties de la commande kubectl exec sont stockées sous exec/ du sous-répertoire du pod.
    Exemples:
    • kubectl/version.txt - Sortie de kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- sortie de kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - Sortie de kubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtk
    • kubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt - Sortie de kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - Sortie de helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - Sortie de docker ps -a
  • Les fichiers extraits des conteneurs de pods sont placés sous le répertoire du conteneur au chemin du système de fichiers dans le conteneur.
    Exemple: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - copie de /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log extrait de l’intérieur de la thin-deployer conteneur de l’objet thin-deployer-5657659bc7-gzbq4 Pod
  • Les fichiers du système de fichiers hôte sont placés sur leur chemin d’accès au système de fichiers par rapport à la racine du bundle.
    Exemples:
    • 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
  • Les fichiers masqués (précédés d’un point) sont « masqués » en supprimant le point de début.
  • Journal d’exécution de l’utilitaire, pfmp_support.log, placé directement sous le nom> d’hôte</root.

Structure arborescente des répertoires du bundle :

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

ESPACE DISQUE

L’espace disque requis pour les fichiers temporaires et l’offre groupée qui en résulte peut varier considérablement.

L’utilitaire tente de minimiser l’utilisation temporaire de l’espace ; Elle se limite aux sorties de commande et aux copies du système de fichiers virtuel collecté (/proc et /sys) dans les fichiers.

Pour limiter l’utilisation de l’espace disque sur l’hôte PowerFlex Manager, le bundle peut être diffusé en continu à partir d’un hôte distant avec l’option --output-file=-. Lors de la diffusion en continu, le fichier de bundle est écrit directement dans la sortie standard (stdout) ; Il n’est pas créé sur le disque.

Avant de collecter les données, l’utilitaire estime l’espace disque requis pour le répertoire de travail temporaire et le bundle de sortie.

Si l’espace requis estimé dépasse l’espace disponible sur le ou les systèmes de fichiers concernés, l’utilitaire se termine avec une erreur. Cette vérification peut être contournée à l’aide de l’option --skip-space-check.

Le répertoire de travail et le répertoire de sortie peuvent résider sur des systèmes de fichiers différents ; Chacune d’entre elles est vérifiée indépendamment.

L’espace estimé requis est écrit dans le fichier journal de l’utilitaire, pfmp_support.log.

ÉTAT DE SORTIE

0 Réussite
1 Erreur (arguments non valides, espace insuffisant, une autre instance est déjà en cours d’exécution, échec de génération de bundle, signal intercepté, etc.)

FICHIERS

<WORK_DIR>/pfmp_support.log Journal d’exécution (également inclus dans l’offre groupée)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Répertoire de travail temporaire (nettoyé en cas de succès)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Emplacement par défaut du bundle de sortie
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Répertoires de données de diagnostic supplémentaires facultatifs
/tmp/powerflex-pfmpsupport-backup/ Sauvegardes temporaires des fichiers de configuration modifiés (créés automatiquement)

ENVIRONNEMENT

Configuration requise

  • L’utilitaire doit être exécuté en tant qu’utilisateur root (c’est-à-dire en tant qu’utilisateur disposant de privilèges suffisants pour lire les fichiers système, exécuter des commandes de diagnostic, interagir avec le cluster Kubernetes et accéder /proc/sys, etc.).
  • Utilitaires standard : targzipstatfindawksedgetopt(1) (amélioré), nice.
  • Facultatif : zip (pour --zip), xz (pour --xz).

Concurrence

Vous ne pouvez exécuter qu’une seule instance de pfmp_support à la fois. L’utilitaire vérifie une instance existante en cours d’exécution via pidof(1) et se termine si l’on en trouve un.

Gestion des signaux

Les traps utilitaires INTEXITet TERM lors de la collecte des données. À la réception d’un signal, il :

  1. Restaure tous les fichiers de configuration sauvegardés.
  2. Nettoie les répertoires temporaires.
  3. Quitte avec l’état 1.

Le journal d’exécution est conservé et son chemin d’accès est imprimé sur l’erreur standard.

 

EXEMPLES

Collecter un bundle de support standard :

pfmp_support

Collectez des bundles à partir de plusieurs nœuds dans un cluster Kubernetes.

  • Sur un nœud avec kubectl et helm accès, collecte toutes les données Kubernetes :
    pfmp_support
    
    
  • Sur les nœuds suivants, ignorez les données Kubernetes partagées :
    pfmp_support --skip-kubernetes-shared
    
    

Diffusez un bundle via une connexion SSH, sans créer de fichier de bundle sur l’hôte PowerFlex Manager distant :

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

Utilisez un autre répertoire de travail pour éviter de le remplir /tmp:

pfmp_support --work-dir=/var/tmp

Incluez des chemins personnalisés dans l’offre groupée :

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 Apr 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.