En este capítulo se explican algunos aspectos relacionados con el uso del entorno Solaris en sistemas Sun Fire 6800/4810/4800/3800.
Esta sección proporciona información sobre el uso del entorno operativo Solaris.
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:
Configuración
Diagnóstico
Cantidad total de memoria (similar al comando prtconf)
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.
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:
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.
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.
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.
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.
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.
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).
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
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 |
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> |
Desactive todos los dominios deteniendo el entorno operativo Solaris.
El selector permanece en la posición de encendido (on) en todos estos dominios.
En cada dominio desactivado en el paso 5, ponga el selector en la posición standby:
|
nombresistema_sc:A> setkeyswitch standby |
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 |
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 |
Actualice el firmware utilizando el comando flashupdate en el controlador del sistema del shell de la plataforma.
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.
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.
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 |
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 |
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 |
Arranque cada dominio poniendo el selector en on:
|
nombresistema_sc:A> setkeyswitch on |
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.
En esta sección se describen algunas limitaciones conocidas sobre el funcionamiento de DR en los sistemas Sun Fire 6800, 4810, 4800 y 3800.
Si se agrega una placa del sistema a un dominio sin utilizar los procedimientos de DR, por ejemplo, ejecutando el comando addboard en la línea de comandos del controlador del sistema, es preciso ejecutar el comando setkeyswitch off y después setkeyswitch on para activar la placa en el sistema.
Esta versión de DR no funciona con Sun StorEdge Traffic Manager.
Antes de realizar operaciones de DR en alguna placa de E/S (IBx), es preciso introducir el comando siguiente para detener el daemon de vold:
|
# sh /etc/init.d/volmgt stop |
Una vez realizada la operación de DR, introduzca el siguiente comando para reiniciar el daemon de vold:
|
# sh /etc/init.d/volmgt start |
En los sistemas Sun Fire 6800, 4810, 4800 y 3800, DR no admite los controladores HIPPI/P, SAI/P (error 4466378) ni SunHSI/P (error 4496362).
Es preciso ejecutar el comando devfsadm(1M) para ver los cambios realizados, especialmente los cambios de PCI a cPCI.
No debe reiniciarse ni restaurarse el controlador del sistema (SC) durante las operaciones de DR. Tampoco se debe ejecutar flashupdate, ya que es necesario reiniciar al término de la ejecución.
Sólo se puede desconfigurar una placa de E/S CompactPCI (cPCI) si todas las tarjetas de la placa están sin configurar. Si alguna tarjeta cPCI está ocupada (por ejemplo, tiene una interfaz abierta o un disco montado), la operación de desconfiguración de la placa fracasará indicado el estado "busy". Todas las tarjetas cPCI deben estar desconfiguradas antes de desconfigurar una placa de E/S cPCI.
Cuando un disco multirruta está conectado a dos tarjetas cPCI, es posible observar una actividad de disco inesperada en ambas tarjetas. Por esta razón, asegúrese de que no existe actividad alguna en el lado local del recurso. La probabilidad de que esto suceda se da sobre todo al tratar de realizar una operación de DR en una tarjeta cPCI con estado "busy" (ocupado), incluso aunque no haya actividad en el lado local del recurso. Puede que sea necesario reintentar la operación de DR.
Cuando un usuario utiliza el comando cfgadm(1M) con la opción -a para ver la lista de puntos de conexión, dicha lista incluye las ranuras cPCI y los buses PCI. El comando cfgadm -a muestra el punto de conexión correspondiente a un bus PCI como N0.IB8::pci0 y existen cuatro puntos de conexión de este tipo por cada placa cPCI. No deberían realizarse operaciones de DR con estos puntos de conexión, ni tampoco con el punto sghsc (que el comando cfgadm -a presenta como N0.IB8::sghsc4), ya que DR en realidad no se ejecuta y se eliminan algunos recursos internos. De todos modos, la realización de estas operaciones no entraña riesgo.
Para que DR funcione correctamente con las tarjetas cPCI, los anclajes de todas las tarjetas cPCI que se encuentren insertadas en el momento de arranque de Solaris deben estar perfectamente acoplados.
Recupere los datos y parámetros de direcciones asociados a la Interfaz escribiendo el comando.
|
# ifconfig interfaz |
Por ejemplo, ifconfig hme0
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.
(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.
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.
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.
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.
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.
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.
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 |
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.
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 |
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.
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.
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.
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.
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.