PowerFlex: PFMP_SUPPORT – Utilitário de coleta do pacote de suporte

Summary: pfmp_support - coletar dados de diagnóstico do PowerFlex Manager e empacotá-los em um pacote de suporte

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 [OPÇÕES]

 

DESCRIÇÃO

pfmp_support é um utilitário de diagnóstico que coleta informações de depuração de um host instalador do PowerFlex Manager ou do PowerFlex Manager e as arquiva em um pacote compactado para análise pela equipe de suporte.

O utilitário coleta dados de várias fontes, incluindo:

  • Dados de diagnóstico, configuração e logs do Kubernetes
  • Informações sobre a versão do Helm
  • Dados de tempo de execução do Docker e do contêiner
  • Registros do instalador do PowerFlex Manager
  • Configuração do sistema operacional, registros e estado de tempo de execução
  • Inventário de hardware

Ao coletar dados de vários nós de cluster do Kubernetes, um pacote padrão (--skip-kubernetes-shared não especificado) deve ser coletado de pelo menos um nó, em que kubectl e helm estão disponíveis e com acesso ao plano de controle do Kubernetes. Nos nós subsequentes --skip-kubernetes-shared pode ser usado para reduzir o tamanho dos dados coletados.

O pacote resultante é um único arquivamento compactado (tar/gz por padrão) que pode ser transferido para o suporte do PowerFlex para análise adicional.

Apenas uma instância do pfmp_support pode ser executada em um host por vez. Se não houver espaço livre suficiente para sua saída, ele se recusará a executar (a menos que a verificação de espaço seja explicitamente ignorada).

 

OPÇÕES

Opções gerais

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

    Use DIR como o diretório base do instalador do PowerFlex Manager. Útil ao coletar dados do instalador do PowerFlex e o contêiner do instalador (atlantic_installer) não está em execução. Padrão: detectado automaticamente ou /var.

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

    Armazene o pacote resultante no diretório OUT_DIR. Default: <WORK_DIR>/powerflex-pfmpsupport (consulte --work-dir).

  • -h, --help

    Exiba a mensagem de ajuda e saia. Quando combinado com --tech, exibe também opções de técnico.

  • -J, --xz

    Use o formato tar/xz para o pacote coletado em vez do tar/gz padrão. Ignorado se a tar(1) não suporta --use-compress-program ou xz(1) não foi encontrado.

  • -n NAMESPACE, --namespace=NAMESPACE

    Colete dados adicionais do namespace do Kubernetes específico do aplicativo NAMESPACE. Default: powerflex.

  • -N, --skip-space-check

    Ignore a verificação de espaço livre em disco antes da coleta de dados.

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

    Colete o caminho adicional PATH. Somente caminhos absolutos são aceitos. Aceita curingas; Os caracteres curinga devem ser cotados. Essa opção pode ser especificada várias vezes para coletar vários caminhos.

  • -q, --quiet, --silent

    Suprima mensagens na saída padrão.

  • -s, --skip-kubernetes-shared

    Ignorar a coleta de dados compartilhados (em todo o cluster) do Kubernetes. Os dados do host e os dados do Kubernetes por nó ainda são coletados. Útil para coleções de vários nós para reduzir o tamanho; Os dados do cluster devem ser coletados de pelo menos um nó.

  • -wWORK_DIR, --dir-work=WORK_DIR 

    Use o WORK_DIR de diretório para arquivos temporários. Default: /tmp.

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

    Armazene o pacote coletado como um arquivo chamado FILE. O sufixo do nome de arquivo apropriado (.tgz.zip, etc.) é adicionado automaticamente. Se FILE for - (traço), grave o pacote na saída padrão (implica --quiet). Quando o pacote é gravado na saída padrão, nenhum arquivo de pacote é criado no disco. Default: pfmpSupport.

  • -z, --zip

    Use o formato zip para o pacote coletado em vez do tar/gz padrão. Ignorado se zip(1) não encontrado no sistema.

  • --overwrite-output-file

    Substitua o arquivo de saída, se ele já existir. Quando um arquivo ou diretório de saída é especificado explicitamente (via -x ou -d), o comportamento padrão é recusar a substituição; essa opção substitui isso.

  • --Tecnologia

    Inclua opções de técnico na saída da mensagem de ajuda.

Opções de técnico

As opções a seguir são destinadas ao uso por técnicos de suporte e são mostradas na mensagem de ajuda somente quando --tech é especificado.

  • --manter-trabalhar-dir

    Mantenha o diretório de trabalho temporário gerado após a criação do pacote (normalmente limpo automaticamente).

  • --old-pod-logs

    Colete logs de pod mais antigos do Kubernetes do armazenamento rsyslog local. Quando omitida, a corrente (kubectl logs) e anterior (kubectl logs --previous) os logs do contêiner ainda são coletados.

 

ESTRUTURA DO PACOTE

O pacote de saída é um único arquivo compactado.

  • O diretório de nível superior do pacote é o nome do host do sistema coletado.
  • As saídas do comando geral do host vão para um server/ Subdiretório. O nome do arquivo é <command> + <arguments> + sufixo (.txt por padrão). Espaços substituídos por _, caracteres não alfanuméricos descartados.
    Exemplo: 
    server/ip_-s_addr.txt - output of ip -s addr
  • As saídas dos comandos kubectl, helm e docker vão para seus respectivos subdiretórios. Eles são organizados ainda por escopo, <namespace>/<pod>/<container>, quando aplicável.
    Os argumentos relacionados ao nome do comando, escopo e formato de saída são fracionados. O nome do arquivo é <subcommand> + <arguments> + sufixo (.txt por padrão). Espaços substituídos por _, caracteres não alfanuméricos descartados.
    As saídas do comando kubectl exec são armazenadas em exec/ do subdiretório do pod.
    Exemplos:
    • kubectl/version.txt - saída de kubectl version
    • kubectl/all-namespaces/get_pods.yaml -- saída de kubectl -o=yaml get --all-namespaces pods
    • kubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt - saída 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 - saída de kubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream report
    • helm/powerflex/get_all_asmmanager.txt - saída de helm get -n powerflex all asmmanager
    • docker/ps_-a.txt - saída de docker ps -a
  • Os arquivos extraídos dos contêineres de pod são colocados no diretório do contêiner no caminho do sistema de arquivos no contêiner.
    Exemplo: kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log - cópia de /opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log extraído de dentro do thin-deployer recipiente do thin-deployer-5657659bc7-gzbq4 Pod
  • Os arquivos do file system do host são colocados no caminho do file system em relação à raiz do pacote.
    Exemplos:
    • 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
  • Os arquivos ocultos (prefixados por ponto) são "desocultos" removendo o ponto inicial.
  • Registro de execução do utilitário, pfmp_support.log, colocado diretamente sob o <hostname>/ root.

Estrutura de árvore de diretórios do pacote:

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

ESPAÇO EM DISCO

Os requisitos de espaço em disco para arquivos temporários e o pacote resultante podem variar consideravelmente.

O utilitário tenta minimizar o uso temporário de espaço; Ele é limitado a saídas de comando e cópias do file system virtual coletado (/proc e /sys) arquivos.

Para minimizar o uso de espaço em disco no host do PowerFlex Manager, o pacote pode ser transmitido de um host remoto com --output-file=-. Durante o streaming, o arquivo de pacote é gravado diretamente na saída padrão (stdout); Ele não é criado no disco.

Antes de coletar dados, o utilitário estima o espaço em disco necessário para o diretório de trabalho temporário e o pacote de saída.

Se o espaço necessário estimado exceder o espaço disponível no(s) file system(s) relevante(s), o utilitário será encerrado com um erro. Essa verificação pode ser ignorada com --skip-space-check.

O diretório de trabalho e o diretório de saída podem residir em diferentes sistemas de arquivos; Cada um é verificado de forma independente.

Os requisitos de espaço estimados são gravados no arquivo de log do utilitário, pfmp_support.log.

STATUS DE SAÍDA

0 Conclusão bem-sucedida
1 Erro (argumentos inválidos, espaço insuficiente, outra instância já em execução, falha de geração do pacote, sinal detectado etc.)

ARQUIVOS

<WORK_DIR>/pfmp_support.log Log de execução (também incluído no pacote)
<WORK_DIR>/powerflex-pfmpsupport-tmp/ Diretório de trabalho temporário (limpo em caso de sucesso)
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz Local padrão do pacote de saída
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/
Diretórios de dados de diagnóstico adicionais opcionais
/tmp/powerflex-pfmpsupport-backup/ Backups temporários de arquivos de configuração modificados (criados automaticamente)

AMBIENTE

Pré-requisitos

  • O utilitário deve ser executado como root (ou um usuário com privilégios suficientes para ler arquivos do sistema, executar comandos de diagnóstico, interagir com o cluster do Kubernetes e acessar /proc/sys, etc.).
  • Utilitários padrão: targzipstatfindawksedgetopt(1) (reforçado), nice.
  • Opcional: zip (para --zip), xz (para --xz).

Simultaneidade

Apenas uma instância do pfmp_support pode ser executada por vez. O utilitário verifica se há uma instância em execução existente por meio de pidof(1) e termina se um for encontrado.

Tratamento de sinais

As armadilhas do utilitário INTEXITTERM durante a coleta de dados. Ao receber um sinal, ele:

  1. Restaura todos os arquivos de configuração de backup.
  2. Limpeza de diretórios temporários.
  3. Saídas com status 1.

O log de execução é preservado e seu caminho é impresso com o erro padrão.

 

EXEMPLOS

Colete um pacote de suporte padrão:

pfmp_support

Colete pacotes de vários nós em um cluster do Kubernetes.

  • Em um nó com kubectl e helm acesse, colete todos os dados do Kubernetes:
    pfmp_support
    
    
  • Nos nós subsequentes, ignore os dados compartilhados do Kubernetes:
    pfmp_support --skip-kubernetes-shared
    
    

Faça streaming de um pacote por meio de uma conexão SSH, sem criar um arquivo de pacote no host remoto do PowerFlex Manager:

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

Use um diretório de trabalho diferente para evitar o enchimento /tmp:

pfmp_support --work-dir=/var/tmp

Inclua caminhos personalizados no pacote:

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.