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

Résumé: get_info.sh - colete informações de diagnóstico de um host do PowerFlex e embale-as em um pacote de suporte.

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

get_info.sh [OPÇÕES]


DESCRIÇÃO

get_info.sh é um utilitário de diagnóstico que coleta informações de depuração de um host do PowerFlex (antigo ScaleIO) e as arquiva em um pacote compactado para análise pela equipe de suporte.

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

  • Arquivos de registros, configuração e rastreamento de componentes do PowerFlex
  • Saídas de consulta MDM/SCLI e dump de depuração interno
  • Diagnóstico interno de componentes do PowerFlex
  • Configuração do sistema operacional, registros e estado de tempo de execução
  • Inventário de hardware (controladores de armazenamento, dispositivos de rede, NVMe, NVDIMM e assim por diante.)
  • Dumps de núcleo (existentes e gerados opcionalmente sob demanda)
  • Coletor de dados de diagnóstico (diag_coll) estatísticas

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 de get_info.sh Pode ser executado em um host em um determinado momento. Se não houver espaço livre suficiente para sua saída, ela recusará a execução (a menos que a verificação de espaço seja explicitamente ignorada).

OPÇÕES

Opções gerais

  • -a--all

    Colete todos os dados. Isso equivale a especificar --mdm-repository--collect-cores--max-cores=2--valgrind-cores--analyse-diag-coll.

  • -A--analyse-diag-coll

    Analisar coletor de dados de diagnóstico (diag coll) dados

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]

    Coletar core dumps existentes para a lista separada por espaço do espaço do usuário COMPONENTS. Padrão (quando COMPONENTS é omitido): Todos os componentes do espaço do usuário
     

Nota: Não deve haver espaço entre -b e COMPONENTES. Para o formato longo, separe com =

 

Exemplo

-b'mdm sds'
--collect-cores='mdm sds'
  • -d OUT_DIR--output-dir=OUT_DIR

    Armazenar o pacote resultante no diretório OUT_DIR. Default: <WORK_DIR>/scaleio-getinfo (consulte a --work-dir).

  • -f--skip-mdm-login

    Ignore a consulta das credenciais de login do PowerFlex MDM. Útil quando o usuário já fez log-in manualmente.

  • -h--help

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

  • -J--xz

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

  • -k NUM--max-cores=NUM

    Coletar até NUM Arquivos principais de cada componente. Default: Todos os arquivos principais, implica --collect-cores

  • -l--light

    Gere um pacote leve. Somente a última geração de arquivos de log numerados é coletada, e os executáveis ou bibliotecas de componentes não são incluídos ao coletar núcleos. O uso dessa opção reduz a capacidade de suporte, e seu uso é desencorajado.

  • -m NUM--max-traces=NUM

    Coletar até NUM Arquivos de rastreamento do PowerFlex de cada componente. Default: Todos os arquivos

  • -N--skip-space-check

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

  • -P PATH--collect-path=PATH

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

  • -r--mdm-repository

    Colete arquivos do repositório MDM.

  • -s--skip-sdbg

    Ignora a coleta da saída do SDBG (depurador de diagnóstico).

  • -S--pause-core-generation

    Pause a geração principal dos componentes do PowerFlex durante a coleta de dados. A configuração original é restaurada após a conclusão da coleta.

  • -w WORK_DIR--work-dir=WORK_DIR

    Usar diretório WORK_DIR 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, e assim por diante) é adicionado automaticamente. Se a solicitação do FILE É (traço), grave o pacote na saída padrão (implica --quiet). Quando um pacote é gravado na saída padrão, nenhum arquivo de pacote é criado no disco. Default: getInfoDump.

  • -z--zip

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

  • --mdm-port=PORT

    Conecte-se ao MDM usando a porta PORT para comandos SCLI. Default: scli default behavior.

  • --overwrite-output-file

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

  • --tech

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

Opções de login do MDM

As seguintes opções são passadas para a SCLI --login . Seu comportamento e valores padrão são regidos pela SCLI.

  • -n--use-nonsecure-communication

    Conecte-se ao MDM no modo não seguro.

  • -p PASSWORD--password=PASSWORD

    Use PASSWORD para login no PowerFlex MDM. Default: Comportamento padrão da SCLI

  • -u USERNAME--username=USERNAME

    Use USERNAME para login no PowerFlex MDM. Default: Comportamento padrão da SCLI

  • --ldap-authentication

    Faça log-in no PowerFlex MDM usando a autenticação baseada em LDAP.

  • --management-system-ip=ADDRESS

    Conecte-se a SSO/M&O at ADDRESS para login no PowerFlex. Default: Comportamento padrão da SCLI

  • --p12-password=PASSWORD

    Criptografar o login do PowerFlex PKCS#12 usando o arquivo PASSWORD. Default: Comportamento padrão da SCLI

  • --p12-path=FILE

    Armazenar o login do PowerFlex PKCS#12 arquivo como FILE. Default: Comportamento padrão da SCLI

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 apenas quando --tech é especificado.

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]

Gere arquivos principais (usando gcore(1)) para os processos em execução da lista separada por espaço de user-land COMPONENTS. Padrão: todos os componentes do espaço do usuário, implica --collect-executables, e requer gdb e gcore.

 
Nota: Não deve haver espaço entre -c e COMPONENTS. Para o formato longo, separe com =
 

Exemplos:

-c'mdm sds'
--generate-cores='mdm sds'
  • -C CORE_FILE--reference-core-file=CORE_FILE

    Colete logs e núcleos do produto relacionados à hora da última modificação (mtime) de CORE_FILE, em vez da hora de início da execução. Implica --collect-cores

  • -E REF_TIME--event-time=REF_TIME

    Coletar logs e núcleos de produtos relacionados a REF_TIME, em vez da hora de início da execução. Aceita qualquer formato compreendido por date(1). Implica --collect-cores.

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]

Coletar valgrind core dumps para o campo de usuário especificado COMPONENTS. Padrão: todos os componentes do espaço do usuário. Implica --collect-executables.

 
Nota: Não deve haver espaço entre -b e COMPONENTS. Para o formato longo, separe com =
 

Exemplos:

-g'mdm sds'
--valgrind-cores='mdm sds'
  • -t MIN--minutes-before-event=MIN

    Coletar registros e núcleos de produtos gerados até MIN minutos antes da hora de referência. Default: 15

  • -T MIN--minutes-after-event=MIN

    Coletar registros e núcleos de produtos gerados até MIN minutos após a hora de referência. Default: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]

    Colete executáveis de componentes e suas bibliotecas compartilhadas para o espaço de usuário especificado COMPONENTS. Default: Todos os componentes do espaço do usuário

 
Nota: Não deve haver espaço entre -b e COMPONENTS. Para o formato longo, separe com =
 

Exemplos:

-X'mdm sds'
--collect-executables='mdm sds'
  • --keep-work-dir

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

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 removidos
    Exemplo: server/ip_-s_addr.txt – output of ip -s addr
  • As saídas de comando do produto vão para o subdiretório do componente. mdm/ Para sclisdc/ Para drv_cfg, e assim por diante.
    Nome do comando (sclidrv_cfg, e assim por diante) é despojado. O primeiro argumento significativo torna-se o nome do arquivo. Os arquivos são atribuídos como o sufixo relevante, .txt por padrão.

Exemplos: 

    • mdm/query_cluster.txt - saída de scli --query_cluster
    • mdm/tgt_dump.txt - saída de scli --debug_action --tgt_dump
    • sdc/query_mdms.txt - saída de drv_cfg --query_mdms
    • sds/sdbg.txt - saída de SDBG dumpallscreens para SDS
  • Arquivos de componentes do produto (em oposição a saídas de comando), <component>/cfg<component>/logse assim por diante
    Copiado do diretório do componente com o prefixo fracionado.

Exemplos: 

    • mdm/cfg/conf.txt - cópia de /opt/emc/scaleio/mdm/cfg/conf.txt
    • sds/logs/trc.0 - cópia de /opt/emc/scaleio/sds/logs/trc.0
  • 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 - cópia de /etc/os-release
    • var/log/messages - cópia de /var/log/messages
    • proc/cpuinfo - cópia de /proc/cpuinfo
  • Os arquivos do coletor de diagnóstico (diag_coll) são copiados com o /opt prefixo descascado, preservando a estrutura interna.
    Exemplo: diag_coll/logs/sar.0 - cópia de /opt/diag_coll/logs/sar.0
  • Os arquivos ocultos (prefixados por ponto) são "desocultos" removendo o ponto inicial.
  • Registro de execução do utilitário, get_info_run.log, colocado diretamente sob o <hostname>/ root

Estrutura de árvore de diretórios do pacote:

<hostname>/
|-- get_info_run.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg.txt
|   +-- ...                            (one file per collected command)
|
|-- mdm/                               PowerFlex component data (if installed)
|   |-- cfg/                           Configuration files (excl. PEM)
|   |-- logs/                          Trace and log files
|   |-- rep/                           Repository (if --mdm-repository)
|   |-- query_all.txt                  SCLI query outputs
|   |-- sdbg.txt                       SDBG screen dumps
|   +-- ...
|-- sds/
|-- pds/  
|-- dgwt/
|-- sdr/
|-- sdt/
|-- lia/
|-- sdc/
|-- gateway/
|
|-- diag_coll/                         Diagnostic data collector (if installed)
|   |-- logs/
|   |-- cfg/
|   +-- ...
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- scaleio-getinfo-extra/        Extra diagnostic data (if present)
+-- scaleio-getinfo-backup/       Backed-up configuration files (if any)

LOG DO PRODUTO E FILTRAGEM DE ARQUIVOS PRINCIPAIS

As opções descritas nesta seção controlam como os arquivos de log do produto (também chamados de arquivos de rastreamento, por exemplo trc.0trc.1exp.0) e os arquivos core dump são selecionados para inclusão no pacote coletado. Eles fazem isso definindo um tempo de referência, uma janela de tempo em torno dele e limites de contagem.

Quando nenhuma opção de filtragem é especificada, todos os arquivos de log do produto e (se a coleta principal estiver habilitada) todos os arquivos de core dump são coletados. As opções de filtragem restringem progressivamente essa seleção, conforme descrito abaixo.

Hora de referência

Uma hora de referência pode ser definida usando: -E/--event-time ou -C/--reference-core-file.

Se nenhum dos dois --event-time Nem --reference-core-file é dada, nenhuma filtragem de janela de tempo é executada: a hora de referência é padrão para a hora atual e é usada apenas para ordenação baseada em proximidade quando um limite de contagem (-m ou -k) está em vigor (consulte Limites de contagem abaixo).

Se ambos -E e -C aparece, o último item da linha de comando entra em vigor.

Espaço de tempo

Quando uma hora de referência é definida (usando --event-time ou --reference-core-file), uma janela de tempo é estabelecida em torno dele. O escopo da janela de tempo pode ser definido usando: -t/--minutes-before-event e ou -T/--minutes-after-event, que assumem o padrão de 15 e 5 minutos, respectivamente. Somente os arquivos cujo conteúdo se sobrepõe a essa janela são elegíveis para coleta.

Por exemplo, -E "2020-03-20 14:30" -t 10 -T 3 Coleta arquivos que abrangem o período de 14:20:00 a 14:33:00.

--minutes-before-event e --minutes-after-event são ignorados quando nenhum dos dois --event-time Nem --reference-core-file é especificado.

Limites de contagem

Um limite de contagem de arquivos pode ser definido usando: -m/--max-traces e -k/--max-cores, para arquivos de log e arquivos de núcleo, respectivamente. O limite é medido por componente.

Quando mais arquivos do que o NUM estiverem dentro da janela de tempo (ou estiverem disponíveis, se nenhuma janela estiver ativa), os arquivos de NUM mais próximos da hora de referência serão coletados.

Quando um limite de contagem é usado sem --event-time ou --reference-core-file, todos os arquivos são candidatos (sem espaço de tempo) e os arquivos NUM mais recentes são selecionados.

Lógica de filtragem

A filtragem de arquivos se aplica primeiro à janela de tempo e, em seguida, ao limite de contagem:

  1. Estabeleça candidatos. Todos os arquivos de log do produto e/ou os principais dump files de um componente são enumerados.
  2. Derivar período de conteúdo. O conteúdo dos arquivos de log do produto representa um período. Considera-se que o período de conteúdo começa na hora da última modificação do seu antecessor (mtime), ou a época do UNIX, quando não existe antecessor; ele termina no próprio arquivo mtime. Os dump files principais representam um ponto no tempo, no mtime.
  3. Aplique o espaço de tempo (se -E ou -C especificado). Os arquivos cujo conteúdo fica totalmente fora da janela são descartados da seleção. Para arquivos de log do produto, se nenhum arquivo cair dentro da janela, o único arquivo mais próximo da janela será retido para que o pacote nunca fique vazio para um componente. Para arquivos core dump, esse fallback não se aplica.
  4. Aplicar limite de contagem (se -m e ou -k especificado). Entre os arquivos restantes, no máximo NUM são selecionados, preferindo-se aqueles mais próximos do tempo de referência. Os arquivos antes e depois da hora de referência competem igualmente pela seleção.

AUTENTICAÇÃO

O utilitário tentará fazer log-in no MDM local se um processo de MDM primário for detectado escutando a porta esperada (padrão: 6611)

As opções de login do MDM são passadas para a SCLI --login e são processados por ele.

Se o login falhar, o utilitário será encerrado com um erro.

Quando o login é ignorado, os comandos SCLI ainda são tentados (para oferecer suporte a cenários em que o usuário fez login manualmente antes). Após três falhas de SCLI, uma advertência é exibida e todos os outros comandos SCLI são ignorados.

O login é ignorado quando:

  • Nenhum processo de MDM primário encontrado no host local.
  • A coluna --skip-mdm-login é especificada.

O login falha quando:

  • O proprietário do processo MDM não está na lista de usuários autorizados (padrão: root) e o login seguro está ativado.
  • A SCLI --login retorna um erro (por exemplo, credenciais incorretas).

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.

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

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 antes da coleta de dados.

Se o espaço necessário estimado exceder o espaço disponível nos file systems relevantes, 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, get_info_run.log.

STATUS DE SAÍDA

0 Conclusão bem-sucedida
1 Erro (argumentos inválidos, espaço insuficiente, falha de log-in, outra instância já em execução, falha de geração de pacote, sinal capturado e assim por diante)

ARQUIVOS

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

AMBIENTE

Pré-requisitos

  • O utilitário deve ser executado como root (ou um usuário com privilégios suficientes para ler arquivos de componentes, executar comandos de diagnóstico e acessar /proc/syse assim por diante).
  • Utilitários padrão: targzipstatfindawksedgetopt(1) (reforçado), nice.
  • Opcional: zip (para --zip), xz (para --xz), gdb/gcore (para --generate-cores)

Simultaneidade

Apenas uma instância de get_info.sh pode ser executado de cada vez. O utilitário verifica se há uma instância em execução existente usando pidof(1) e termina se uma instância for encontrada.

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 (por exemplo, configurações de geração do núcleo).
  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:

get_info.sh

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

ssh <host> 'get_info.sh --output-file=-' > getInfoDump-<host>.tgz

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

get_info.sh --work-dir=/var/tmp

Inclua caminhos personalizados no pacote:

get_info.sh --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

Colete o dump de núcleo mais recente somente para os componentes do SDS e MDM:

get_info.sh --collect-cores='mdm sds' --max-cores=1

Colete dados centrados em torno do horário de modificação de um arquivo principal, com um espaço de tempo personalizado:

get_info.sh --reference-core-file=/opt/emc/scaleio/sds/bin/core.1000 \
            --minutes-before-event=10 \  
            --minutes-after-event=2  
 

Produits concernés

PowerFlex rack, ScaleIO
Propriétés de l’article
Numéro d’article: 000455324
Type d’article: How To
Dernière modification: 21 May 2026
Version:  3
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.