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

Resumen: get_info.sh: recopile información de diagnóstico de un host de PowerFlex y empáquela en un paquete de soporte

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Instrucciones

get_info.sh[OPCIONES]

DESCRIPCIÓN

get_info.sh es una utilidad de diagnóstico que recopila información de depuración de un host de PowerFlex (anteriormente ScaleIO) 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:

  • Archivos de seguimiento, configuración y registros de componentes de PowerFlex
  • Salidas de consultas de MDM/SCLI y volcados de depuración internos
  • 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 negará a ejecutarse (a menos que la comprobación de espacio se omita explícitamente).

OPCIONES

Opciones generales

  • -a, --todos

    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[COMPONENTES], --collect-cores[=COMPONENTES]

    Recopile los volcados principales existentes para la lista separada por espacios de los COMPONENTES del entorno de usuario. Valor predeterminado (cuando se omite COMPONENTS): todos los componentes del espacio de usuario.

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

     

    Ejemplos:

    -b'mdm sds'
    --collect-cores='mdm sds'
    
    
  • -dOUT_DIR, --dir-salida=OUT_DIR 

    Almacene el paquete resultante en el OUT_DIR de directorio. 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

    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.

  • -k NUM,--max-cores=NUM

    Recopile hasta archivos NUM principales de cada componente. Valor predeterminado: todos los archivos principales. Implica --collect-cores.

  • -l, --luz

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

  • -m NUM,--max-traces=NUM

    Recopile hasta archivos de seguimiento NUM 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.

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

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

  • -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: getInfoDump.

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

  • --mdm-port=PUERTO

    Conéctese al MDM mediante el puerto PORT para los comandos de SCLI. Valor predeterminado: comportamiento predeterminado de la scli.

  • --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 de inicio de sesión de MDM

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

  • -n, --use-comunicación-no-segura

    Conéctese al MDM en modo no seguro.

  • -p CONTRASEÑA,--contraseña=CONTRASEÑA

    Utilice PASSWORD para iniciar sesión en MDM de PowerFlex. Predeterminado: Comportamiento predeterminado de la SCLI.

  • -u NOMBRE DE USUARIO,--nombre de usuario=NOMBRE DE USUARIO

    Utilice el NOMBRE DE USUARIO para iniciar sesión en MDM de PowerFlex. Valor predeterminado: comportamiento predeterminado de la scli.

  • --ldap-autenticación

    Inicie sesión en la MDM de PowerFlex mediante la autenticación basada en LDAP.

  • --management-system-ip=DIRECCIÓN

    Conéctese a SSO/M&O en la DIRECCIÓN para iniciar sesión en PowerFlex. Valor predeterminado: comportamiento predeterminado de la scli.

  • --p12-password=CONTRASEÑA

    Cifre el archivo PKCS#12 de inicio de sesión de PowerFlex con PASSWORD. Valor predeterminado: comportamiento predeterminado de la scli.

  • --p12-ruta=ARCHIVO

    Almacene el archivo PKCS#12 de inicio de sesión de PowerFlex como FILE. Valor predeterminado: comportamiento predeterminado de la scli.

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.

-c[COMPONENTES], --generate-cores[=COMPONENTES]

Genere archivos principales (a través de 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 del área de usuario. Implica --collect-ejecutables. Requiere gdb y gcore.

Nota: no debe haber espacio entre -c y COMPONENTES. Para la forma larga, sepárela con =

Ejemplos:

-c'mdm sds'
--generate-cores='mdm sds'

  • -C CORE_FILE, --fichero-core-referencia=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 los registros y núcleos de productos en relación con REF_TIME, en lugar de la hora de inicio de la ejecución. Acepta cualquier formato que entienda date(1). Implica --collect-cores.

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

Recopile volcados de núcleo de Valgrind para los COMPONENTES del terreno de usuario especificados. Valor predeterminado: todos los componentes del área de usuario. Implica --collect-ejecutables.

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

Ejemplos:

-g'mdm sds'
--valgrind-cores='mdm sds'

  • -tMIN, --minutos-antes-de-evento=MIN 

    Recopile los registros y núcleos de productos generados hasta un mínimo de minutos antes de la hora de referencia. Predeterminado: 15.

  • -TMIN, --minutos-después-de-evento=MIN 

    Recopile los registros y núcleos de productos generados hasta un mínimo de minutos después de la hora de referencia. Predeterminado: 5.

  • -X[COMPONENTES],--collect-ejecutables[=COMPONENTES]

    Recopile los ejecutables de los componentes y sus bibliotecas compartidas para los COMPONENTES del área de usuario especificados. Valor predeterminado: todos los componentes del área de usuario.

    Nota: no debe haber espacio entre -b y COMPONENTES. 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 (normalmente 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 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 – salida de ip -s addr
  • Las salidas de comandos del producto van al subdirectorio del componente. mdm/ para sclisdc/ para drv_cfg, etc.
    Nombre del comando (sclidrv_cfg, etc.) se despoja. El primer argumento significativo se convierte en el nombre de archivo. A los archivos se les asigna el sufijo correspondiente, .txt De forma 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 copia del directorio del componente con el prefijo eliminado.
    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 /opt prefijo pelado, conservando 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 los archivos de registro de productos (también llamados archivos de seguimiento, p. ej. trc.0trc.1exp.0) y los archivos de volcado de memoria se seleccionan 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 referencia

Se puede establecer una hora de referencia utilizando cualquiera de las siguientes opciones: -E/--event-time o -C/--reference-core-file.

Si ninguno de los dos --event-time ni tampoco --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 utiliza solo para el orden basado en la proximidad cuando un límite de recuento (-m o -k) está en vigor (consulte Límites de conteo a continuación).

Si ambos -E y -C aparecer, el último en la línea de comandos surte efecto.

Ventana de tiempo

Cuando 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 y/o -T/--minutes-after-event, que se configuran de manera predeterminada en 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 ninguno de los dos --event-time ni tampoco --reference-core-file se especifica.

Límites de conteo

Se puede establecer un límite de conteo de archivos mediante lo siguiente: -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 filtrado

El filtrado de archivos aplica primero la ventana de tiempo y, a continuación, el 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; Finaliza 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 -E o -C especificado). 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 -m y/o -k especificado). 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 del MDM principal que escucha en el puerto esperado (predeterminado: 6611).

Las opciones de inicio de sesión de MDM se transfieren a la SCLI --login y son procesados por él.

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 3 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: root) y el inicio de sesión seguro está habilitado.
  • La SCLI --login devuelve un error (p. ej., 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 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, 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, 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 incluido 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

ENTORNO

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: targzipstatfindawksedgetopt(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 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 (p. ej., ajustes de generación de núcleos).
  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

Use un directorio de trabajo diferente para evitar llenarlo /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  

Productos afectados

PowerFlex rack, ScaleIO
Propiedades del artículo
Número del artículo: 000455324
Tipo de artículo: How To
Última modificación: 21 abr 2026
Versión:  1
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.