Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Solaris 10 11/06: migración de una zona no global a un equipo distinto

En la versión Solaris 10 5/08, puede efectuar una ejecución de prueba de una migración de zona antes de mover la zona a otro equipo. Para obtener más información, consulte Solaris 10 5/08: validación de una migración de zona antes de efectuar la migración.

Acerca de la migración de una zona

Se ha añadido información nueva a esta sección desde la versión 10 11/06 de Solaris.

Los comandos zonecfg and zoneadm se pueden utilizar para migrar una zona no global de un sistema a otro. La zona se detiene y desconecta de su host actual. La zonepath se pasa al sistema de destino, al que se conecta.

Se aplican las siguientes restricciones a la migración de zona:

Para comprobar la versión de Solaris y la arquitectura del equipo, escriba:


#uname -m

El proceso zoneadm detach crea la información necesaria para conectar a zona en un sistema diferente. El proceso zoneadm attach verifica que el equipo de destino esté configurado correctamente para poder alojar la zona.

Dado que hay varios modos de hacer que zonepath esté disponible en el nuevo host, el movimiento de zonepath de un sistema a otro es un proceso manual que lleva a cabo el administrador global.

Cuando se conecta al sistema nuevo, la zona tiene el estado de instalado.

ProcedureCómo migrar una zona no global

Debe ser el administrador global de la zona global para llevar a cabo este procedimiento.

  1. Conviértase en superusuario o asuma el rol de administrador principal.

    Para crear el rol y asignarlo a un usuario, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Detenga la zona que vaya a migrar (my-zone en este procedimiento).


    host1# zoneadm -z my-zone halt
    
  3. Desconecte la zona.


    host1# zoneadm -z my-zone detach
    

    La zona desconectada tiene ahora el estado de configurada.

  4. Mueva zonepath para my-zone al nuevo host.

    Consulte Cómo mover zonepath a un nuevo host para obtener más información.

  5. En el nuevo host, configure la zona.


    host2# zonecfg -z my-zone
    

    Aparecerá el siguiente mensaje del sistema:


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Para crear la zona my-zone en el nuevo host, utilice el comando zonecfg con la opción -a y zonepath en el nuevo host.


    zonecfg:my-zone> create -a /export/zones/my-zone
    
  7. (Opcional) Visualice la configuración.


    zonecfg:my-zone> info
    zonename: my-zone
    zonepath: /export/zones/my-zone
    autoboot: false
    pool:
    inherit-pkg-dir:
             dir: /lib
    inherit-pkg-dir:
             dir: /platform
    inherit-pkg-dir:
             dir: /sbin
    inherit-pkg-dir:
             dir: /usr
    net:
             address: 192.168.0.90
             physical: bge0
  8. Realice los ajustes de configuración necesarios.

    Por ejemplo, el dispositivo físico de red es diferente en el nuevo host, o los dispositivos que forman parte de la configuración podrían tener nombres diferentes en el nuevo host.


    zonecfg:my-zone> select net physical=bge0
    zonecfg:my-zone:net> set physical=e1000g0
    zonecfg:my-zone:net> end
    
  9. Confirme la configuración y cierre.


    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  10. Conecte la zona al nuevo host mediante uno de los métodos siguientes.

    • Conecte la zona con una comprobación de la validación.


      host2# zoneadm -z my-zone attach
      

      El administrador del sistema recibe una notificación de las acciones que se deben llevar a cabo si se producen una o las dos condiciones que se especifican a continuación:

      • Los parches y paquetes necesarios no se encuentran en el nuevo equipo.

      • Los niveles de software cambian en función del equipo.

    • Solaris 10/08: conecte la zona con una comprobación de la validación y actualícela para que coincida con un host que ejecute versiones posteriores de los paquetes dependientes o que tenga una clase de máquina distinta tras la conexión.


      host2# zoneadm -z my-zone attach -u
      

      Consejo –

      Solaris 10 10/08: si el sistema de origen ejecuta una versión anterior del sistema Solaris, es posible que no genere una lista correcta de paquetes cuando se desconecte la zona. Para asegurarse de que se genere la lista de paquetes correcta en el destino, elimine el archivo SUNWdetached.xml de zonepath. Al eliminar este archivo, el sistema de destino genera una nueva lista de paquetes.

      No es necesario con la versión Solaris 10 5/09 ni con versiones posteriores.


    • Solaris 10 9/10: conecte la zona con una comprobación de la validación y actualice todos los paquetes de la zona, de tal forma que estos paquetes coincidan con lo que se vería con una zona no global recién instalada en este host. Los paquetes instalados dentro de la zona, pero no instalados en la zona global, se omiten y se dejan tal cual.


      host2# zoneadm -z my-zone attach -U
      
    • Solaris 10 5/09 y versiones posteriores: utilice también la opción -b para recuperar parches determinados, oficiales o IDR, durante la conexión.


      host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08
      

      Tenga en cuenta que puede utilizar la opción -b independientemente de las opciones -u o - U.

    • Fuerce la operación de conexión sin llevar a cabo la validación.


      host2# zoneadm -z my-zone attach -F
      

      Precaución – Precaución –

      La opción -F permite forzar attach sin realizar ninguna validación. Esto resulta útil en determinados casos, como en un entorno de clúster o para las operaciones de copia de seguridad y restauración, pero requiere que el sistema esté configurado correctamente para alojar la zona. Una configuración incorrecta podría conllevar un comportamiento inesperado más adelante.


ProcedureCómo mover zonepath a un nuevo host

Hay múltiples modos de crear un archivo de zonepath. Por ejemplo, puede utilizar los comandos cpio o pax que se describen en las páginas del comando man cpio(1)) y pax(1).

Existen diversos modos de transferir el archivo al nuevo host. El mecanismo utilizado para transferir zonepath del host de origen al destino depende de la configuración local. En algunos casos, como en una SAN, los datos de zonepath podrían no moverse realmente. La SAN podría reconfigurarse simplemente para que zonepath esté visible en el nuevo host. En otros casos, zonepath podría guardarse en una cinta, y ésta enviarse a un nuevo emplazamiento.

Por estos motivos, este paso no es automático. El administrador del sistema debe seleccionar la técnica más apropiada para mover zonepath al nuevo host.

  1. Conviértase en superusuario o asuma el rol de administrador principal.

    Para crear el rol y asignarlo a un usuario, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Mueva zonepath al nuevo host. Puede utilizar el método que se describe en este procedimiento, u otro método que elija.


Ejemplo 23–1 Cómo archivar y mover zonepath utilizando el comando tar

  1. Cree un archivo tar de zonepath en host1 y transfiéralo a host2 utilizando el comando sftp.


    host1# cd /export/zones
    host1# tar cf my-zone.tar my-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put my-zone.tar
    Uploading my-zone.tar to /export/zones/my-zone.tar
    sftp> quit
    
  2. En host2, desempaquete el archivo tar.


    host2# cd /export/zones
    host2# tar xf my-zone.tar
    

Para obtener más información, consulte sftp(1) y tar(1).


Errores más frecuentes

Consulte Resolución de problemas con una operación zoneadm attach para obtener información acerca de la resolución de problemas sobre:

Pasos siguientes

Si ha copiado los datos en lugar de volver a configurar la SAN, los datos de zonepath seguirán visibles en el host de origen aunque ahora la zona tenga el estado de configurada. Puede eliminar manualmente zonepath del host de origen una vez haya terminado de mover los datos al nuevo host, o volver a conectar la zona al host de origen y utilizar el comando zoneadm uninstall para eliminar zonepath.

Solaris 10 5/08: validación de una migración de zona antes de efectuar la migración

Antes de mover la zona al nuevo equipo, puede realizar una ejecución de prueba utilizando la opción -n de “no ejecutar”.

El submcomando zoneadm detach se utiliza con la opción -n para generar un manifiesto de una zona que se ejecuta sin desconectarla realmente. El estado de la zona del sistema de origen no se modifica. El manifiesto de la zona se envía a stdout. El administrador global puede dirigir esta salida a un archivo o conectarla con un comando remoto para que se valide inmediatamente en el host de destino. El subcomando zoneadm attach se utiliza con la opción -n para leer este manifiesto y comprobar que el equipo de destino tenga la configuración correcta para alojar la zona sin necesidad de realizar una conexión realmente.

La zona del sistema de destino no se debe configurar en el host nuevo antes de efectuar una conexión de ejecución de prueba.

ProcedureSolaris 10 5/08: cómo validar una migración de zona antes de efectuar la migración

Para llevar a cabo este procedimiento, debe ser el administrador global de la zona global.

  1. Conviértase en superusuario o asuma el rol de administrador principal.

    Para crear el rol y asignarlo a un usuario, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Utilice uno de los métodos siguientes:

    • Genere el manifiesto en el host de origen para my-zone y vincule la salida con un comando remoto que, de forma inmediata, validará el host de destino:


      global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n -
      

      El guión () al final de la línea especifica stdin para la ruta.

      La validación es la salida a la pantalla del host de origen, que es stdout.

    • Genere el manifiesto en el host de origen para my-zone y dirija la salida a un archivo:


      global# zoneadm -z my-zone detach -n > filename
      

      Copie el manifiesto en el nuevo sistema host teniendo en cuenta las instrucciones de Cómo mover zonepath a un nuevo host. A continuación, efectúe la validación:


      global# zoneadm attach -n path_to_manifest
      

      La ruta puede ser para especificar stdin.