PowerFlex: GET_INFO - Utilità di raccolta dei pacchetti di supporto

Summary: Il "get_info.sh" raccoglie le informazioni di diagnostica da un host PowerFlex e crea un pacchetto di supporto compresso.

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

"get_info.sh" [OPZIONI]

DESCRIZIONE

"get_info.sh" è un utilità di diagnostica che raccoglie informazioni di debug da un host PowerFlex (in precedenza ScaleIO). Archivia i dati raccolti in un pacchetto compresso per l'analisi da parte del personale di supporto.

L'utilità raccoglie dati da più fonti, tra cui:

  • Registri dei componenti PowerFlex, configurazione e file di traccia
  • Output delle query MDM/SCLI e dump di debug interno
  • Diagnostica interna dei componenti PowerFlex
  • Configurazione, registri e stato di runtime del sistema operativo
  • Inventario hardware (controller di storage, dispositivi di rete, NVMe, NVDIMM e così via)
  • Core dump (esistenti e generati opzionalmente on-demand)
  • Statistiche di raccolta dei dati di diagnostica ("diag_coll")

Il bundle risultante è un singolo archivio compresso (tar/gz per impostazione predefinita) che può essere trasferito al supporto PowerFlex per ulteriori analisi.

Solo un'istanza di "get_info.sh" può essere eseguita su un host in un determinato momento. Se non è presente spazio libero sufficiente per l'output, l'esecuzione si rifiuta (a meno che il controllo dello spazio non venga ignorato in modo esplicito).

OPZIONI

Opzioni generali

  • -a, --all
    Raccogliere tutti i dati. Ciò equivale a specificare "--mdm-repository," "--collect-cores", "--max-cores=2", "--valgrind-cores" e "--analyse-diag-coll."

  • -A, --analyse-diag-coll
    Analizzare i dati dell'agente di raccolta dei dati di diagnostica ("diag coll")

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]
    Raccogliere i core dump esistenti per l'elenco separato dallo spazio dei "COMPONENTS" dell'area dell'utente. Impostazione predefinita (quando "COMPONENTS" è omesso): tutti i componenti dell'area utente

    Nota: Non deve esserci spazio tra "-b" e "COMPONENTS". Per la forma estesa, separare con =

    Esempio

    -b'mdm sds'
    --collect-cores='mdm sds'
  • -d OUT_DIR, --output-dir=OUT_DIR
    Conservare il pacchetto risultante nella directory "OUT_DIR. " Impostazione predefinita: "<WORK_DIR>/scaleio-getinfo" (vedere "--work-dir").

  • -f, --skip-mdm-login
    Ignorare la query per le credenziali di accesso a PowerFlex MDM. Utile quando l'utente ha già effettuato l'accesso manualmente.

  • -h, --help
    Consente di visualizzare il messaggio della guida e uscire. In combinazione con "--tech", vengono visualizzate anche le opzioni per il tecnico.

  • -J, --xz
    Utilizzare il formato "tar/xz" per il pacchetto raccolto anziché il formato predefinito "tar/gz". Ignorato se "tar(1)" del sistema non supporta "--use-compress-program" o "xz(1)" non viene trovato.

  • -k NUM, --max-cores=NUM
    Raccoglie fino a "NUM" file core da ciascun componente. Impostazione predefinita: tutti i file principali, implica "--collect-cores"

  • -l, --light
    Generare un fascio di luci. Viene raccolta solo l'ultima generazione di file di registro numerati e gli eseguibili o le librerie dei componenti non vengono inclusi durante la raccolta dei core. L'utilizzo di questa opzione riduce la supportabilità e il suo utilizzo è sconsigliato.

  • -m NUM, --max-traces=NUM
    Raccoglie fino a "NUM" file di traccia PowerFlex da ciascun componente. Impostazione predefinita: tutti i file

  • -N, --skip-space-check
    Ignorare la verifica dello spazio libero su disco prima della data collection.

  • -P PATH, --collect-path=PATH
    Raccogliere il percorso aggiuntivo "PATH". Sono accettati solo percorsi assoluti. Accetta caratteri jolly; I caratteri jolly devono essere racchiusi tra virgolette. Questa opzione può essere specificata più volte per raccogliere più percorsi.

  • -q, --quiet, --silent
    Soppressione dei messaggi sull'output standard.

  • -r, --mdm-repository
    Raccogliere i file del repository MDM.

  • -s, --skip-sdbg
    Ignorare la raccolta dell'output SDBG (debugger di diagnostica).

  • -S, --pause-core-generation
    Sospensione della generazione core dei componenti PowerFlex durante la data collection. La configurazione originale viene ripristinata al termine della raccolta.

  • -w WORK_DIR, --work-dir=WORK_DIR
    Utilizzare la directory "WORK_DIR" per i file temporanei. Impostazione predefinita: /tmp.

  • -x FILE, --output-file=FILE
    Conservare il pacchetto raccolto come file denominato "FILE". Il suffisso appropriato del nome file (".tgz", ".zip" e così via) viene aggiunto automaticamente. Se "FILE" è "-"(trattino), scrive il pacchetto nell'output standard (implica "--quiet"). Quando un pacchetto viene scritto nell'output standard, non viene creato alcun file di pacchetto sul disco. Impostazione predefinita: getInfoDump.

  • -z, --zip
    Utilizzare il formato "zip" per il pacchetto raccolto anziché il formato predefinito "tar/gz". Ignorato se "zip(1)" non viene trovato nel sistema.

  • --mdm-port=PORT
    Connettersi a MDM utilizzando la porta "PORT" per i comandi SCLI. Impostazione predefinita: comportamento predefinito scli.

  • --overwrite-output-file
    Sovrascrivere il file di output, se già esistente. Quando un file o una directory di output viene specificato in modo esplicito (usando "-x" o "-d"), il comportamento predefinito è quello di rifiutare la sovrascrittura; Questa opzione ha la precedenza su questo.

  • --tech
    Includere le opzioni del tecnico nell'output del messaggio della guida.

Opzioni di accesso a MDM

Le seguenti opzioni vengono passate al comando "--login" della SCLI. Il loro comportamento e i valori predefiniti sono regolati da SCLI.

  • -n, --use-nonsecure-communication
    Connettersi a MDM in modalità non protetta.

  • -p PASSWORD, --password=PASSWORD
    Utilizzare "PASSWORD" per accedere a PowerFlex MDM. Impostazione predefinita: comportamento predefinito della SCLI

  • -u USERNAME, --username=USERNAME
    Utilizzare "USERNAME" per accedere a PowerFlex MDM. Impostazione predefinita: comportamento predefinito della SCLI

  • --ldap-authentication
    Accedere a PowerFlex MDM utilizzando l'autenticazione basata su LDAP.

  • --management-system-ip=ADDRESS
    Connettersi a "SSO/M&O" in "ADDRESS" per accedere a PowerFlex. Impostazione predefinita: comportamento predefinito della SCLI

  • --p12-password=PASSWORD
    Crittografare il file di accesso a PowerFlex "PKCS#12" utilizzando "PASSWORD". Impostazione predefinita: comportamento predefinito della SCLI

  • --p12-path=FILE
    Memorizzare il file di accesso a PowerFlex "PKCS#12" come "FILE". Impostazione predefinita: comportamento predefinito della SCLI

Opzioni per il tecnico

Le seguenti opzioni sono destinate all'utilizzo da parte dei tecnici del supporto e vengono visualizzate nel messaggio di aiuto solo quando è specificato "--tech".

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]
    Generare i file core (usando "gcore(1)") per i processi in esecuzione dell'elenco separato da spazi di "COMPONENTS" dell'utente. Impostazione predefinita: tutti i componenti user-land implicano "--collect-executables" e richiedono "gdb" e "gcore".

    Nota: Non devono esserci spazi tra "-c" e "COMPONENTS". Per la forma estesa, separare con "=".

    Esempi:

    -c'mdm sds'
    --generate-cores='mdm sds'
  • -C CORE_FILE, --reference-core-file=CORE_FILE
    Raccogliere i registri e i core del prodotto relativi all'ora dell'ultima modifica ("mtime") di "CORE_FILE", anziché all'ora di inizio dell'esecuzione. Implica "--collect-cores"

  • -E REF_TIME, --event-time=REF_TIME
    Raccogliere i registri e i core del prodotto in relazione a "REF_TIME", anziché all'ora di inizio dell'esecuzione. Accetta qualsiasi formato compreso da "date(1)". Implica "--collect-cores".

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]
    Raccogliere i core dump "valgrind" per i "COMPONENTS" specificati nell'area dell'utente. Impostazione predefinita: tutti i componenti dell'area utente. Implica "--collect-executables".

     

    Nota: Non deve esserci spazio tra "-b" e "COMPONENTS". Per la forma estesa, separare con "="

    Esempi:

    -g'mdm sds'
    --valgrind-cores='mdm sds'
  • -t MIN, --minutes-before-event=MIN
    Raccogliere i registri e i core dei prodotti generati fino a "MIN" minuti prima dell'ora di riferimento. Impostazione predefinita: 15

  • -T MIN, --minutes-after-event=MIN
    Raccogliere i log e i core dei prodotti generati fino a "MIN" minuti dopo l'ora di riferimento. Impostazione predefinita: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]
    Raccogliere gli eseguibili dei componenti e le relative librerie condivise per i "COMPONENTS" specificati nell'area dell'utente. Impostazione predefinita: tutti i componenti dell'area utente

    Nota: Non deve esserci spazio tra "-b" e "COMPONENTS". Per la forma estesa, separare con "="

    Esempi:

    -X'mdm sds'
    --collect-executables='mdm sds'
  • --keep-work-dir
    Conservare la directory di lavoro temporanea generata dopo la creazione del pacchetto (pulita automaticamente).

STRUTTURA DEL FASCIO

Il bundle di output è un singolo archivio compresso.

  • La directory di primo livello del pacchetto è il nome host del sistema raccolto.
  • Gli output generali del comando host vanno in una sottodirectory "server/".
    Il nome del file è "<comando> + <argomenti> + suffisso (.txt per impostazione predefinita). " Spazi sostituiti con "_", caratteri non alfanumerici eliminati
    Esempio: server/ip_-s_addr.txt - output di "ip -s addr"
  • Gli output dei comandi del prodotto vanno nella sottodirectory del componente. "mdm/" per "scli", "sdc/" per "drv_cfg" e così via.
    Il nome del comando ("scli", "drv_cfg" e così via) viene rimosso. Il primo argomento significativo diventa il nome del file. Per impostazione predefinita, ai file viene assegnato il suffisso ".txt" pertinente.
    Esempi:
    • mdm/query_cluster.txt - output di "scli --query_cluster"
    • mdm/tgt_dump.txt - output di "scli --debug_action --tgt_dump"
    • sdc/query_mdms.txt - output di "drv_cfg --query_mdms"
    • sds/sdbg.txt - output di SDBG "dumpallscreens" per SDS
  • File dei componenti del prodotto (in contrapposizione agli output dei comandi), "<component>/cfg", "<component>/logs" e così via
    Copiati dalla directory del componente con il prefisso rimosso.
    Esempi:
    • mdm/cfg/conf.txt - copia di "/opt/emc/scaleio/mdm/cfg/conf.txt"
    • sds/logs/trc.0 - copia di "/opt/emc/scaleio/sds/logs/trc.0"
  • I file del file system host vengono posizionati nel percorso del file system relativo alla root del pacchetto.
    Esempi:
    • etc/os-release - copia di "/etc/os-release"
    • var/log/messages - copia di "/var/log/messages"
    • proc/cpuinfo - copia di "/proc/cpuinfo"
  • I file del raccoglitore di diagnostica (diag_coll) vengono copiati con il prefisso "/opt" rimosso, mantenendo la struttura interna.
    Esempio: diag_coll/logs/sar.0 - copia di "/opt/diag_coll/logs/sar.0"
  • I file nascosti (con prefisso punto) vengono "nascosti" rimuovendo il punto iniziale.
  • Registro di esecuzione dell'utilità, get_info_run.log, posizionato direttamente sotto il <nome> host/root

Struttura ad albero delle directory del pacchetto:

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

FILTRO DEI FILE CORE E DEI REGISTRI DI PRODOTTO

Le opzioni descritte in questa sezione controllano il modo in cui i file di registro del prodotto (denominati anche file di traccia, ad esempio "trc.0", "trc.1", "exp.0") e i core dump file vengono selezionati per l'inclusione nel pacchetto raccolto. Lo fanno definendo un tempo di riferimento, una finestra temporale intorno ad esso e i limiti di conteggio.

Quando non vengono specificate opzioni di filtro, vengono raccolti tutti i file di registro del prodotto e (se la raccolta core è abilitata) tutti i core dump file. Le opzioni di filtraggio restringono progressivamente questa selezione come descritto di seguito.

Ora di
riferimentoÈ possibile impostare un'ora di riferimento utilizzando "-E/--event-time" o "-C/--reference-core-file".

Se non viene specificato né "--event-time" né "--reference-core-file", non viene eseguito alcun filtro della finestra temporale: l'ora di riferimento predefinita è l'ora corrente e viene utilizzata solo per l'ordinamento basato sulla prossimità quando è attivo un limite di conteggio ("-m" o "-k") (vedere Limiti di conteggio di seguito).

Se vengono visualizzati sia "-E" sia "-C", ha effetto l'ultimo elemento sulla riga di comando.

Finestra
temporaleQuando viene impostata un'ora di riferimento (utilizzando "--event-time" o "--reference-core-file"), viene stabilita una finestra temporale intorno ad essa. L'ambito della finestra temporale può essere impostato utilizzando "-t/--minuti-prima-dell'evento" e o "-T/--minuti-dopo-evento", che per impostazione predefinita sono rispettivamente 15 e 5 minuti. Solo i file il cui contenuto si sovrappone a questa finestra sono idonei per la raccolta.

Ad esempio, "-E "2020-03-20 14:30" -t 10 -T 3" raccoglie i file che coprono il periodo da 14:20:00 a 14:33:00.

"--minutes-before-event" e "--minutes-after-event" vengono ignorati quando non è specificato né "--event-time" né "--reference-core-file".

Limiti
di conteggioÈ possibile impostare un limite di conteggio dei file utilizzando "-m/--max-traces" e "-k/--max-cores" rispettivamente per i file di registro e i file core. Il limite viene misurato per componente.

Quando un numero maggiore di file NUM rientra nella finestra temporale (o è disponibile, se non è attiva alcuna finestra), vengono raccolti i file NUM più vicini all'ora di riferimento.

Quando si utilizza un limite di conteggio senza "--event-time" o "--reference-core-file", tutti i file sono candidati (nessuna finestra temporale) e vengono selezionati i file NUM più recenti.

Logica
di filtraggioIl filtraggio dei file si applica prima alla finestra temporale, quindi al limite di conteggio:

  1. Stabilisci i candidati. Vengono enumerati tutti i file registro del prodotto e/o i core dump file per un componente.
  2. Ricavare il periodo del contenuto. Il contenuto dei file di registro del prodotto rappresenta un punto. Si considera che il periodo di contenuto inizi all'ora dell'ultima modifica del suo predecessore ("mtime") o all'epoca UNIX, quando non esiste alcun predecessore; termina in corrispondenza del "mtime" del file. I core dump file rappresentano un point-in-time, in corrispondenza dell'"mtime" del file.
  3. Applicare la finestra temporale (se è specificato "-E" o "-C"). I file il cui contenuto si trova interamente al di fuori della finestra vengono eliminati dalla selezione. Per i file di registro del prodotto, se nessun file è presente nella finestra, viene conservato il singolo file più vicino alla finestra in modo che il pacchetto non sia mai vuoto per un componente. Per i core dump file, non si applica alcun fallback di questo tipo.
  4. Applicare il limite di conteggio (se sono specificati "-m" e/o "-k"). Tra i file rimanenti vengono selezionati al massimo "NUM", preferendo quelli più vicini all'ora di riferimento. I file precedenti e successivi all'ora di riferimento competono equamente per la selezione.

AUTENTICAZIONE

L'utilità tenta di accedere all MDM locale se viene rilevato un processo MDM primario in ascolto sulla porta prevista (impostazione predefinita: 6611)

Le opzioni di accesso MDM vengono passate al comando SCLI "--login" e vengono elaborate da quest'ultimo.

Se l'accesso non riesce, l'utilità viene terminata con un errore.

Quando l'accesso viene ignorato, vengono comunque tentati i comandi SCLI (per supportare scenari in cui l'utente ha effettuato l'accesso manualmente in precedenza). Dopo tre errori SCLI, viene visualizzato un avviso e tutti gli altri comandi SCLI vengono ignorati.

L'accesso viene ignorato quando:

  • Nessun processo MDM primario trovato sull host locale.
  • L'opzione "--skip-mdm-login" è specificata.

L'accesso ha esito negativo quando:

  • Il proprietario del processo MDM non è nell'elenco degli utenti autorizzati (impostazione predefinita: "root") ed è abilitato l'accesso protetto.
  • Il comando SCLI "--login" restituisce un errore (ad esempio, credenziali errate).

SPAZIO SU DISCO

I requisiti di spazio su disco per i file temporanei e il pacchetto risultante possono variare notevolmente.

L'utilità tenta di ridurre al minimo l'utilizzo temporaneo dello spazio; È limitato agli output dei comandi e alle copie dei file Virtual File System ("/proc" e "/sys") raccolti.

Il pacchetto può essere trasmesso in streaming da un host remoto con "--output-file=-" per ridurre al minimo l'utilizzo dello spazio su disco sull host PowerFlex. Il file del bundle viene scritto direttamente nell'output standard ("stdout") durante lo streaming; Non viene creato su disco.

L'utilità stima lo spazio su disco richiesto sia per la directory di lavoro temporanea che per il bundle di output prima di raccogliere i dati.

Se lo spazio richiesto stimato supera lo spazio disponibile sui file system pertinenti, l'utilità viene terminata con un errore. Questo controllo può essere ignorato con "--skip-space-check".

La directory di lavoro e la directory di output possono risiedere su file system diversi; Ognuno di essi viene controllato in modo indipendente.

I requisiti di spazio stimati vengono scritti nel file di registro dell'utilità, "get_info_run.log".

STATO DI USCITA

0 Completamento riuscito
1 Errore (argomenti non validi, spazio insufficiente, errore di accesso, un'altra istanza già in esecuzione, errore di generazione del pacchetto, segnale catturato e così via)

FILE

<WORK_DIR>/get_info_run.log Registro di esecuzione (incluso anche nel pacchetto)
<WORK_DIR>/scaleio-getinfo-tmp/ Directory di lavoro temporanea (pulita in caso di esito positivo)
/tmp/scaleio-getinfo/getInfoDump.tgz Posizione predefinita del bundle di output
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/
Directory aggiuntive opzionali dei dati di diagnostica
/tmp/scaleio-getinfo-backup/ Backup temporanei dei file di configurazione modificati (creati automaticamente)
/opt/emc/scaleio/ Directory di installazione di PowerFlex

AMBIENTE

Prerequisiti

  • L'utilità deve essere eseguita come "root" (o come utente con privilegi sufficienti per leggere i file dei componenti, eseguire comandi di diagnostica e accedere a "/proc", "/sys" e così via).
  • Utenze standard: tar, gzip, stat, find, awk, sed, getopt(1) (migliorato), nice.
  • Opzionale: zip (per "--zip"), xz (per "--xz"), gdb/gcore (per "--generate-cores")

Simultaneità
È possibile eseguire una sola istanza di "get_info.sh" alla volta. L'utilità verifica la presenza di un'istanza in esecuzione esistente usando "pidof(1)" e termina se viene trovata un'istanza.

Gestione del
segnaleL'utilità intercetta i segnali "INT", "EXIT" e "TERM" durante la raccolta dei dati. Alla ricezione di un segnale:

  1. Ripristina tutti i file di configurazione sottoposti a backup (ad esempio, le impostazioni di generazione dei core).
  2. Pulisce le directory temporanee
  3. Uscite con stato 1

Il registro di esecuzione viene conservato e il relativo percorso viene stampato con l'errore standard.

Esempi
Raccolta di un pacchetto di supporto standard:

get_info.sh

Trasmettere un pacchetto tramite una connessione SSH, senza creare un file bundle sull host PowerFlex remoto:

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

Utilizzare una directory di lavoro diversa per evitare di riempire "/tmp":

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

Includere percorsi personalizzati nel pacchetto:

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

Raccogliere il core dump più recente solo per i componenti SDS e MDM:

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

Raccogli i dati incentrati sull'ora di modifica di un file core, con una finestra temporale personalizzata:

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

 

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000455324
Article Type: How To
Last Modified: 15 Sept 2026
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.