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

Résumé: El "get_info.sh" recolecta información de diagnóstico de un host de PowerFlex y crea un paquete de soporte comprimido.

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

DESCRIPCIÓN

"get_info.sh" es una utilidad de diagnóstico que recopila información de depuración desde un host de PowerFlex (anteriormente ScaleIO). Archiva los datos recopilados en un paquete comprimido para que lo analice el personal de soporte.

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

  • Archivos de seguimiento, configuración y registros de componentes de PowerFlex
  • Salidas de consultas de MDM/SCLI y volcado de depuración interno
  • Diagnósticos internos de componentes de PowerFlex
  • Configuración del sistema operativo, registros y estado de tiempo de ejecución
  • Inventario de hardware (controladoras de almacenamiento, dispositivos de red, NVMe, NVDIMM, etc.)
  • Volcados de núcleo (existentes y generados opcionalmente según demanda)
  • Estadísticas del recopilador de datos de diagnóstico ("diag_coll")

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 "get_info.sh" en un host en un momento determinado. Si no hay suficiente espacio libre para su salida, se niega a ejecutarse (a menos que la comprobación de espacio se omita explícitamente).

OPTIONS

Opciones generales

  • -a, --all
    Recolecte todos los datos. Esto equivale a especificar "--mdm-repository", "--collect-cores", "--max-cores=2", "--valgrind-cores" y "--analyse-diag-coll".

  • -A, --analyse-diag-coll
    Analizar los datos del recopilador de datos de diagnóstico ("diag coll")

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]
    Recopile los volcados de núcleo existentes para la lista separada por espacios de los "COMPONENTES" del espacio de usuario. Valor predeterminado (cuando se omite "COMPONENTS"): todos los componentes en las áreas de usuario

    Nota: No debe haber espacio entre "-b" y "COMPONENTS". Para la forma larga, sepárela con =

    Ejemplo

    -b'mdm sds'
    --collect-cores='mdm sds'
  • -d OUT_DIR, --output-dir=OUT_DIR
    Almacene el paquete resultante en el directorio "OUT_DIR. " Valor predeterminado: "<WORK_DIR>/scaleio-getinfo" (consulte "--work-dir").

  • -f, --skip-mdm-login
    Omita la consulta de las credenciales de inicio de sesión MDM de PowerFlex. Es útil cuando el usuario ya inició sesión manualmente.

  • -h, --help
    Mostrar este mensaje de ayuda y salir. 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 valor predeterminado "tar/gz". Se ignora si "tar(1)" del sistema no soporta "--use-compress-program" o "xz(1)" no se encuentra.

  • -k NUM, --max-cores=NUM
    Recopile hasta "NUM" archivos principales de cada componente. Valor predeterminado: todos los archivos principales, implica "--collect-cores"

  • -l, --light
    Genere un paquete de luces. Solo se recolecta la generación más reciente de archivos de registro numerados y los archivos ejecutables o bibliotecas de componentes no se incluyen cuando se recolectan núcleos. El uso de esta opción reduce la capacidad de soporte y no se recomienda su uso.

  • -m NUM, --max-traces=NUM
    Recopile hasta "NUM" archivos de seguimiento de PowerFlex de cada componente. Valor predeterminado: todos los archivos

  • -N, --skip-space-check
    Omita la verificación del espacio libre en disco antes de la recolección de datos.

  • -P PATH, --collect-path=PATH
    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.

  • -r, --mdm-repository
    Recopile archivos de repositorio de MDM.

  • -s, --skip-sdbg
    Omite la recopilación de la salida de SDBG (depurador de diagnóstico).

  • -S, --pause-core-generation
    Ponga en pausa la generación de núcleos de los componentes de PowerFlex durante la recolección de datos. La configuración original se restaura después de que se completa la recopilación.

  • -w WORK_DIR, --work-dir=WORK_DIR
    Utilice el directorio "WORK_DIR" para los archivos temporales. Valor predeterminado: /tmp.

  • -x FILE, --output-file=FILE
    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 se escribe un paquete en la salida estándar, no se crea ningún archivo de paquete en el disco. Valor predeterminado: getInfoDump.

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

  • --mdm-port=PORT
    Conéctese al MDM mediante el puerto "PORT" para los comandos de SCLI. Valor predeterminado: comportamiento predeterminado de la scli.

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

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

Opciones de inicio de sesión de MDM

Las siguientes opciones se transfieren al comando "--login" de la SCLI. Su comportamiento y valores predeterminados se rigen por la SCLI.

  • -n, --use-nonsecure-communication
    Conéctese al MDM en modo no seguro.

  • -p PASSWORD, --password=PASSWORD
    Utilice "PASSWORD" para iniciar sesión en el MDM de PowerFlex. Valor predeterminado: comportamiento predeterminado de la SCLI

  • -u USERNAME, --username=USERNAME
    Utilice "USERNAME" para iniciar sesión en MDM de PowerFlex. Valor predeterminado: comportamiento predeterminado de la SCLI

  • --ldap-authentication
    Inicie sesión en la MDM de PowerFlex mediante la autenticación basada en LDAP.

  • --management-system-ip=ADDRESS
    Conéctese a "SSO/M&O" en "ADDRESS" para iniciar sesión en PowerFlex. Valor predeterminado: comportamiento predeterminado de la SCLI

  • --p12-password=PASSWORD
    Cifre el archivo "PKCS#12" de inicio de sesión de PowerFlex con "PASSWORD". Valor predeterminado: comportamiento predeterminado de la SCLI

  • --p12-path=FILE
    Guarde el archivo de inicio de sesión de PowerFlex "PKCS#12" como "FILE". Valor predeterminado: comportamiento predeterminado de la SCLI

Opciones del técnico

Las siguientes opciones están destinadas al uso por parte de técnicos de soporte y se muestran en el mensaje de ayuda solo cuando se especifica "--tech".

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]
    Genere archivos principales (usando "gcore(1)") para la ejecución de los procesos de la lista separada por espacios de los "COMPONENTES" del espacio de usuario. Valor predeterminado: todos los componentes de usuario, implican "--collect-executables" y requieren "gdb" y "gcore".

    Nota: No debe haber ningún espacio entre "-c" y "COMPONENTS". Para la forma larga, sepárela con "=".

    Ejemplos:

    -c'mdm sds'
    --generate-cores='mdm sds'
  • -C CORE_FILE, --reference-core-file=CORE_FILE
    Recopile los registros y núcleos de productos relativos a la hora de la última modificación ("mtime") de "CORE_FILE", en lugar de la hora de inicio de la ejecución. Implica "--collect-cores"

  • -E REF_TIME, --event-time=REF_TIME
    Recopile registros y núcleos de productos relativos a "REF_TIME", en lugar de la hora de inicio de la ejecución. Acepta cualquier formato entendido por "fecha(1)". Implica "--collect-cores".

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]
    Recopile volcados de núcleo "valgrind" para los "COMPONENTES" del área de usuario especificada. Valor predeterminado: todos los componentes del área de usuario. Implica "--collect-ejecutables".

     

    Nota: No debe haber espacio entre "-b" y "COMPONENTS". Para la forma larga, sepárela con "="

    Ejemplos:

    -g'mdm sds'
    --valgrind-cores='mdm sds'
  • -t MIN, --minutes-before-event=MIN
    Recopile los registros y núcleos de productos generados hasta "MIN" minutos antes de la hora de referencia. Valor predeterminado: 15

  • -T MIN, --minutes-after-event=MIN
    Recopile los registros y núcleos de productos generados hasta "MIN" minutos después de la hora de referencia. Valor predeterminado: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]
    Recopile los ejecutables de los componentes y sus bibliotecas compartidas para los "COMPONENTES" del área de usuario especificada. Valor predeterminado: todos los componentes del terreno del usuario

    Nota: No debe haber espacio entre "-b" y "COMPONENTS". Para la forma larga, sepárela con "="

    Ejemplos:

    -X'mdm sds'
    --collect-executables='mdm sds'
  • --keep-work-dir
    Conserve el directorio de trabajo temporal generado después de la creación del paquete (se limpia automáticamente).

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 los comandos generales del host van a un subdirectorio "server/".
    El nombre del archivo es "<comando> + <argumentos> + sufijo (.txt de manera predeterminada). Los espacios se reemplazaron por "_", se eliminaron
    los caracteres no alfanuméricos Ejemplo: server/ip_-s_addr.txt - Salida de "ip -s addr"
  • Las salidas de comandos del producto van al subdirectorio del componente. "mdm/" para "scli", "sdc/" para "drv_cfg", etc.
    El nombre del comando ("scli", "drv_cfg", etc.) se elimina. El primer argumento significativo se convierte en el nombre de archivo. Los archivos se asignan como el sufijo correspondiente ".txt" de manera predeterminada.
    Ejemplos:
    • mdm/query_cluster.txt - salida de "scli --query_cluster"
    • mdm/tgt_dump.txt - salida de "scli --debug_action --tgt_dump"
    • sdc/query_mdms.txt - salida de "drv_cfg --query_mdms"
    • sds/sdbg.txt - Salida de SDBG "dumpallscreens" para SDS
  • Archivos de componentes del producto (a diferencia de las salidas de comandos), "<component>/cfg", "<component>/logs", etc.
    Se copian del directorio del componente sin el prefijo.
    Ejemplos:
    • mdm/cfg/conf.txt - Copia de "/opt/emc/scaleio/mdm/cfg/conf.txt"
    • sds/logs/trc.0 - Copia de "/opt/emc/scaleio/sds/logs/trc.0"
  • 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 - Copia de "/etc/os-release"
    • var/log/messages - Copia de "/var/log/messages"
    • proc/cpuinfo - Copia de "/proc/cpuinfo"
  • Los archivos del recopilador de diagnósticos (diag_coll) se copian con el prefijo "/opt" eliminado, lo que conserva la estructura interna.
    Ejemplo: diag_coll/logs/sar.0 - copia de "/opt/diag_coll/logs/sar.0"
  • Los archivos ocultos (con prefijo de punto) se "ocultan" mediante la eliminación del punto inicial.
  • Registro de ejecución de utilidades, get_info_run.log, colocado directamente bajo el nombre> de <host/raíz

Estructura de árbol del directorio del paquete:

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

FILTRADO DE ARCHIVOS PRINCIPALES Y REGISTRO DEL PRODUCTO

Las opciones descritas en esta sección controlan cómo se seleccionan los archivos de registro del producto (también denominados archivos de seguimiento, por ejemplo, "trc.0", "trc.1", "exp.0") y los archivos de volcado de memoria para su inclusión en el paquete recopilado. Para ello, definen un tiempo de referencia, una ventana de tiempo en torno a él y límites de conteo.

Cuando no se especifican opciones de filtrado, se recopilan todos los archivos de registro de productos y (si la recopilación de núcleos está habilitada) todos los archivos de volcado de memoria. Las opciones de filtrado reducen progresivamente esta selección, como se describe a continuación.

Tiempo
de referenciaSe puede establecer una hora de referencia mediante "-E/--event-time" o "-C/--reference-core-file".

Si no se da "--event-time" ni "--reference-core-file", no se realiza ningún filtrado de ventana de tiempo: la hora de referencia se configura de forma predeterminada en la hora actual y se usa solo para el orden basado en la proximidad cuando está vigente un límite de conteo ("-m" o "-k") (consulte Límites de conteo a continuación).

Si aparecen "-E" y "-C", se aplica el último elemento de la línea de comandos.

Ventana de
tiempoCuando se establece una hora de referencia (mediante "--event-time" o "--reference-core-file"), se establece una ventana de tiempo a su alrededor. El alcance de la ventana de tiempo se puede configurar mediante "-t/--minutes-before-event" o "-T/--minutes-after-event", que tienen un valor predeterminado de 15 y 5 minutos, respectivamente. Solo los archivos cuyo contenido se superpone con esta ventana son elegibles para la recopilación.

Por ejemplo, "-E "2020-03-20 14:30" -t 10 -T 3" recopila archivos que abarcan el período comprendido entre las 14:20:00 y las 14:33:00.

"--minutes-before-event" y "--minutes-after-event" se ignoran cuando no se especifican "--event-time" ni "--reference-core-file".

Límites de
conteoSe puede establecer un límite de conteo de archivos mediante "-m/--max-traces" y "-k/--max-cores" para los archivos de registro y los archivos principales, respectivamente. El límite se mide por componente.

Cuando hay más archivos NUM dentro de la ventana de tiempo (o están disponibles, si no hay ninguna ventana activa), se recopilan los archivos NUM más cercanos al tiempo de referencia.

Cuando se utiliza un límite de conteo sin "--event-time" o "--reference-core-file", todos los archivos son candidatos (sin ventana de tiempo) y se seleccionan los archivos NUM más recientes.

Lógica
de filtradoEl filtrado de archivos se aplica primero a la ventana de tiempo y, a continuación, al límite de conteo:

  1. Establecer candidatos. Se enumeran todos los archivos de registro de productos o los archivos de volcado de memoria de un componente.
  2. Derivar el contenido, punto. El contenido de los archivos de registro de productos representa un período. Se considera que el período de contenido comienza en la hora de la última modificación de su predecesor ("mtime"), o en la época de UNIX, cuando no existe ningún predecesor; Termina en el propio "mtime" del archivo. Los archivos de volcado de memoria representan un punto en el tiempo, en el "mtime" del archivo.
  3. Aplicar ventana de tiempo (si se especifica "-E" o "-C"). Los archivos cuyo contenido queda completamente fuera de la ventana se descartan de la selección. Para los archivos de registro de productos, si no hay ningún archivo dentro de la ventana, se conserva el archivo más cercano a la ventana, de modo que el paquete nunca esté vacío para un componente. Para los archivos de volcado principal, no se aplica tal reserva.
  4. Aplicar límite de conteo (si se especifican "-m" o "-k"). Entre los archivos restantes, como máximo se seleccionan "NUM", prefiriendo los más cercanos al tiempo de referencia. Los archivos anteriores y posteriores a la hora de referencia compiten por igual por la selección.

AUTENTICACIÓN

La utilidad intenta iniciar sesión en el MDM local si se detecta un proceso de MDM principal que escucha en el puerto esperado (valor predeterminado: 6611)

Las opciones de inicio de sesión de MDM se transfieren al comando "--login" de la SCLI y este las procesa.

Si el inicio de sesión falla, la utilidad finaliza con un error.

Cuando se omite el inicio de sesión, aún se intentan ejecutar comandos de SCLI (para admitir situaciones en las que el usuario inició sesión manualmente de antemano). Después de tres fallas de SCLI, se muestra una advertencia y se omiten todos los comandos adicionales de la SCLI.

El inicio de sesión se omite cuando:

  • No se encontró ningún proceso de MDM principal en el host local.
  • Se especifica la opción "--skip-mdm-login".

El inicio de sesión falla cuando:

  • El propietario del proceso de MDM no está en la lista de usuarios autorizados (valor predeterminado: "raíz") y el inicio de sesión seguro está habilitado.
  • El comando "--login" de la SCLI arroja un error (por ejemplo, credenciales incorrectas).

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 las salidas de comandos y las copias de los archivos recopilados del sistema de archivos virtual ("/proc" y "/sys").

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

La utilidad calcula el espacio en disco necesario tanto para el directorio de trabajo temporal como para el paquete de salida antes de recopilar datos.

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, "get_info_run.log".

ESTADO DE SALIDA

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

ARCHIVOS

<WORK_DIR>/get_info_run.log Registro de ejecución (también en el paquete)
<WORK_DIR>/scaleio-getinfo-tmp/ Directorio de trabajo temporal (limpiado cuando se realiza correctamente)
/tmp/scaleio-getinfo/getInfoDump.tgz Ubicación predeterminada del paquete de salida
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/
Directorios de datos de diagnóstico adicionales opcionales
/tmp/scaleio-getinfo-backup/ Respaldos temporales de archivos de configuración modificados (creados automáticamente)
/opt/emc/scaleio/ Directorio de instalación de PowerFlex

MEDIO AMBIENTE

Requisitos previos

  • La utilidad se debe ejecutar como "raíz" (o un usuario con privilegios suficientes para leer archivos de componentes, ejecutar comandos de diagnóstico y acceder a "/proc", "/sys", etc.).
  • Utilidades estándar: tar, gzip, stat, find, awk, sed, getopt(1) (mejorado), nice.
  • Opcional: zip (para "--zip"), xz (para "--xz"), gdb/gcore (para "--generate-cores")

Simultaneidad
Solo se puede ejecutar una instancia de "get_info.sh" a la vez. La utilidad comprueba si hay una instancia en ejecución existente mediante "pidof(1)" y finaliza si se encuentra una instancia.

Manejo de
señalesLa utilidad captura las señales "INT", "EXIT" y "TERM" durante la recolección de datos. Al recibir una señal, hace lo siguiente:

  1. Restaura los archivos de configuración respaldados (por ejemplo, los ajustes de generación del núcleo).
  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:

get_info.sh

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

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

Utilice un directorio de trabajo diferente para evitar llenar "/tmp":

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

Incluya rutas personalizadas en el paquete:

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

Recopile el volcado de memoria más reciente solo para los componentes de SDS y MDM:

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

Recopile datos centrados en torno a la hora de modificación de un archivo principal, con una ventana de tiempo personalizada:

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: 15 sept. 2026
Version:  4
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.