PowerFlex: PFMP_SUPPORT - Utilidad de recopilación de paquetes de soporte

Résumé: pfmp_support: recopile datos de diagnóstico de PowerFlex Manager y empáquelos en un paquete de soporte

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

 

DESCRIPCIÓN

pfmp_support es una utilidad de diagnóstico que recopila información de depuración de un host del instalador de PowerFlex Manager o PowerFlex Manager y la archiva en un paquete comprimido para su análisis por parte del personal de soporte.

La utilidad recopila datos de varias fuentes, entre las que se incluyen:

  • Datos de diagnóstico, configuración y registros de Kubernetes
  • Información de la versión de Helm
  • Datos de tiempo de ejecución de Docker y contenedor
  • Registros del instalador de PowerFlex Manager
  • Configuración del sistema operativo, registros y estado de tiempo de ejecución
  • Inventario de hardware

Cuando se recolectan datos de varios nodos de clúster de Kubernetes, se debe recolectar un paquete estándar (no se especifica --skip-kubernetes-shared) de al menos un nodo, donde kubectl y helm están disponibles y con acceso al plano de control de Kubernetes. En los nodos subsiguientes --skip-kubernetes-shared se pueden utilizar para reducir el tamaño de los datos recopilados.

El paquete resultante es un único archivo comprimido (tar/gz de manera predeterminada) que se puede transferir al soporte de PowerFlex para un análisis más detallado.

Solo se puede ejecutar una instancia de pfmp_support en un host en un momento determinado. Si no hay suficiente espacio libre para su salida, se negará a ejecutarse (a menos que la comprobación de espacio se omita explícitamente).

 

OPCIONES

Opciones generales

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

    Utilice DIR como el directorio base del instalador de PowerFlex Manager. Útil cuando se recopilan datos del instalador de PowerFlex y el contenedor del instalador (atlantic_installer) no se está ejecutando. Valor predeterminado: se detecta automáticamente o /var.

  • -dOUT_DIR, --dir-salida=OUT_DIR 

    Almacene el paquete resultante en el OUT_DIR de directorio. Predeterminado: <WORK_DIR>/powerflex-pfmpsupport (consulte --work-dir).

  • -h, --help

    Muestre el mensaje de ayuda y salga. Cuando se combina con --tech, también muestra las opciones de técnico.

  • -J, --xz

    Utilice el formato tar/xz para el paquete recopilado en lugar del formato tar/gz predeterminado. Se ignora si el atributo tar(1) No es compatible --use-compress-program o xz(1) no se encuentra.

  • -n ESPACIO de nombres,--namespace=ESPACIO DE NOMBRES

    Recopile datos adicionales del espacio de nombres de Kubernetes específico de la aplicación NAMESPACE. Predeterminado: powerflex.

  • -N, --skip-space-check

    Omita la verificación del espacio libre en disco antes de la recolección de datos.

  • -PRUTA,--ruta-recopilar=RUTA 

    Recopile la ruta adicional PATH. Solo se aceptan rutas absolutas. Acepta comodines; Los comodines deben estar entre comillas. Esta opción se puede especificar varias veces para recolectar varias rutas.

  • -q, --quiet, --silent

    Suprimir mensajes en la salida estándar.

  • -s, --skip-kubernetes-shared

    Omita la recopilación de datos de Kubernetes compartidos (en todo el clúster). Los datos de Kubernetes por nodo y los datos del host se siguen recopilando. Útil para colecciones de múltiples nodos a fin de reducir el tamaño; Los datos del clúster se deben recopilar de al menos un nodo.

  • -wWORK_DIR, --dir-trabajo=WORK_DIR 

    Utilice el WORK_DIR de directorio para los archivos temporales. Predeterminado: /tmp.

  • -xARCHIVO,--archivo-salida=ARCHIVO 

    Almacene el paquete recopilado como un archivo denominado FILE. El sufijo del nombre de archivo correspondiente (.tgz.zip, etc.) se agrega automáticamente. Si FILE es - (guión), escriba el paquete en la salida estándar (implica --quiet). Cuando el paquete se escribe en la salida estándar, no se crea ningún archivo de paquete en el disco. Predeterminado: pfmpSupport.

  • -z, --zip

    Utilice el formato zip para el paquete recopilado en lugar del valor predeterminado tar/gz. Se ignora si zip(1) no se encuentra en el sistema.

  • --sobrescribir archivo-de-salida

    Sobrescriba el archivo de salida si ya existe. Cuando se especifica explícitamente un archivo o directorio de salida (a través de -x o -d), el comportamiento predeterminado es negarse a sobrescribir; Esta opción reemplaza eso.

  • --tecnología

    Incluya las opciones del técnico en el mensaje de ayuda.

Opciones del técnico

Las siguientes opciones están destinadas a los técnicos de soporte y se muestran en el mensaje de ayuda solo cuando se especifica --tech.

  • --keep-work-dir

    Conserve el directorio de trabajo temporal generado después de la creación del paquete (normalmente se limpia automáticamente).

  • --old-pod-logs

    Recopile registros de pod de Kubernetes más antiguos del almacenamiento rsyslog local. Cuando se omite, el valor actual (kubectl logs) y anterior (kubectl logs --previous) aún se recopilan registros de contenedores.

 

ESTRUCTURA DEL PAQUETE

El paquete de salida es un único archivo comprimido.

  • El directorio de nivel superior del paquete es el nombre de host del sistema recolectado.
  • Las salidas de comandos generales del host van a un server/ subdirectorio. El nombre de archivo es <command> + <arguments> + sufijo (.txt por defecto). Espacios reemplazados por _, caracteres no alfanuméricos eliminados.
    Ejemplo: 
    server/ip_-s_addr.txt - output of ip -s addr
  • Las salidas de los comandos kubectl, helm y docker van a sus respectivos subdirectorios. Además, se organizan por alcance, <namespace>/<pod>/<container>, en su caso.
    Se eliminan los argumentos relacionados con el nombre del comando, el alcance y el formato de salida. El nombre de archivo es <subcommand> + <arguments> + sufijo (.txt por defecto). Espacios reemplazados por _, caracteres no alfanuméricos eliminados.
    Las salidas del comando kubectl exec se almacenan en exec/ del subdirectorio del pod.
    Ejemplos:
    • kubectl/version.txt - Salida de kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- salida de kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - Salida 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 - Salida de kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - Salida de helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - Salida de docker ps -a
  • Los archivos extraídos de los contenedores de pods se colocan en el directorio del contenedor en su ruta del sistema de archivos dentro del contenedor.
    Ejemplo: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - Copia de /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log extraído del interior de la thin-deployer contenedor del thin-deployer-5657659bc7-gzbq4 Vaina
  • Los archivos del sistema de archivos del host se colocan en su ruta del sistema de archivos en relación con la raíz del paquete.
    Ejemplos:
    • 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
  • Los archivos ocultos (con prefijo de punto) se "ocultan" mediante la eliminación del punto inicial.
  • Registro de ejecución de utilidades, pfmp_support.log, colocado directamente bajo el nombre> de <host/raíz.

Estructura de árbol del directorio del paquete:

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

ESPACIO DE DISCO

Los requisitos de espacio en disco para los archivos temporales y el paquete resultante pueden variar considerablemente.

La utilidad intenta minimizar el uso temporal del espacio; Se limita a salidas de comandos y copias de sistemas de archivos virtuales recopilados (/proc y /sys) archivos.

Para minimizar el uso del espacio de disco en el host de PowerFlex Manager, el paquete se puede transmitir desde un host remoto con --output-file=-. Al transmitir, el archivo del paquete se escribe directamente en la salida estándar (stdout); No se crea en el disco.

Antes de recopilar datos, la utilidad calcula el espacio en disco necesario tanto para el directorio de trabajo temporal como para el paquete de salida.

Si el espacio necesario estimado supera el espacio disponible en los sistemas de archivos pertinentes, la utilidad finaliza con un error. Esta comprobación se puede omitir con --skip-space-check.

El directorio de trabajo y el directorio de salida pueden residir en sistemas de archivos diferentes; Cada uno se comprueba de forma independiente.

Los requisitos de espacio estimados se escriben en el archivo de registro de la utilidad, pfmp_support.log.

ESTADO DE SALIDA

0 Finalización correcta
1 Error (argumentos no válidos, espacio insuficiente, otra instancia ya en ejecución, falla en la generación de paquetes, señal detectada, etc.)

ARCHIVOS

<WORK_DIR>/pfmp_support.log Registro de ejecución (también incluido en el paquete)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Directorio de trabajo temporal (limpiado cuando se realiza correctamente)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Ubicación predeterminada del paquete de salida
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Directorios de datos de diagnóstico adicionales opcionales
/tmp/powerflex-pfmpsupport-backup/ Respaldos temporales de archivos de configuración modificados (creados automáticamente)

ENTORNO

Requisitos previos

  • La utilidad se debe ejecutar como raíz (o un usuario con privilegios suficientes para leer archivos del sistema, ejecutar comandos de diagnóstico, interactuar con el clúster de Kubernetes y acceder /proc/sys, etc.).
  • Utilidades estándar: targzipstatfindawksedgetopt(1) (mejorado), nice.
  • Opcional: zip (para --zip), xz (para --xz).

Simultaneidad

Solo se puede ejecutar una instancia de pfmp_support a la vez. La utilidad comprueba si existe una instancia en ejecución a través de pidof(1) y termina si se encuentra uno.

Manejo de señales

Las trampas de utilidad INTEXITTERM señales durante la recopilación de datos. Al recibir una señal, hace lo siguiente:

  1. Restaura los archivos de configuración respaldados.
  2. Limpia directorios temporales.
  3. Sale con el estado 1.

El registro de ejecución se conserva y su ruta se imprime en error estándar.

 

EJEMPLOS

Recopile un paquete de soporte estándar:

pfmp_support

Recopile paquetes de varios nodos en un clúster de Kubernetes.

  • En un nodo con kubectl y helm acceda, recopile todos los datos de Kubernetes:
    pfmp_support
    
    
  • En los nodos subsiguientes, omita los datos compartidos de Kubernetes:
    pfmp_support --skip-kubernetes-shared
    
    

Transmita un paquete a través de una conexión SSH, sin crear un archivo de paquete en el host remoto de PowerFlex Manager:

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

Use un directorio de trabajo diferente para evitar llenarlo /tmp:

pfmp_support --work-dir=/var/tmp

Incluya rutas personalizadas en el paquete:

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.