Suplemento de notas sobre la versión de Solaris 8 2/02 para hardware de Sun

Capítulo 5 Cuestiones pendientes relativas a los sistemas Sun Fire 6800/4810/4800/3800

En este capítulo se explican algunos aspectos relacionados con el uso del entorno Solaris en sistemas Sun Fire 6800/4810/4800/3800.

Sistemas Sun Fire 6800/4810/4800/3800

Esta sección proporciona información sobre el uso del entorno operativo Solaris.

Visualización de los datos de configuración del sistema

El comando prtdiag es uno de los que se utilizan en Solaris para ver los parámetros de configuración del sistema. La información contenida en la Guía de plataformas de Hardware de Sun para la presente versión del sistema operativo es incorrecta. La información correcta es la siguiente.

El comando prtdiag (1M) de Solaris presenta la siguiente información al dominio del sistema Sun Fire 6800/4810/4800/3800:

Reconfiguración dinámica en sistemas Sun Fire 6800/4810/4800/3800

Solaris 8 2/02 permite utilizar las funciones de Reconfiguración dinámica (DR). Esta sección incluye cuestiones relativas al funcionamiento de DR en los sistemas Sun Fire 6800/4810/4800/3800 que están pendientes de solución en el momento de publicar esta versión del producto.


sólo -

Para obtener información sobre el firmware del controlador del sistema que contiene la funcionalidad de DR, consulte el documento Sun Fire 6800/4810/4800/3800 Systems Software Release Notes incluido con la versión 5.12.6 del firmware. Este firmware y la documentación relacionada se incluye en la modificación de software 112127-02 de SunSolve, que está disponible en las páginas Web de SunSolve (http://sunsolve.Sun.com).


Estas notas sobre el funcionamiento de la reconfiguración dinámica (DR) en los sistemas Sun Fire 6800, 4810, 4800 y 3800 tratan los temas siguientes:

Soporte de DR específico del sistema

El soporte de DR específico de los sistemas 6800/4810/4800/3800 puede verse mediante el comando cfgadm. Las placas del sistema se muestran como clase "sbd" y las tarjetas CompactPCI (cPCI) se muestran como clase "pci". Los usuarios de DR que utilicen la interfaz cfgadm pueden ver algunas otras clases de DR.

Para obtener información sobre los problemas de DR específicos del sistema, consulte "Errores conocidos del software de DR".

Para ver las clases asociadas a los puntos de conexión, ejecute el siguiente comando como superusuario:

# cfgadm -s "cols=ap_id:class"

También puede obtenerse la lista de puntos de conexión dinámicos utilizando el comando cfgadm seguido de la opción -a. Para determinar la clase asociada a un punto de conexión específico, agregue el punto de conexión como argumento del comando anterior.

Instrucciones de instalación del software de Reconfiguración dinámica

DR puede utilizarse en los sistemas Sun Fire que dispongan del siguiente software: la versión 8 2/02 del entorno operativo Solaris y la versión 5.12.6 del firmware del sistema.

También existe la opción de instalar Sun Management Center (SunMC). Consulte el Suplemento de Sun Management Center 3.0 para sistemas Sun Fire 6800, 4810, 4800 y 3800 para conocer las instrucciones completas.

Actualización del firmware del sistema

La actualización del firmware de los sistemas Sun Fire se realiza mediante una conexión FTP o HTTP establecida con el servidor FTP o HTTP donde esté almacenada la imagen de ese firmware. Consulte el Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual para obtener más información.


sólo -

Puede encontrar información adicional sobre la instalación de modificaciones del firmware en los archivos README e Install.info entregados con la modificación.



Caution - Caution -

No actualice el firmware del controlador del sistema sin actualizar el firmware de todas las placas de CPU/memoria y componentes de E/S. Si el firmware de dichos componentes no coincide con el del controlador del sistema, es posible que no pueda arrancar los dominios.


Para actualizar el firmware del sistema:
  1. Configure el servidor FTP o HTTP.

    Para obtener más información, consulte el Apéndice B del Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual (referencia 805-7373-13).

  2. Descargue la versión 5.12.6 del firmware.

    Esta versión, junto con la documentación relacionada, se incluye en la modificación de software 112127-02, que está disponible en las páginas Web de SunSolve

    http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access

  3. Copie la modificación en el servidor FTP o HTTP mediante un comando similar al siguiente:

    # cp /patch_location/* /export/ftp/pub/5.12.6

  4. Establezca una conexión con la consola del controlador del sistema (puerto serie) para monitorizar el sistema cuando se actualice el firmware (paso 6).

    El indicador del controlador del sistema es:

    nombresistema_sc:SC>

  5. Desactive todos los dominios deteniendo el entorno operativo Solaris.

    El selector permanece en la posición de encendido (on) en todos estos dominios.

  6. En cada dominio desactivado en el paso 5, ponga el selector en la posición standby:

    nombresistema_sc:A> setkeyswitch standby

  7. Compruebe si todas las placas de CPU/memoria y componentes de E/S reciben alimentación. Para ello ejecute el comando showboards en el controlador del sistema del shell de la plataforma:

    nombresistema_sc:SC> showboards

  8. Si la alimentación de alguna de las placas de CPU/memoria o de algún componente de E/S no está activada, utilice el comando poweron en el controlador del sistema del shell de la plataforma para activarla:

    nombresistema_sc:SC> poweron nombres_componentes

  9. Actualice el firmware utilizando el comando flashupdate en el controlador del sistema del shell de la plataforma.


    Caution - Caution -

    No apague ni restaure el sistema durante la realización de este paso.


    Utilice la sintaxis adecuada para el comando según el protocolo de URL:

    nombresistema_sc:SC> flashupdate -f URL all

    El comando flashupdate reinicia el controlador del sistema y actualiza las placas de CPU/memoria y los componentes de E/S, scapp y RTOS.


    sólo -

    Al ejecutar scapp 5.12.5 y RTOS 18 (o una versión posterior de cualquiera de ellos), el procedimiento de actualización sólo actualiza scapp y RTOS cuando la imagen que se va a instalar es distinta de la imagen ya instalada.


  10. Cuando se haya reiniciado el controlador del sistema, establezca una conexión con cada consola de dominio y desactive la alimentación de todas las placas de CPU/memoria y componentes de E/S poniendo el selector en off:

    nombresistema_sc:A> setkeyswitch off

  11. Compruebe que todas las placas de CPU/memoria y los componentes de E/S tienen la alimentación desactivada ejecutando el comando showboards en el controlador del sistema del shell de la plataforma:

    nombresistema_sc:SC> showboards

  12. Si alguno de estos componentes tiene la alimentación activada, utilice el comando poweroff en el controlador del sistema del shell de la plataforma para desactivarla:

    nombresistema_sc:SC> poweroff nombres_componentes

  13. Arranque cada dominio poniendo el selector en on:

    nombresistema_sc:A> setkeyswitch on

  14. Una vez arrancados los dominios, actualice la copia de seguridad de la configuración del controlador del sistema utilizando el comando dumpconfig:

    nombresistema_sc:SC> dumpconfig -f URL

    Donde URL indica el protocolo de ftp.

Limitaciones conocidas de DR

En esta sección se describen algunas limitaciones conocidas sobre el funcionamiento de DR en los sistemas Sun Fire 6800, 4810, 4800 y 3800.

Limitaciones generales de DR

Limitaciones específicas de los componentes CompactPCI

Procedimientos para conectar o desconectar una interfaz de red cPCI (IPMP)

Para desconectar una interfaz de red cPCI (IPMP) y extraerla
  1. Recupere los datos y parámetros de direcciones asociados a la Interfaz escribiendo el comando.

    # ifconfig interfaz

    Por ejemplo, ifconfig hme0

  2. Ejecute el comando if_mpadm(1M) de la manera siguiente:

    # if_mpadm -d interfaz

    Al hacerlo se desconecta la interfaz y las direcciones de sustitución en caso de fallo (failover) se trasladan a otra interfaz activa del grupo. Si la interfaz ya tiene estado de error, este paso simplemente confirma que la interfaz está desconectada.

  3. (Opcional) Desactive la interfaz con unplumb.

    Esta operación sólo es necesaria si va a querer utilizar DR para reconfigurar la interfaz de forma automática más adelante.

  4. Extraiga la tarjeta.

    Consulte la página del comando man de cfgadm(1M) y Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide para obtener más información.

Para instalar y conectar una interfaz de red cPCI (IPMP)
  1. Introduzca la tarjeta.

    Consulte la página del comando man de cfgadm(1M) y el documento Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide para obtener más información.

Después de introducir la tarjeta, la interfaz se configura automáticamente utilizando los parámetros almacenados en el archivo de configuración hostname (/etc/hostname.interfaz, donde interfaz puede ser un valor como hme1 o qfe2).

Esto activa el daemon in.mpathd, con lo que se reanuda el sondeo y se detectan los componentes reparados. in.mpathd hace que las direcciones IP originales regresen (failback) a su interfaz inicial. De esta forma, la interfaz debería estar conectada y lista para funcionar con IPMP.


sólo -

Si la interfaz no se ha desactivado y se ha dejado en estado OFFLINE antes de extraerla, la operación de instalación aquí descrita no podrá configurarla de forma automática. Para volver a poner la interfaz en estado ONLINE y recuperar su dirección IP después de instalarla físicamente, introduzca el siguiente comando: if_mpadm -r interfaz.


Interrupción del sistema operativo

En esta sección se explica el concepto de memoria permanente y los requisitos necesarios para interrumpir momentáneamente el funcionamiento del sistema operativo cuando se desconfigura una placa que tiene memoria permanente.

Una forma rápida de determinar si una placa tiene memoria permanente es ejecutar el siguiente comando como superusuario:

# cfgadm -av | grep permanent

El sistema presenta una salida similar a la siguiente, en la que se describe la placa de sistema 0 (cero):

N0.SB0::memory connected configured ok base address 0x0, 4194304 KBytes total, 668072 KBytes permanent

La memoria permanente es el lugar en el que residen el núcleo (kernel) de Solaris y sus datos. La memoria que contiene el núcleo no puede liberarse de la misma forma que se liberan las páginas de memoria de intercambio que residen en otras placas y que contienen los procesos de usuario. En su lugar, cfgadm utiliza una técnica de copia-redenominación para liberar la memoria.

El primer paso de una operación de copia-redenominación es detener cualquier actividad de la memoria en el sistema interrumpiendo las operaciones de E/S y los subprocesos (threads). Esto se denomina quiescence en inglés. Durante esta "pausa", el sistema permanece parado y no responde a eventos externos, como la recepción de paquetes de red. La duración de la interrupción depende de dos factores: el número de dispositivos de E/S y procesos que deben detenerse, y la cantidad de memoria que debe copiarse. Normalmente, el número de dispositivos de E/S salida determina el tiempo de interrupción, ya que es necesario detener y reanudar todos estos dispositivos. En general, el estado de interrupción dura más de dos minutos.

Puesto que la interrupción del sistema tiene un impacto notable, cfgadm pide confirmación antes de realizar la operación. Si escribe:

# cfgadm -c unconfigure N0.SB0

El sistema presenta un mensaje pidiendo confirmación:

System may be temporarily suspended, proceed (yes/no)?

Si está utilizando SunMC para realizar la operación de DR, el mensaje aparece en una ventana emergente.

Introduzca yes para aceptar la operación y continuar.

Errores del software de reconfiguración dinámica

En esta sección se describen algunos de los errores más importantes detectados durante las pruebas de DR y se proporciona el número de error correspondiente. La lista no incluye todos los errores.

Errores conocidos del software de DR

cryptorand se interrumpe al desinstalar una placa de CPU mediante reconfiguración dinámica (error 4456095)

Descripción: Si un sistema está ejecutando el proceso cryptorand (que se encuentra en el paquete SUNWski), cualquier desconfiguración de la memoria, como la provocada por una desconexión de una placa de CPU/memoria (SB), provoca el cierre de cryptorand y el consiguiente registro de mensajes en /var/adm/messages. Esta acción impide el suministro de números aleatorios para la protección de los subsistemas, por lo que cualquier memoria existente cuando se inicia cryptorand no debería desconfigurarse.

El proceso cryptorand suministra un número aleatorio a /dev/random. Cuando se inicia cryptorand, el periodo que transcurre antes de que /dev/random esté disponible depende de la cantidad de memoria del sistema y equivale aproximadamente a dos minutos por GB. Las aplicaciones que utilizan /dev/random para obtener números aleatorios pueden sufrir un bloqueo temporal. No es necesario reiniciar cryptorand si se agrega una placa de CPU/memoria a un dominio.

Solución alternativa: Si se retira una placa de CPU/memoria del dominio, reinicie cryptorand introduciendo el siguiente comando como superusuario:

# sh /etc/init.d/cryptorand start

SBM causa a veces el error del sistema durante las operaciones de DR (error 4506562)

Descripción: Puede producirse un error de parada del sistema si se retira una placa del sistema que contiene unidades de CPU mientras se está utilizando Solaris Bandwidth Manager (SBM).

Solución alternativa: No instale SBM en sistemas que vayan a utilizarse para pruebas de DR ni realice operaciones de DR con placas que contengan unidades de CPU y pertenezcan a sistemas con SBM.

DR se bloquea durante las operaciones de configuración de las placas IB con vxdmpadm policy=check_all (error 4509462)

Descripción: Las operaciones de DR con placas IBx (E/S) se bloquean después de algunas iteraciones satisfactorias. Esta situación se produce cuando la operación de DR se ejecuta al mismo tiempo que el daemon DMP que implementa la norma check_all con un intervalo de tiempo.

Solución alternativa: Para evitar el bloqueo entre el daemon DMP y la operación de DR efectuada con la placa, introduzca el siguiente comando antes de realizar operaciones de DR. Este comando detiene y reinicia el daemon DMP.

# /usr/sbin/vxdmpadm stop restore

No se pueden desconectar los controladores SCSI mediante DR (error 4446253)

Descripción: Cuando un controlador SCSI está configurado pero no ocupado, no puede desconectarse con el comando cfgadm(1M) de DR.

Solución alternativa: Ninguna.

El módulo cfgadm_sbd no se bloquea en entornos multihilo (error 4498600)

Descripción: Cuando un cliente multihilo (multi-threaded) de la librería cfgadm envía varias peticiones sbd simultáneas, es posible que el sistema se bloquee.

Solución alternativa: Ninguna. Por el momento no hay aplicaciones que implementen el uso de la librería cfgadm en entornos multihilo.

Las operaciones de DR se bloquean después de varios bucles cuando se está ejecutando también el control de la alimentación de la CPU (error 4114317)

Descripción: Cuando se están realizando varias operaciones de DR simultáneas o se está ejecutando psradm al mismo tiempo que una operación de DR, el sistema se puede paralizar por el bloqueo mutuo de las operaciones, ya que cada una de ellas espera a que finalice el proceso de la otra.

Solución alternativa: Lleve a cabo las operaciones de DR de forma consecutiva (una cada vez) y permita que cada una de ellas finalice por completo antes de ejecutar psradm o de iniciar otra operación de DR.

Error de bus de consola del SC en operaciones de SNMP y durante la ejecución de DR (error 4485505)

Descripción: En raras ocasiones se genera un mensaje de error de bus de consola durante las operaciones get de SNMP con el objeto cpuModDescr. Este error es poco frecuente y sólo se produce cuando SunMC está monitorizando un sistema. Si aparece el mensaje, SunMC recibe unknown como valor del objeto cpuModDescr.

Solución alternativa: La única solución es no utilizar SunMC. En cualquier caso el mensaje no causa ningún daño y puede hacer caso omiso de él sin peligro. El único riesgo es que la interfaz gráfica de SunMC puede mostrar a veces un valor erróneo para cpuModDescr.

Posible error del sistema cuando se supera el tiempo de espera de send_mondo_set (error 4518324)

El sistema Sun Fire puede fallar si una o varias placas de CPU tienen definida una pausa de sincronización durante una operación de DR. Esta pausa es necesaria para conectar y desconectar las placas. Si hay alguna interrupción mondo pendiente de ejecución y, por alguna razón, el controlador del sistema no puede terminar la pausa de sincronización en el tiempo previsto por el valor de send_mondo timeout (un segundo), se genera el error del sistema.