Mandato snap

Finalidad

Recopila información sobre la configuración del sistema.

Sintaxis

snap [-@] [ -a ][-z "product_name=prd_name,..." | "class=myclass,.." | ALL] [-M Tiempo de espera][ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -D ] [ -f ] [ -F] [ -g ] [ -G ] [ -i ] [ -k ] [ -l ] [ -L ][ -n ] [ -N ] [ -p ] [ -r ] [ -R ] [ -s ] [ -S ] [ -t ] [ -T Nombre de archivo ][-u user1,....] [ -w ] [ -X ] [ -Y ][ -o OutputDevice ] [ -d Dir ] [ -v Component ] [ ' -O FileSplitSize ] [ -P Files ] [ script1 script2... | All | file:filepath ][-U]

snap -e [ -m Lista de nodos ] [-d Dir ]

snap -z ADD ["product_name=prod_name" "class=myclass" "/tmp/myprod_myscript -a"]

snap -z DELETE ["nombre_producto = nombre_producto" ]

Descripción

El mandato snap recopila información de configuración del sistema y comprime la información en un archivo pax . El archivo puede entonces grabarse en un dispositivo tal como cinta o DVD, o transmitirse a un sistema remoto. La información recopilada con el mandato snap puede ser necesaria para identificar y resolver problemas del sistema.
Nota: Se necesita autorización de usuario root para ejecutar el mandato snap . Utilice el comando snap -o /dev/cd0 para copiar la imagen comprimida en un DVD. Utilice el comando snap -o /dev/rmt0 para copiar la imagen a cinta.

Utilice el comando snap -o /dev/rfd0 para copiar la imagen comprimida en un disquete. Utilice el comando snap -o /dev/rmt0 para copiar la imagen a cinta.

Se necesitan 8 MB de espacio de disco temporal, como mínimo, para recopilar toda la información del sistema, incluido el contenido del registro cronológico de errores. Si no se recopila toda la información del sistema con el comando snap -a, es posible que se necesite menos espacio en disco (dependiendo de las opciones seleccionadas).
Nota: Si tiene intención de utilizar una cinta para enviar una imagen snap a IBM® para soporte de software, la cinta debe tener uno de los siguientes formatos:
  • 8 mm, 2.3 GB de capacidad
  • 8 mm, 5.0 GB de capacidad
  • 4 mm, 4.0 GB de capacidad

El uso de otros formatos impide o retrasa que el soporte de software de IBM pueda examinar el contenido.

El comando snap -g recoge información general del sistema, incluyendo la siguiente:

  • Informe de error
  • Copia de la base de datos de Object Data Manager (ODM) personalizada
  • Archivo de rastreo
  • Entorno de usuario
  • Cantidad de memoria física y espacio de paginación
  • Información de dispositivo y atributo
  • Información de usuario de seguridad
  • Información de parámetros de configuración y ajuste del sistema

La salida del comando snap -g se escribe en el archivo /tmp/ibmsupt/general/general.snap.

El mandato snap comprueba el espacio disponible en el directorio /tmp/ibmsupt , el directorio predeterminado para la salida del mandato snap . Puede escribir la salida en otro directorio utilizando el distintivo -d . Si no hay espacio suficiente para contener la salida del mandato snap , debe expandir el sistema de archivos.

Cada ejecución del mandato snap añade información a los archivos creados anteriormente. Utilice el distintivo -r para eliminar la información recopilada y guardada anteriormente.

Distintivos

Elemento Descripción
-@ Recopila la información de partición de carga de trabajo.
-a Recopila toda la información de configuración del sistema excepto los datos específicos de HACMP . Para recopilar datos específicos HACMP, ejecute la opción snap -e.

La recopilación de scripts de datos de depuración registrados para productos externos se ejecuta y sus datos también se incluyen como parte de la configuración del sistema y se pueden limitar para productos seleccionados especificando sus nombres con el distintivo -z .

La opción -a requiere al menos 8 MB de espacio de disco temporal.

-A Recopila información asíncrona (TTY).
-b Recopila información de SSA.
-B Omite la recopilación de volcados de adaptador SSA. El distintivo -B sólo funciona cuando también se especifica el distintivo -b ; de lo contrario, se ignora el distintivo -B .
-c Crea una imagen comprimida ' pax (archivosnap.pax.Z ) de los subdirectorios componentes conocidos de ' snap ' en el árbol de directorios ' /tmp/ibmsupt o cualquier otro directorio definido por el usuario que se especifique con la bandera ' -d.
Nota: La información que no se recopila con esta opción debe copiarse en el árbol de directorios snap antes de utilizar el distintivo -c . Si es necesario un caso de prueba para demostrar el problema del sistema, copie el caso de prueba en el directorio /tmp/ibmsupt/testcase antes de comprimir el archivo pax . Los directorios definidos por el usuario deben guardarse en el directorio /tmp/ibmsupt/other para que el mandato snap los comprima.
-C Recupera todos los archivos del directorio fwdump_dir. Los archivos se colocan en el subdirectorio "general". La opción snap -C se comporta igual que -P*.
-d Recopila información de volcado y /unix . Se utiliza el dispositivo de vuelco primario.
Nota:
  1. Si se utilizó bosboot -k para especificar que el kernel en ejecución no era /unix, se obtiene el kernel incorrecto. Asegúrese de que/unix esté, o esté enlazado con, el kernel en uso cuando se realizó el volcado.
  2. Si el archivo de volcado se copia en la máquina host, el mandato snap no recopila la imagen de volcado en el directorio /tmp/ibmsupt/dump . En su lugar, crea un enlace en el directorio de volcado a la imagen de volcado real.
-d AbsolutePath Identifica el directorio de salida del mandato snap opcional (/tmp/ibmsupt es el valor predeterminado). Debe especificar la vía de acceso absoluta.
-e Recopila información específica de HACMP .
Nota: Los datos específicos de HACMP se recopilan de todos los nodos que pertenecen al clúster. Este distintivo no se puede utilizar con ningún otro distintivo excepto -m y -d.
-f Recopila información del sistema de archivos.
-F Recopila información de adaptador flash.
-g Recopila la salida del mandato lslpp -hac , que es necesario para volver a crear entornos de sistema operativo exactos. Escribe la salida en el archivo /tmp/ibmsupt/general/lslpp.hac . También recopila información general del sistema y escribe la salida en el archivo /tmp/ibmsupt/general/general.snap .
-g Incluye archivos predefinidos de Object Data Manager (ODM) en información general recopilada con el distintivo -g .
-i Recopila información de datos vitales del producto (VPD) de depuración de instalación.
-k Recopila información de kernel
-l Recopila información de lenguaje de programación.
-l Recopila información de LVM.
-m Lista de nodos Lista de nombres de nodo (separados por comas) para recopilar información de HACMP .
Nota: Actualmente, este distintivo sólo es válido con el distintivo -e .
-M Tiempo de espera Especifica el valor de tiempo de espera máximo en segundos, que el trabajo de trama instantánea espera antes de que termine un mandato de datos de depuración de producto externo registrado. El valor de tiempo de espera predeterminado es de 300 segundos.
-n Recopila información de Network File System (NFS).
-n Suprime la comprobación de espacio libre necesario.
-o OutputDevice Copia la imagen comprimida en el dispositivo especificado.
-O FileSplitSize Se utiliza para habilitar la división de los archivos de salida de snap en archivos más pequeños. El tamaño de estos archivos se especifica como un parámetro en la opción -O y se debe especificar en megabytes. Este distintivo sólo se puede utilizar cuando se especifica el distintivo -c .
-p Recopila información de impresora.
-P Archivos Recupera los Archivos denominados del directorio fwdump_dir . Si se especifica -P * , se recopilan todos los archivos del directorio. Los archivos se colocan en el subdirectorio general . La opción -C snap se comporta igual que -P*.
-r Elimina la salida del mandato snap del directorio /tmp/ibmsupt .
-R Recopila información de RAID SCSI.
-s Recopila información de Arquitectura de Red de Sistemas (SNA).
-S Incluye archivos de seguridad en información general recopilada con el distintivo -g .
-T Recopila información de Protoco de control de transmisiones.
-T NombreArchivo Recopila todos los archivos de registro para un rastreo de varias CPU. Sólo el archivo base, trcfile, se captura con el distintivo -g .
-u user1,user2... Especifica los nombres de usuario separados por comas cuyo shell y el historial de SMIT (System Management Interface Tool) deben recopilarse.
-v Componente Muestra la salida de los mandatos ejecutados por el mandato snap . Utilice este distintivo para ver el nombre o grupo de archivos especificado.
Nota: Pulse la secuencia de teclas Control-C para interrumpir el mandato snap . Se devolverá una solicitud con las opciones siguientes: pulse la tecla Intro para volver a la operación actual; pulse la tecla S para detener la operación actual; pulse la tecla Q para salir del mandato snap completamente.
-w Recopila información de WLM.
-X Recopila información de X.25 (protocolo de comunicaciones basado en paquetes).
-A Recopila información de InfiniBand y la guarda en el directorio /tmp/ibmsupt/IB .
-z Facilita la recopilación de datos de depuración para productos externos.
  • La palabra clave ADD permite a los productos externos registrar su script de recopilación de datos de depuración con la infraestructura snap.
  • La palabra clave DELETE permite a los productos externos anular el registro de su script de recopilación de datos de depuración con la infraestructura snap.

Cuando se especifica un nombre de producto como parámetro para el atributo product_name , se ejecuta un mandato de recopilación de datos de depuración registrado. Para recopilar datos para más de un producto, especifique los nombres de producto necesarios en el atributo product_name .

Cuando se especifica un nombre de clase como parámetro para el atributo class , se ejecuta el mandato de depuración registrado de todos los productos de dicha clase. Para recopilar datos para más de una clase, especifique los nombres de clase necesarios en el atributo class .

Cuando se especifica ALL como parámetro, se ejecuta el mandato de recopilación de datos de depuración registrado de todos los productos en todas las clases.

Cuando se ejecuta cualquier script, el sistema añade el nombre del producto a la lista a la que apunta la variable de entorno SNAPDEBUGDATA .

-u Recopila información de actualización de kernel en directo y la guarda en el directorio /tmp/ibmsupt/liveupdate .

Parámetros

Argumentos

Los nombres de los scripts de terceros que se van a ejecutar se especifican como parámetros en snap. Un parámetro puede ser una sola palabra o una lista de palabras entre comillas. Cuando los parámetros se especifican entre comillas, el primer parámetro de la lista representa el nombre del script y las palabras siguientes representan los argumentos que deben pasarse al script.

Cuando se especifica All como parámetro, se ejecutan todos los scripts del repositorio de scripts. No se pueden pasar parámetros de script en este caso.

Si se utiliza la palabra clave file: y va seguida inmediatamente de una vía de acceso a un archivo, dicho archivo se lee para que los scripts se ejecuten. Cada línea del archivo representa un script y parámetros opcionales para el script.

scripts snap

Un script de terceros debe ser ejecutable en /usr/lib/ras/snapscriptsy debe seguir las directrices que se describen a continuación. Cuando se llama durante el paso 1, un script debe devolver su estimación de tamaño a snap. En el paso 2, recopila los datos y los guarda según lo especificado por snap.

El script debe leer y utilizar las siguientes variables de entorno, SNAPDIR, PASSNO, SCRIPTSIZE y SCRIPTLOG.

Los scripts o mandatos también pueden utilizar la variable SNAPDEBUGDATA para obtener información sobre los datos de depuración recopilados por el script snap. Esta variable tiene un nombre separado por comas de los productos para los que el mandato snap recopila los datos durante la ejecución.

Todos los archivos de salida deben grabarse en $SNAPDIR. Este es el directorio donde el script debe guardar su salida. La variable PASSNO contiene la fase snap durante la cual se llama al script. Durante la primera pasada, el script debe calcular una estimación de tamaño para los datos que escribirá durante la segunda pasada. A continuación, escribirá esa estimación numérica en el archivo al que apunta $SCRIPTSIZE. El valor guardado en el archivo debe ser decimal. snap pasa la vía de acceso a un archivo de registro donde se deben guardar todos los datos de depuración para el script. La salida estándar y el error estándar no deben ser redirigidos por el script, porque ' snap guardará la salida estándar y el error estándar en $SNAPDIR/ 'ScriptName '.out y $SNAPDIR/ 'ScriptName '.err, respectivamente.

El ejemplo siguiente muestra un script snap:
#!/usr/bin/ksh


if [ "$PASSNO" = 1 ]
then
         (( size=99999 ))
        .... 
        # this is where code to do the size estimation should go.
        ....
        echo $size > $SCRIPTSIZE

else if [ "$PASSNO" = 2 ]
then
        # debug information should go to $SCRIPTLOG
        echo "Debug Data" >> $SCRIPTLOG

        # .....where the work to collect the data takes place
        # ...

        # The data collected should be written to $SNAPDIR        .
        touch $SNAPDIR/foo_output1
        touch $SNAPDIR/foo_output2
fi
fi
Nota: Para recopilar información sobre dispositivos SCSI virtuales, ejecute el mandato snap client_collect, all . Si necesita recoger datos del Servidor Virtual de E/S, consulte la página del comando ' snap ' en el Servidor Virtual de E/S, que utiliza una sintaxis diferente a la del comando ' snap en ' AIX®.
Los scripts siguientes se pueden ejecutar al ejecutar el mandato snap con los distintivos -a o -g :
  • Para ejecutar con el indicador -a: svCollect, client_collect, lsvirt
  • Para ejecutar con el indicador -g: svCollect, client_collect

División de la salida de snap

Si se divide, la salida de snap podría ser similar a la siguiente:

% ls -l
total 112048
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaa
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xab
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xac
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xad
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xae
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaf
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xag
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xah
-rw-r--r--   1 lmic     adm         6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xai
-rw-r--r--   1 lmic     adm          744518 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaj

Ejecución de scripts de terceros

Un mandato o script de recopilación de datos de depuración de producto externo es un ejecutable autónomo. El script se registra con la infraestructura snap antes de que se pueda utilizar para recopilar datos de depuración definidos por el usuario. Estos scripts se pueden desregistrar según la discreción del usuario.

A continuación se muestra la clase ODM definida en el sistema.

#define DEFAULTSIZE 256
#define DATA_VALUESIZE 1024

class snap_config {
        char product_name[DEFAULTSIZE]; key
        char class[DEFAULTSIZE];key
        char command_path[DATA_VALUESIZE];
        vchar sc_reserved1[DATA_VALUESIZE];
        vchar sc_reserved2[DATA_VALUESIZE];
}
nombre_producto
Especifique el nombre del producto. Se utiliza el mismo nombre para anular el registro del script de recopilación de datos de depuración del producto.
clase
La clase puede ser un almacenamiento, una red o una base de datos. Puede elegir la clase adecuada en función del producto o definir su propia clase. La clase ayuda en la clasificación de los productos. Los usuarios pueden ponerse en contacto con el personal de servicio de IBM para añadir cualquier otra clase en la documentación de snap.
vía_acceso_mandato
Vía de acceso del mandato o ejecutable junto con sus opciones. sc_reserved1 y sc_reserved2 están reservados.

Registro de script de depuración de terceros con infraestructura de Snap

El registro se puede realizar de dos maneras:
  1. Puede ejecutar explícitamente el mandato odmadd para añadir la entrada. En tal caso:
    • Debe copiar el script o ejecutable en el directorio /usr/lib/ras/snapscript/bin/<productname> .
    Puntos a recordar:
    1. Debe especificar el mandato antes de ejecutar odmadd:
      export ODMDIR=/usr/lib/objrepos
    2. Una vez completado el mandato odmadd , puede restaurar el valor antiguo del mandato ODMDIR .
    3. Puede continuar ejecutando el mandato snap . Por ejemplo, el contenido de myfile se proporciona a continuación:
      product_name=myprod
      class=myclass
      command_path=/usr/lib/ras/snapscripts/bin/prod_name/myscript1.sh -t 10
      export ODMDIR=/usr/lib/objrepos
      odmadd myfile
    Nota: Los usuarios que realizan una entrada directa a ODM deben ocuparse de las entradas duplicadas, ya que el mandato snap sólo procesa una entrada para un nombre de producto determinado. Por lo tanto, el mandato odmdelete debe ejecutarse antes de que se invoque el mandato odmadd .
  2. Utilice la palabra clave ADD con el distintivo -z .
Nota:
  • 1. Si el binario de depuración se cambia o se actualiza, el usuario debe volver a registrar el componente para actualizar el repositorio snap con el binario más reciente.
  • 2. No se da soporte a la combinación de varios mandatos como parte de la variable command_path . Por ejemplo, el formato siguiente no está soportado:
    command_path=<path>/ls|<path>/grep myfile 
  • 3. Los caracteres especiales como, ', <, | no están soportados como valores para la variable command_path .

Anulación del registro de scripts de depuración de terceros de la infraestructura de Snap

La anulación del registro se puede realizar de dos maneras:
  1. Utilice el mandato odmdelete para anular el registro del producto. Por ejemplo,
    export ODMDIR=/usr/lib/objrepos
    odmdelete -o snap_config -q product_name=productname
  2. Utilice la palabra clave DELETE con el distintivo -z . Por ejemplo,
    Snap -z DELETE product_name=productname

Ejemplos

  1. Especifique el mandato siguiente para recopilar toda la información de configuración del sistema:
    snap -a
    La salida de este mandato se graba en el directorio /tmp/ibmsupt .
  2. Especifique el mandato siguiente para crear una imagen pax de todos los archivos contenidos en el directorio /tmp/ibmsupt :
    snap -c
  3. Especifique el mandato siguiente para recopilar información general de configuración del sistema, incluida la salida del mandato lslpp -hac :
    snap -g -o /dev/rfd0
    La salida se graba en los archivos /tmp/ibmsupt/general/lslpp.hac y /tmp/ibmsupt/general/general.snap . Este mandato también escribe la información del sistema en un disquete extraíble.
  4. Especifique el mandato siguiente para recopilar información específica de HACMP de los nodos node1 y node2 que pertenecen a un único clúster:
    snap -e -m node1,node2
    La salida se graba en el directorio /tmp/ibmsupt/hacmp .
  5. Para ejecutar los scripts foo1, foo2 y foo3. donde foo1 no toma ningún argumento, foo2 toma tres argumentos y foo3 toma un argumento, escriba lo siguiente:
    snap  foo1 "foo2 -x -y 3" "foo3 6"
    La salida se graba en /tmp/ibmsupt/snapscripts/foo1, /tmp/ibmsupt/snapscripts/foo2 y /tmp/ibmsupt/snapscripts/foo3 suponiendo que el directorio de destino es el predeterminado, /tmp/ibmsupt.
  6. Para especificar el parámetro All para ejecutar todos los scripts, escriba:
    snap All
    Nota: No se pasan parámetros en este caso.
  7. Para especificar la vía de acceso a un archivo que contiene el nombre y la lista de parámetros opcionales de los scripts a ejecutar, escriba:
    snap file:/tmp/scriptnames
    Un archivo de entrada de ejemplo para ejecutar los scripts del ejemplo 5:
    foo1 
    foo2 -x -y 3
    foo6
  8. Si desea dividir la salida de snap en 4MB archivos, escriba:
    snap -a -c -O 4
  9. Para enviar sólo los datos de HACMP snap -e de los nodos node1 y node2, especifique el mandato siguiente:
    snap -e -m node1,node2
    snap -c

    Envíe el archivo <paxpax.za IBM siguiendo las instrucciones del representante del servicio técnico.

  10. Para enviar todos los datos de snap desde los nodos node1 y node2, especifique los mandatos siguientes:
    snap -e -m node1,node2
    snap -a
    snap -c 

    Envíe el archivo <paxpax.za IBM siguiendo las instrucciones del representante del servicio técnico.

  11. Para registrar un script de depuración presente en el directorio /usr/lpp/abc/debug_abc del producto abc, en la clase storage especifique el mandato siguiente:
    snap -z ADD "product_name=abc" "class=storage" "command_path=/usr/lpp/abc/debug_abc -a"
  12. Para anular el registro de un script de depuración del producto abc, especifique el mandato siguiente:
    snap -z DELETE "product_name=abc"
  13. Para recopilar datos de depuración de varios productos, especifique el mandato siguiente:
    snap -z "product_name=abc, product_name=def"

Archivos

Elemento Descripción
/usr/sbin/snap Contiene el mandato snap .
/tmp/ibmsupt Contiene la salida del mandato snap .
/tmp/ibmsupt/general/lslpp.hac Contiene la salida del mandato lslpp -hac , que es necesario para volver a crear entornos de sistema operativo exactos.
/tmp/ibmsupt/general/general.snap Contiene información general del sistema que se recopila con el comando snap -g.
/tmp/ibmsupt/testcase Contiene el caso de prueba que demuestra el problema del sistema.
/tmp/ibmsupt/other Contiene el directorio definido por el usuario.