En este capítulo se explican las variables de configuración NVRAM y los comandos de OpenBoot PROM (OBP) disponibles para la configuración de los siguientes aspectos del funcionamiento del sistema Enterprise 250 de Sun:
Estas son las variables de configuración NVRAM que se explican en este capítulo:
upa-port-skip-list
pci0-probe-list
pci-slot-skip-list
env-monitor
asr-disable-list
auto-boot-on-error?
diag-trigger
Estos son los comandos OBP explicados en este capítulo:
asr-enable
asr-disable
.asr
Los servidores Sun Enterprise 250, como todos los sistemas UltraSPARC(TM), están basados en el bus UPA (Ultra Port Architecture) de alta velocidad, un bus de sistema conmutado que proporciona hasta 32 ID de direcciones de puertos (o ranuras) para dispositivos de alta velocidad incorporados a la placa base, como pueden ser las CPU, puentes de E/S y memorias intermedias de trama. El servidor Enterprise 250 proporciona hasta tres puertos activos para los siguientes subsistemas
Tabla 1-1 Puertos de bus del sistema UPA
Tipo de dispositivo |
Ranura UPA |
Implementación física |
---|---|---|
CPU |
0-1 |
Dos ranuras de conexión |
Puente UPA-PCI |
1f |
Soldado a la placa base |
El orden de sondeo de estos tres ID de puerto no está controlado por el usuario; sin embargo, es posible excluir del sondeo una lista de puertos utilizando la variable NVRAM upa-port-skip-list. En el ejemplo siguiente, esta variable se utiliza para excluir CPU-1 de la lista de sondeo.
ok setenv upa-port-skip-list 1
Esta función permite excluir un determinado dispositivo del sondeo (y de su posterior utilización) realizado por el sistema sin tener que retirar físicamente la tarjeta. Puede resultar útil para detectar cualquier tarjeta que no funcione correctamente en un sistema que experimente fallos transitorios.
De los dos buses PCI del servidor Enterprise 250, el bus 0 (/pci@1f,4000 en el árbol de dispositivos) es el único que contiene dispositivos de la placa base (no extraíbles) como el controlador SCSI integrado en la placa. Por definición, estos dispositivos no pueden extraerse e intercambiarse para cambiar el orden en que se sondean. Para determinar su orden de sondeo, el sistema proporciona la variable NVRAM pci0-probe-list. Controla tanto el orden como la exclusión de dispositivos del sondeo del Bus 0. Los valores que pueden especificarse para pci0-probe-list se indican en la tabla siguiente.
Tabla 1-2 Valores de sondeo
Número de dispositivo PCI |
Función |
---|---|
2 |
Ranura PCI 2 (según la etiqueta del panel posterior del sistema) |
3 |
Controlador SCSI integrado en la placa para dispositivos SCSI internos y externos |
4 |
Ranura PCI 1 (según la etiqueta del panel posterior del sistema) |
5 |
Ranura PCI 0 (según la etiqueta del panel posterior del sistema) |
Los valores de esta lista se basan en los números de dispositivo PCI y no hacen referencia al esquema de numeración de 0 a 3 utilizado para identificar las ranuras del panel posterior.
En el ejemplo siguiente, la variable pci0-probe-list se utiliza para definir un orden de sondeo 5-2-4, y excluir de la lista de sondeo el controlador SCSI integrado en la placa para dispositivos SCSI internos y externos.
ok setenv pci0-probe-list 5,2,4
Observe que la variable pci0-probe-list no tiene ningún efecto sobre el sondeo de la ranura PCI superior (la número 3 en el panel posterior del sistema). Existe otra variable NVRAM, pci-slot-skip-list, para la exclusión de cualquier ranura PCI de la lista de sondeo. En el ejemplo siguiente, esta variablese utiliza para excluir de dicha lista las ranuras 0 y 3 del panel posterior
ok setenv pci-slot-skip-list 0,3
Los valores de pci-slot-skip-list corresponden al esquema de numeración de 0 a 3 del panel posterior. Si aparece en esta lista un número de ranura PCI, se excluirá del sondeo aunque esté incluido en la variable pci0-probe-list.
Las funciones de supervisión y control del entorno en los servidores Enterprise 250 residen en el sistema operativo y en el firmware de la OBP. Esto garantiza que la supervisión se mantiene operativa si el sistema se detiene o no puede arrancar. La forma en que la OBP supervisa y reacciona ante un exceso de temperatura se controla mediante la variable de NVRAM env-monitor. La tabla siguiente muestra los distintos valores de esta variable y el efecto que cada uno de ellos produce en el comportamiento de la OBP. Si precisa más información sobre las funciones de supervisión del entorno, consulte "Acerca de las características de fiabilidad, disponibilidad y mantenimiento" en el Manual del usuario del servidor Sun Enterprise 250.
Tabla 1-3 Valores y efectos de la supervisión del entorno
Valor |
¿Supervisión activa? |
Acción que se emprende |
---|---|---|
enabled (predeterminado) |
Sí |
Como respuesta a un exceso de temperatura, la OBP emite una advertencia y apaga el sistema a los 30 segundos. |
advise |
Sí |
La OBP sólo emite una advertencia, pero no apaga el sistema. |
disabled |
No |
La OBP no emprende ninguna acción; La supervisión del entorno queda desactivada en el nivel de la OBP. |
En el ejemplo siguiente, la variable env-monitor se utiliza para deshabilitar la supervisión del entorno en el nivel de OBP.
ok setenv env-monitor disabled
Esta variable NVRAM no afecta a las funciones de supervisión y control del entorno mientras se ejecuta el sistema operativo.
La recuperación automática del sistema o ASR (acrónimo de Automatic System Recovery) Enterprise 250 permite a los servidores Enterprise 250 reanudar el funcionamiento después de experimentar determinados fallos de hardware. Las funciones Power-on self-test (POST) y OpenBoot Diagnostics (OBDiag) pueden detectar automáticamente los componentes de hardware que han fallado, y una función de configuración automática diseñada en el firmware de OBP permite al sistema desconfigurar dichos componentes y restaurar el funcionamiento del sistema. En tanto el sistema sea capaz de funcionar sin el componente desactivado, las funciones de ASR harán que el sistema rearranque automáticamente sin la intervención del operador. Este "arranque degradado" permite al sistema seguir funcionando mientras se efectúa una llamada al servicio técnico para sustituir la pieza defectuosa.
Si se detecta el fallo de un componente durante la secuencia de encendido, éste se desconfigura y, si el sistema es capaz de funcionar sin él, la secuencia de arranque continúa. En un sistema en ejecución, determinados tipos de fallos (como el de un procesador) pueden provocar la restauración automática del sistema. Si esto ocurre, las funciones de ASR permiten el rearranque inmediato, siempre que el sistema pueda funcionar sin el componente que ha fallado. Esto impide que una pieza de hardware mantenga todo el sistema inactivo o vuelva a provocar su detención.
Para poder efectuar el arranque degradado, la OBP utiliza la norma IEEE 1275 Client Interface (a través del árbol de dispositivos) para "marcar" los dispositivos como fallido o desactivado mediante la creación de una propiedad de "estado" adecuada en el nodo correspondiente del árbol de dispositivos. Por convención, UNIX no activará ningún controlador para cualquier subsistema marcado de esta manera.
Así, siempre que el componente defectuoso esté inactivo en términos de electricidad (es decir, no pueda causar errores aleatorios de bus, ruido, etc.), el sistema podrá rearrancar automáticamente y reanudar el funcionamiento mientras acude el servicio técnico para sustituir la pieza.
En dos casos especiales de desconfiguración de un subsistema (CPU y memoria), la OBP hace algo más que crear una propiedad de "estado" en el árbol de dispositivos. Inmediatamente después de la restauración del sistema, la OBP debe inicializar y configurar (o ignorar) estas funciones para que el resto del sistema pueda funcionar correctamente. Estas acciones se emprenden en función del estado de dos variables de configuración NVRAM, post-status y asr-status, que contienen la información suministrada por la función POST o especificada manualmente por el usuario (consulte "Valores de ASR definidos por el usuario").
Si el valor de POST indica que una CPU ha fallado, o si un usuario decide deshabilitarla, la OBP activa su bit Master Disable que, básicamente, desactiva la CPU como dispositivo UPA hasta la siguiente vez que se enciende el sistema.
La detección y aislamiento de los problemas de memoria del sistema es una de las labores de diagnóstico más complejas. El problema se complica aún más por la posibilidad de que se instalen módulos DIMM de distinta capacidad dentro del mismo banco de memoria (cada banco debe contener cuatro DIMM de la misma capacidad). Una vez que se ha detectado el fallo en un componente de memoria, el firmware desconfigura el banco de memoria asociado al error.
Aunque, en la mayoría de los casos, los valores predeterminados configuran o desconfiguran adecuadamente el servidor, resulta útil proporcionar a los usuarios avanzados la posibilidad de establecer manualmente valores que anulen los valores predeterminados. Por la naturaleza de la desconfiguración básica frente a la desconfiguración avanzada, es preciso proporcionar dos mecanismos de anulación distintos pero relacionados.
Para cualquier subsistema representado por un determinado nodo del árbol de dispositivos, los usuarios pueden desactivar esa función mediante la variable NVRAM asr-disable-list, que es simplemente un lista de rutas del árbol de dispositivos separadas por espacios.
ok setenv asr-disable-list /pci@1f,2000 /pci@1f,4000/scsi@3,1
La OBP del Enterprise 250 utilizará esta información para definir la propiedad de estado disabled en todos los nodos incluidos en la variable asr-disable-list.
Para anular los valores de subsistemas que precisan desconfiguración avanzada (CPU y memoria), se utilizan los comandos de OBP asr-enable y asr-disable a fin de activar o desactivar cada subsistema de forma selectiva.
Existen duplicaciones en los valores de usuario para la desconfiguración por básica y avanzada. Siempre que sea posible, es preferible utilizar los comandos asr-enable y asr-disable de la desconfiguración avanzada.
Es posible generar una lista de parámetros válidos para los comandos asr-disable y asr-enable ejecutando cualquiera de ellos sin parámetros.
ok asr-disable ? Nombre de subsistema no válido: Known 'enable/disable' subsystem components are: bank* bank3 bank2 bank1 bank0 dimm15 dimm14 dimm13 dimm12 dimm11 dimm10 dimm9 dimm8 dimm7 dimm6 dimm5 dimm4 dimm3 dimm2 dimm1 dimm0 cpu* cpu1 cpu0 ok
Para poder llevar el control de los estados establecidos por los valores definidos manualmente, se ha incorporado un nuevo comando de usuario, .asr, que permite ver el resumen de valores en uso.
ok asr-disable cpu1 bank3 ok .asr CPU0: Enabled CPU1: Disabled SC-MP: Enabled Psycho@1f: Enabled Cheerio: Enabled SCSI: Enabled Mem Bank0: Enabled Mem Bank1: Enabled Mem Bank2: Enabled Mem Bank3: Disabled PROM: Enabled NVRAM: Enabled TTY: Enabled SuperIO: Enabled PCI Slots: Enabled
OpenBoot proporciona una variable binaria controlada por NVRAM y denominada auto-boot? que determina si la OBP arrancará automáticamente el sistema operativo después de cada restauración. El valor predeterminado para las plataformas SUN es true.
Si un sistema detecta un fallo durante el diagnóstico de encendido, no se tiene en cuenta la variable auto-boot? y el sistema no arranca a menos que el usuario lo haga manualmente. Obviamente, este comportamiento no es el adecuado para un caso de arranque degradado, por lo que la OBP del sistema Enterprise 250 proporciona una segunda variable binaria controlada por NVRAM-que se denomina auto-boot-on-error?. Esta conmutación controla si el sistema intentará efectuar un arranque degradado cuando se detecte el fallo de un subsistema. Tanto auto-boot? como auto-boot-on-error? deben tener el valor true para poder habilitar el arranque degradado.
ok setenv auto-boot-on-error? true
El valor predeterminado de auto-boot-on-error? es false. Por este motivo, el sistema no intentará realizar un arranque degradado a menos que el usuario lo cambie por true. Igualmente, el sistema no tratará de efectuar un arranque degradado como respuesta a un error grave sin solución, aunque dicho arranque esté habilitado. Un ejemplo de error grave es cuando todas las CPU del sistema están desactivadas por un fallo detectado por POST o como resultado de los valores definidos manualmente por el usuario.
El protocolo estándar de restauración del sistema no tiene en cuenta el diagnóstico del firmware a menos que la variable NVRAM diag-switch? esté definida como true. El valor predeterminado de esta variable es false.
Para poder utilizar la ASR en los servidores Enterprise 250, conviene poder ejecutar el diagnóstico del firmware (POST/OBDiag) en algunos o todos los casos de restauración. En lugar de cambiar simplemente el valor predeterminado de diag-switch? por true, que conlleva otros efectos (consultar el OpenBoot 3.x Command Reference Manual), la Enterprise 250 OBP proporciona una nueva variable NVRAM denominada diag-trigger, que permite determinar qué casos de restauración, si los hay, activarán automáticamente las funciones POST/OBDiag. La variable diag-trigger y sus distintos valores se explican en la tabla siguiente.
diag-trigger no tiene ningún efecto a menos que diag-switch? esté definida como true.
Valor |
Función |
---|---|
power-reset (predeterminado) |
Ejecuta el diagnóstico sólo en restauraciones de encendido. |
error-reset | Ejecuta el diagnóstico sólo en restauraciones por encendido, errores graves de hardware y advertencias de error. |
soft-reset |
Ejecuta el diagnóstico en todas las restauraciones (excepto las de XIR), incluidas aquellas provocadas por los comandos init 6 o reboot de UNIX. |
none |
Deshabilita la activación automática del diagnóstico por cualquier evento de restauración. Con todo, los usuarios pueden ejecutar el diagnóstico manualmente pulsando simultáneamente las teclas Stop y d al encender el sistema, o poniendo el botón del panel frontal en la posición de Diagnostics al encender el sistema. |
En el ejemplo siguiente, la variable diag-trigger se utiliza para activar las funciones de diagnóstico POST y OpenBoot en todas las restauraciones excepto las de XIR.
ok setenv diag-switch? true ok setenv diag-trigger soft-reset