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

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.