Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Requisitos de instalación para los paquetes de tipos de recursos

Hay dos requisitos relacionados con la instalación de los nuevos paquetes de tipos de recursos:

Información que se tiene que conocer antes de cambiar el archivo RTR

Algunas modernizaciones del tipo de recurso no implican la utilización de nuevos métodos o código del supervisor. Por ejemplo, una modernización de tipo de recurso puede cambiar sólo el valor predeterminado o la capacidad de ajuste de una propiedad del recurso. Dado que no cambia el código de método, el único requisito para instalar la modernización es disponer de un nombre de ruta válido a un archivo RTR legible.

Si no es necesario volver a registrar el antiguo tipo de recurso, el nuevo archivo RTR puede sobrescribir la versión anterior. En caso contrario, se puede situar el archivo RTR en un nuevo nombre de ruta.

Si la modernización cambia el valor predeterminado o la capacidad de ajuste de una propiedad, el método Validate de la nueva versión puede verificar en el momento de la migración que los atributos de la propiedad sean válidos para el nuevo tipo de recurso. Si la modernización cambia los atributos min, max o type de una propiedad, la orden scrgadm valida automáticamente estas limitaciones en el momento de la migración.

La documentación de modernización debe indicar cualquier atributo nuevo predeterminado de las propiedades. La documentación debe informar al administrador del sistema de que las propiedades de recurso se pueden modificar según los valores adecuados con la misma orden que edita la propiedad Type_version para modernizar el recurso a la nueva versión del tipo de recurso.

Si la modernización agrega o elimina propiedades, es probable que haya que modificar también algunos métodos de rellamada o código del supervisor.

Cambio del código del supervisor

Si el código del supervisor es el único cambio del tipo de recurso actualizado, la instalación del paquete podrá sobrescribir los binarios del supervisor. La documentación debe indicarle al administrador del sistema que suspenda la supervisión antes de instalar el paquete nuevo.

Cambio del código del método

Si el código del método es el único cambio del tipo de recurso actualizado, es importante determinar si el nuevo código del método es compatible con la versión anterior. Esto determina si el nuevo código del método se debe almacenar en un nuevo nombre de ruta o si se pueden sobrescribir los métodos antiguos.

Si los nuevos métodos Stop, Postnet_stop y Fini (si se declaran) se pueden aplicar a los recursos que se inicializaron o iniciaron por las versiones anteriores de los métodos Start, Prenet_stop o Init será posible sobrescribir los métodos antiguos con los nuevos.

Si el nuevo código del método no es compatible con la versión anterior, será necesario detener o desconfigurar un recurso con las versiones anteriores de los métodos antes de poder migrarlo al tipo de recurso modernizado. Si los nuevos métodos sobrescriben los antiguos, es posible que sea necesario apagar (y probablemente dejar sin gestión) todos los recursos del tipo antes de realizar la modernización del tipo de recurso. Si los nuevos métodos se guardan aparte de los antiguos (y ambos resultan accesibles inmediatamente), aún sin la compatibilidad con versiones anteriores será posible instalar la nueva versión del tipo de recurso y modernizar los recursos uno a uno.

Aunque los métodos nuevos sean compatibles con versiones anteriores, es posible que haya que modernizar los recursos de uno en uno para utilizar los nuevos métodos, mientras otros recursos siguen usando los métodos antiguos. Sigue siendo necesario guardar los métodos nuevos en un directorio aparte, en lugar de sobrescribir los antiguos.

Ello facilita el regreso a la versión anterior del tipo de recurso si surgiera un problema con la versión nueva.

Una forma de empaquetado consiste en incluir todas las versiones anteriores que siguen estando admitidas en el nuevo paquete. Esto permite que la nueva versión del paquete sustituya la versión anterior, sin sobrescribir ni suprimir las rutas antiguas a los métodos. El desarrollador del tipo de recurso deberá decidir cuántas versiones anteriores deben estar admitidas.


Nota –

No se recomienda sobrescribir métodos pkgrm/pkgadd en un nodo que esté actualmente en el clúster, ya que si RGM llama a un método cuando éste no está accesible en disco, se pueden producir resultados inesperados. La eliminación o sustitución del binario de un método en ejecución puede provocar también resultados inesperados.