Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Actualización de Solaris 10 con "Live Upgrade" (de Update 3 a Update 4)

Última Actualización: 17 de septiembre de 2007 - Lunes

En este documento abunda en mi experiencia con "Live Upgrade". En este caso describo la migración de Solaris 10 Update 3 (11/06) a Solaris 10 Update 4 (08/07).

Para comprender completamente este documento, habría que leerse los artículos anteriores:

Los cambios más reseñables respecto a la anterior actualización son:

  • Aunque el nuevo BE se creará en particiones completamente separadas del disco duro, no alterando para nada el sistema en funcionamiento, es buena idea hacer una copia de seguridad del sistema actual, y verificarla.

  • Necesito borrar un BE ("Boot Environment") antiguo para hacer sitio a la nueva instalación.

  • "Live Upgrade" trabaja realizando una copia recursiva del disco duro, en los directorios especificados. Las versiones previas de "Live Upgrade" no sabían nada de ZFS, así que replicaban los datos almacenados bajo ZFS "a lo bestia". Por ello, si utilizamos ZFS, es muy recomendable instalar las últimas actualizaciones de "Live Upgrade". Es decir, la última versión de "Live Upgrade" no copia los datos ZFS, como debe ser.

    Es una lástima que esta versión no incluya soporte de "ZFS Root" ni "ZFS Boot". A ver si para la Update 5...

  • Otra mejora en la última versión de la tecnología "Live Upgrade" es el soporte de zonas Solaris. Es decir, ¡por fin! podemos realizar "Live Upgrade" de sistemas Solaris 10 con zonas configuradas.

    Con este obstáculo solucionado, actualizar un sistema Solaris 10 con algo que no sea "Live Upgrade" pronto será un lejano recuerdo del pasado, sobre todo cuando Solaris soporte "ZFS Root" y "ZFS Boot". Algo planificado, en principio, para la próxima actualización de Solaris 10.

  • La última versión de Live Upgrade incluye un informe de progreso (porcentaje). Práctico para realizar una estimación del tiempo requerido para la actualización.

  • Nos interesa actualizar también la instalación del "Solaris 10 Companion", que es un conjunto de programas opcionales, típicamente Open Source. Los pasos son:

    • Tengo la imagen ISO del DVD, así que lo monto:
      # lofiadm -a /tmp/sol-10-u4-companion-ga.iso
      /dev/lofi/1
      # mount -o ro -F hsfs /dev/lofi/1 /tmp/sol-10-u4-companion-ga
      

    • Creamos un fichero "/tmp/sol-10-u4-companion-ga.cfg", con el siguiente contenido:
      mail=
      conflict=nocheck
      setuid=nocheck
      action=nocheck
      partial=nocheck
      instance=overwrite
      idepend=nocheck
      rdepend=nocheck
      space=check
      

      Esta configuración permite realizar una instalación completa de forma no interactiva.

    • A continuación montamos las particiones del nuevo "Boot Environment" y procedemos a instalar los programas:
      [root@tesalia /]# lumount Solaris10u4
      /.alt.Solaris10u4
      [root@tesalia /]# cd /tmp/sol-10-u4-companion-ga/
      [root@tesalia sol-10-u4-companion-ga]# cd Solaris_Software_Companion/Solaris_i386/Packages
      [root@tesalia Packages]# pkgadd -a /tmp/sol-10-u4-companion-ga.cfg -R/.alt.Solaris10u4 -d .
      [...]
      [root@tesalia Packages]# luumount Solaris10u4
      

  • Con el primer arranque de este nuevo "Boot Environment" tengo un par de problemas con el ZFS, y un par de directorios gestionados por ZFS que el sistema nuevo ha introducido cosillas y ZFS no los monta encima (al contrario que con los sistemas de ficheros normales, ZFS no se puede montar sobre directorios no vacíos). La solución es bastante simple: borramos los directorios problemáticos en cuestión, para que las versiones ZFS correctas se puedan montar encima. Los directorios son, en mi caso (con una configuración muy personalizada), "/var/log/" y "/var/ntp/ntpstats/".

  • Aprovechando ese primer arranque fallido, desactivo por "svc" el sistema de correo electrónico, que lo tengo muy personalizado y debo estudiar sus dependencias con atención, ahora que hemos actualizado el sistema. Por supuesto, una vez que el sistema está a mi gusto, lo reactivo.

  • Con el crecimiento del uso de estas máquinas, la partición raíz (la única que no puedo cambiar de tamaño con facilidad. La solución es crear alguna partición nueva (o varias) y mover los datos allí. La idea es que esos datos no necesiten actualizarse entre versiones. Los ejemplos más evidentes son particiones de logs, por ejemplo.

    En particular, he separado "/var/log/", que contiene varios gigabytes de logs que no dependen del sistema operativo.

    El problema es el sistema de activación de la tecnología "Live Upgrade", en concreto el "synclist". Dicho fichero contienen una lista de directorios y ficheros que hay que sincronizar cuando se realiza el primer arranque de un "Boot Environment". Entre dichos ficheros a sincronizar tenemos a "/var/log/syslog". Pero ese fichero, ahora, lo he movido ZFS y no se replica, así que ¿qué pasará con el intento de sincronización?. ¡¡Qué emocionante!! :-).

    (Al final no ha habido problemas con este tema).

  • Para comprobar que estamos arrancando con el BE correcto, podemos hacer un "uname -a", para comprobar la versión del kernel que tenemos o, más fácil, revisar el fichero "/etc/release".

  • Una forma simple de comprobar que todo está funcionando bien es ejecutar "svcs -xv". Este comando nos mostrará los servicios que no están funcionando, y la razón para ello.

  • Una de las novedades ZFS de esta actualización es que se ha añadido el comando "zpool history". Pero para activar ese comando es preciso actualizar el "zpool" ZFS, con el comando "zpool upgrade". Lamentablemente si realizamos esa actualización del sistema de almacenamiento, éste no será accesible por la versión anterior de Solaris 10. Es decir, si esta actualización nos da problemas, no podremos volver fácilmente a la versión anterior del sistema operativo.

    Por ello, de momento no realizo la actualización del "zpool". Una vez que hayan pasado unos días y esta versión demuestre ser estable, y no necesitemos la red de seguridad de poder volver a la versión anterior, procederé a la actualización del "zpool".


Historia

  • 17/sep/07: Primera versión de esta página.



Python Zope ©2007 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS