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

Capítulo 19 Cómo instalar, detener, clonar y desinstalar zonas no globales (descripción general)

En este capítulo se describe la instalación de zonas en el sistema Solaris. Asimismo, se explican los dos procesos que administran la plataforma virtual y el entorno de aplicación, zoneadmd y zsched. También se incluye información sobre cómo detener, reiniciar, clonar y desinstalar zonas.

En este capítulo se tratan los temas siguientes:

Para clonar una zona no global, instale e inicie una zona no global; para detener o desinstalar una zona no global, consulte el Capítulo 20Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas).

Para obtener información sobre la instalación de la zona con marca lx, consulte el Capítulo 34Cómo instalar, iniciar, detener, clonar y desinstalar las zonas con marca lx (descripción general) y el Capítulo 35Cómo instalar, iniciar, detener, desinstalar y clonar zonas con marca lx (tareas).

Novedades de este capítulo

Solaris 10 11/06: Ahora se incluye la posibilidad de clonar una zona no global. Consulte Solaris 10 11/06: cómo clonar una zona no global en el mismo sistema.

Solaris 10 8/07: Asimismo, se ha añadido información sobre los argumentos de inicio. Consulte Solaris 10 8/07: argumentos de inicio de zona.

Solaris 10 5/09: la clonación de ZFS se ha implementado. Cuando tanto el origen zonepath como el destino zonepath residen en ZFS y se encuentran en la misma agrupación, el comando zoneadm clone utiliza automáticamente ZFS para clonar la zona. Si ambos zonepath no son ZFS, o bien si una es ZFS y la otra no es ZFS, el código utilizará la técnica de copia existente.

Conceptos de instalación y administración de zonas

El comando zoneadm que se describe en la página del comando man zoneadm(1M) es la herramienta principal que se utiliza para instalar y administrar zonas no globales. Las operaciones que utilizan el comando zoneadm deben ejecutarse desde la zona global. Pueden llevarse a cabo las tareas siguientes utilizando el comando zoneadm:

Para conocer los procedimientos de instalación y verificación, consulte el Capítulo 20Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas) y la página del comando man zoneadm(1M) Consulte también la página del comando man zoneadm(1M)para conocer las opciones compatibles con el comando zoneadm list. Para ver los procedimientos de configuración, consulte el Capítulo 18Planificación y configuración de zonas no globales (tareas) y la página del comando man zonecfg(1M) Los estados de zona se describen en Modelo de estado de zona no global.

Si tiene previsto producir registros de auditoría de Solaris para zonas, lea Uso de auditorías de Solaris en zonas antes de instalar las zonas no globales.

Construcción de zonas

Esta sección se aplica a la construcción inicial de una zona, y no a la clonación de las zonas existentes.

Una vez configurada una zona no global, debe verificar que la zona pueda instalarse de forma segura en la configuración del sistema. A continuación, puede instalar la zona. El sistema instala los archivos necesarios para el sistema de archivos raíz de la zona en la ruta raíz de la zona.

Se instala una zona no global con la configuración de red abierta (generic_open.xml). En el Capítulo 19, Managing Services (Tasks) de System Administration Guide: Basic Administration se describen los tipos de configuración de red. El administrador de zona puede ajustar la zona a la configuración de red limitada (generic_limited_net.xml) utilizando el comando netservices. Con los comandos SMF pueden activarse o desactivarse servicios específicos.

Una zona instalada correctamente está lista para el inicio y el inicio inicial.

El método utilizado para instalar paquetes inicialmente en una instalación de Solaris es también el método que se utiliza para rellenar una zona no global.

La zona global debe contener todos los datos necesarios para rellenar una zona no global. Rellenar una zona incluye crear directorios, copiar archivos y proporcionar información acerca de la configuración.

Sólo se utiliza la información o los datos creados en la zona global a partir de paquetes para rellenar la zona a partir de la zona global. Para obtener más información, consulte las páginas del comando man pkgparam(1) y pkginfo(4).

No se hace referencia ni se copian los datos de los siguientes elementos cuando se instala una zona:

Además, los siguientes tipos de información, si están presentes en la zona global, no se copian en una zona que se esté instalando:

Si se utiliza la auditoría de Solaris, es posible que se necesiten modificaciones en los archivos de auditoría que se copian de la zona global. Para obtener más información, consulte Uso de auditorías de Solaris en zonas.

No es posible configurar las funciones siguientes en una zona no global:

Los recursos especificados en el archivo de configuración se añaden cuando la zona pasa del estado de instalada al estado de lista. El sistema asigna un ID de zona único. Se montan los sistemas de archivos y se configuran las interfaces de red y los dispositivos. Al realizar la transición al estado de lista, la plataforma virtual se prepara para empezar a ejecutar procesos del usuario. En el estado de lista, se inicial los procesos zsched y zoneadmd para administrar la plataforma virtual.

Una zona con el estado de lista no tiene procesos de usuario en ejecución. La principal diferencia entre una zona lista y una zona en ejecución es que en una zona en ejecución hay como mínimo un proceso ejecutándose. Consulte la página del comando man init(1M) para obtener información adicional.

El daemon zoneadmd

El daemon de administración de zonas, zoneadmd, es el proceso principal para administrar la plataforma virtual de la zona. El daemon también es el responsable de administrar el inicio y cierre de la zona. Hay un proceso zoneadmd en ejecución para cada zona activa (lista, en ejecución o cerrándose) en el sistema.

El daemon zoneadmd configura la zona tal como se especifica en la configuración de zona. Este proceso incluye las acciones siguientes:

A menos que el daemon zoneadmd ya esté en ejecución, lo inicia automáticamente zoneadm. De este modo, si por cualquier motivo el daemon no se está ejecutando, cualquier invocación de zoneadm para administrar la zona reiniciará zoneadmd.

La página del comando man para el daemon zoneadmd es zoneadmd(1M).

Programador de zona zsched

Una zona activa es una zona que se encuentra en el estado de lista, de ejecución o de cierre. Cada zona activa tiene un proceso de núcleo asociado, zsched. Los subprocesos del núcleo que trabajan en nombre de la zona son propiedad de zsched. El proceso zsched permite al subsistema de zonas hacer un seguimiento de los subprocesos del núcleo por zona.

Entorno de aplicación de la zona

El comando zoneadm se utiliza para crear el entorno de aplicación de la zona.

Antes de iniciar por primera vez una zona no global, debe crearse la configuración interna de la zona. La configuración interna especifica un servicio de nombres que utilizar, la zona horaria y configuración regional predeterminadas, la contraseña del root de la zona y otros aspectos del entorno de aplicación. El entorno de aplicación se establece respondiendo a una serie de indicadores que aparecen en la consola de la zona, tal como se explica en Configuración de zona interna. Tenga en cuenta que la zona horaria y la configuración regional predeterminadas de una zona se pueden configurar independientemente de la configuración global.

Cómo detener, reiniciar y desinstalar zonas

En esta sección se describen los procedimientos para detener, reiniciar y desinstalar zonas. También se incluyen consejos para la resolución de problemas relativos a las zonas que no se pueden detener cuando se solicita.

Cómo detener una zona

El comando zoneadm halt se utiliza para eliminar tanto el entorno de aplicación como la plataforma virtual de una zona. A continuación, la zona se devuelve al estado de instalada. Se finalizan todos los procesos, se desconfiguran los dispositivos, se destruyen las interfaces de red, se desmontan los sistemas de archivos y se destruyen las estructuras de datos del núcleo.

El comando halt no ejecuta ninguna secuencia de cierre en la zona. Para cerrar una zona, consulte Uso de zlogin para cerrar una zona.

Si falla la operación de detener, consulte La zona no se detiene.

Cómo reiniciar una zona

El comando zoneadm reboot se utiliza para reiniciar una zona. La zona se detiene y se vuelve a iniciar. El ID de zona cambiará cuando se reinicie la zona.

Solaris 10 8/07: argumentos de inicio de zona

Las zonas admiten los siguientes argumentos de inicio utilizados con los comandos zoneadm boot y reboot:

Se aplican las definiciones siguientes:

-i altinit

Selecciona un ejecutable alternativo como primer proceso. altinit debe ser una ruta válida a un ejecutable. El primer proceso predeterminado se describe en init(1M).

-m smf_options

Controla el comportamiento de inicio de SMF. Existen dos categorías de opciones: las opciones de recuperación y las opciones de mensajes. Las opciones de mensajes determinan el tipo y el número de mensajes que se muestran durante el inicio. Las opciones de servicios determinan los servicios que se utilizan para iniciar el sistema.

Entre las opciones de recuperación se incluyen las siguientes:

debug

Imprime la salida por servicio estándar y todos los mensajes svc.startd en el registro.

milestone=milestone

Inicia el subgráfico definido por el estado guía especificado. Los estados guía válidos son none, single-user, multi-user, multi-user-server y all.

Las opciones de mensajes incluyen:

quiet

Imprime los mensajes de error y la salida por servicio estándar que requieren una acción del administrador

verbose

Imprime los mensajes y la salida por servicio estándar que ofrecen información adicional.

-s

Inicia sólo el estado guía svc:/milestone/single-user:default . Este estado es equivalente a init nivel s.

Para ver algunos ejemplos de uso, consulte Cómo iniciar una zona y Cómo iniciar una zona en modo monousuario.

Para obtener información sobre la utilidad de gestión de servicios de Solaris (SMF) e init, consulte el Capítulo 18, Managing Services (Overview) de System Administration Guide: Basic Administration, svc.startd(1M) e init(1M).

Zona autoboot

Si define la propiedad de recurso autoboot en la configuración de una zona como true, dicha zona se iniciará automáticamente cuando se inicie la zona global. La configuración predeterminada es false.

En el caso de las zonas que se inician automáticamente, también debe activarse el servicio de zonas svc:/system/zones:default.

Desinstalación de una zona

El comando zoneadm uninstall se utiliza para desinstalar todos los archivos del sistema de archivos raíz de la zona. Antes de continuar, el comando le solicita que confirme la acción, a menos que se utilice también la opción -F (forzar). El comando uninstall debe utilizarse con cautela, ya que su acción es irrevocable.

Solaris 10 11/06 y versiones posteriores: clonación de zonas no globales

La clonación permite copiar una zona instalada y configurada en el sistema para obtener rápidamente una nueva zona en el mismo sistema. Debe restablecer un mínimo de propiedades y recursos de los componentes que no pueden ser idénticos para zonas diferentes. Por tanto, zonepath debe cambiarse siempre. Asimismo, en el caso de una zona de IP compartida, la dirección IP de cualquier recurso de red debe ser diferente. En el caso de una zona de IP exclusiva, la propiedad física de cualquier recurso de red debe ser diferente.

Solaris 10 5/09: cuando tanto el origen zonepath como el destino zonepath residen en ZFS y se encuentran en la misma agrupación, el comando zoneadm clone utiliza automáticamente ZFS para clonar la zona. Al utilizar la clonación de ZFS, los datos no se copian en realidad hasta que no se han modificado. Por lo tanto, la clonación inicial ocupa muy poco tiempo. El comando zoneadm toma una instantánea de ZFS de la zonepath de origen, y configura la zonepath de destino. El sistema asigna a la instantánea el nombre SUNWzoneX, donde X es un ID exclusivo que se utiliza para distinguir entre varias instantáneas. La zonepath de la zona de destino se utiliza para asignar un nombre a la clonación de ZFS. Se efectúa un inventario del software a fin de que el sistema puede validar una instantánea que se utilice posteriormente. Para clonar una zona de origen varias veces, el comando zoneadm permite especificar que debe utilizarse una instantánea existente. El sistema valida que la instantánea ya creada se puede utilizar en el destino.

No puede utilizar instantáneas manuales, como el tipo que se describe en Creación y destrucción de instantáneas de ZFS de Guía de administración de Oracle Solaris ZFS. A este tipo de instantáneas le falta los datos para llevar a cabo una validación.

Es posible que desee clonar una zona de origen muchas veces, pero no tener una nueva instantánea para cada clonación. El parámetro -s del subcomando clone le permite especificar que se debe utilizar una instantánea existente tomada de una clonación anterior. Consulte Solaris 10 5/09: cómo clonar una zona a partir de una instantánea existente..

Debido a que el contenido de una instantánea representa una zona de un punto en el pasado, es posible que el sistema se haya actualizado de alguna manera como, por ejemplo, mediante parches o actualizaciones, desde que se tomó la instantánea. El hecho de que la zona se haya actualizado podría provocar la invalidez de la instantánea para su uso como zona en el sistema actual.


Nota –

Puede especificar que un ZFS zonepath se copie en lugar de que se clone, aunque el origen podría clonarse de esta forma.


Consulte Solaris 10 11/06: cómo clonar una zona no global en el mismo sistema para obtener más información.