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

Funcionamiento de las zonas

Una zona no global sería similar a una caja. Una o varias aplicaciones pueden ejecutarse en esa caja sin interactuar con el resto del sistema. Las zonas de Solaris aíslan las aplicaciones y servicios utilizando unos límites flexibles y bien definidos. Las aplicaciones que se ejecutan en la misma instancia del sistema operativo Solaris se pueden administrar de forma independiente. De este modo, pueden ejecutarse diferentes versiones de la misma aplicación en zonas distintas, para cumplir los objetivos de la configuración.

Un proceso asignado a una zona puede manipular, supervisar y comunicarse directamente con otros procesos asignados a la misma zona. El proceso no puede llevar a cabo estas funciones con procesos que están asignados a otras zonas del sistema o con procesos que no están asignados a ninguna zona. Los procesos asignados a diferentes zonas sólo pueden comunicarse a través de las API de red.

A partir de Solaris 10 8/07, las redes IP pueden configurarse de modos distintos, en función de si la zona tiene su instancia IP exclusiva o comparte la configuración y el estado de la capa de IP con la zona global. Para obtener más información sobre los tipos de IP en las zonas, consulte Interfaces de red de zona. Para obtener información relativa a la configuración, consulte Cómo configurar la zona.

Cada sistema Solaris contiene una zona global. La zona global tiene una doble función. La zona global es tanto la zona predeterminada para el sistema, como la zona que se usa para el control administrativo de todo el sistema. Todos los procesos se ejecutan en la zona global si el administrador global no crea zonas no globales, denominadas simplemente zonas.

La zona global es la única zona desde la que se puede configurar, instalar, gestionar o desinstalar una zona no global. Sólo es posible iniciar la zona global desde el hardware del sistema. La administración de la infraestructura del sistema, como dispositivos físicos, enrutamiento en una zona IP compartida o reconfiguración dinámica (DR), sólo es posible en la zona global. Algunos procesos con privilegios adecuados que se ejecuten en la zona global pueden acceder a objetos asociados con otras zonas.

Los procesos sin privilegios en la zona global podrían llevar a cabo operaciones no permitidas para los procesos con privilegios en una zona no global. Por ejemplo, los usuarios de la zona global pueden ver información sobre cada uno de los procesos del sistema. Si esta función presenta un problema para su sitio, puede restringir el acceso a la zona global.

Se asigna un nombre a cada zona, incluida la zona global. La zona global siempre tiene el nombre global. Cuando se inicia la zona, el sistema también asigna a cada zona un identificador numérico exclusivo. La zona global siempre se asigna al ID 0. Los nombres de zona e ID numéricos se describen en Uso del comando zonecfg.

Cada zona también tiene un nombre de nodo completamente independiente del nombre de la zona. El nombre de nodo lo asigna el administrador de la zona. Para obtener información adicional, consulte Nombre de nodo de zona no global.

Cada zona tiene una ruta a su directorio raíz relativa al directorio raíz de la zona global. Para más información, consulte Uso del comando zonecfg.

La clase de planificación para una zona no global se configura como la clase de planificación para el sistema de forma predeterminada. Consulte Clase de planificación en una zona para conocer los métodos que se utilizan para configurar la clase de planificación de una zona.

Puede utilizar el comando priocntl que se describe en la página del comando man priocntl(1) para mover los procesos en ejecución a una clase de planificación diferente sin cambiar la clase de planificación predeterminada ni reiniciar.

Resumen de la función de zonas

La tabla siguiente resume las características de las zonas globales y no globales.

Tipo de zona 

Característica 

Global 

 

  • El sistema le asigna el ID 0

  • Proporciona la única instancia del núcleo de Solaris que se puede iniciar y ejecutar en el sistema

  • Contiene una instalación completa de los paquetes de software del sistema Solaris

  • Puede contener paquetes de software adicionales, así como archivos, directorios, software y otros datos adicionales que no se instalan mediante paquetes

  • Proporciona una base de datos de productos completa y coherente que contiene información acerca de todos los componentes de software instalados en la zona global

  • Almacena solamente la información de configuración específica para la zona global como, por ejemplo, la tabla del sistema de archivos y el nombre de host de la zona global

  • Se trata de la única zona que tiene información de todos los dispositivos y todos los sistemas de archivos

  • Es la única zona que tiene constancia de la existencia y la configuración de la zona no global

  • Es la única zona desde la que se puede configurar, instalar, gestionar o desinstalar una zona no global

No global 

 

  • El sistema le asigna un ID de zona cuando se inicia la zona

  • Comparte el funcionamiento en el núcleo de Solaris iniciado desde la zona global

  • Tiene instalado un subconjunto de los paquetes de software del sistema operativo Solaris

  • Contiene paquetes de software Solaris compartidos desde la zona global

  • Puede contener paquetes de software instalados adicionales que no estén compartidos desde la zona global

  • Puede contener archivos, directorios, software y otros datos adicionales creados en la zona no global que no se instalan mediante paquetes y no están compartidos desde la zona global

  • Dispone de una base de datos de productos coherente que incluye información acerca de todos los componentes de software instalados en la zona, con independencia de que estén presentes en la zona no global o que sean elementos de sólo lectura compartidos desde la zona global

  • No tiene información sobre la existencia de ninguna otra zona

  • No se pueden instalar, gestionar ni desinstalar otras zonas, incluida ella misma

  • Dispone solamente de información de configuración específica para dicha zona no global como, por ejemplo, la tabla del sistema de archivos y el nombre de host de la zona no global

  • Puede tener su propia configuración de zona horaria

Administración de las zonas no globales

Un administrador global tiene privilegios de superusuario o el rol de administrador principal. Cuando el administrador global inicia sesión en la zona global, puede supervisar y controlar el sistema de forma global.

Un administrador de zona puede administrar una zona no global. El administrador global asigna el perfil de administración de zona al administrador de zona. Los privilegios de un administrador de zona se reducen a una zona no global.

Creación de zonas no globales

El administrador global utiliza el comando zonecfg para configurar una zona especificando varios parámetros para la plataforma virtual y el entorno de aplicación de la zona. A continuación, el administrador global instala la zona, y utiliza el comando de administración de zonas zoneadm para instalar software en el paquete de la jerarquía del sistema de archivos que se ha establecido para la zona. El administrador global puede iniciar sesión en la zona instalada utilizando el comando zlogin. En el primer inicio de sesión, se completa la configuración interna para la zona. A continuación, se utiliza el comando zoneadm para iniciar la zona.

Para obtener información sobre la configuración de zonas, consulte el Capítulo 17Configuración de zonas no globales (descripción general). Para obtener información sobre la instalación de zonas, consulte el Capítulo 19Cómo instalar, detener, clonar y desinstalar zonas no globales (descripción general). Para obtener información sobre el inicio de sesión de las zonas, consulte el Capítulo 21Inicio de sesión en zonas no globales (descripción general).

Modelo de estado de zona no global

Una zona no global puede tener uno de los seis estados siguientes:

Configurada

La configuración de la zona está completa y se envía a una ubicación de almacenamiento estable. Sin embargo, todavía no están presentes los elementos del entorno de aplicación de la zona que deben especificarse tras el inicio inicial.

Incompleta

Durante una operación de instalación o desinstalación, zoneadm define el estado de la zona de destino como incompleto. Cuando la operación se completa correctamente, el estado se configura con el estado correcto.

Instalada

La configuración de la zona se instancia en el sistema. El comando zoneadm permite verificar que la configuración se pueda utilizar correctamente en el sistema Solaris designado. Los paquetes se instalan bajo la ruta raíz de la zona. En este estado, la zona no tiene ninguna plataforma virtual asociada.

Lista

Se establece la plataforma virtual para la zona. El núcleo crea el proceso zsched, las interfaces de red se configuran y ponen a disposición de la zona, los sistemas de archivos se montan y los dispositivos se configuran. El sistema asigna un ID de zona único. En esta fase, no se ha iniciado ningún proceso asociado con la zona.

Ejecutándose

Los procesos del usuario asociados con el entorno de aplicación de la zona están en ejecución. La zona pasa al estado de ejecución en cuanto se crea el primer proceso de usuario asociado con el entorno de aplicación (init).

Cerrándose y cerrada

Se trata de estados de transición visibles cuando se está deteniendo la zona. Sin embargo, si una zona no puede cerrarse por cualquier motivo, se detendrá en uno de estos estados.

El Capítulo 20Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas) y la página del comando man zoneadm(1M) describen cómo utilizar el comando zoneadm para iniciar las transiciones entre estos estados.

Tabla 16–1 Comandos que afectan al estado de la zona

Estado de zona actual 

Comandos aplicables 

Configurada 

zonecfg -z nombre_zona verify

zonecfg -z nombre_zona commit

zonecfg -z nombre_zona delete

zoneadm -z nombre_zona attach

zoneadm -z nombre_zona verify

zoneadm -z nombre_zona install

zoneadm -z nombre_zona clone

También puede utilizar zonecfg para cambiar el nombre de una zona que tenga el estado de configurada o instalada.

Incompleta 

zoneadm -z nombre_zona uninstall

Instalada 

zoneadm -z nombre_zona ready (opcional)

zoneadm -z nombre_zona boot

zoneadm -z nombre_zona uninstall desinstala la configuración de la zona especificada del sistema.

zoneadm -z nombre_zona move ruta

zoneadm -z nombre_zona detach

zonecfg -z nombre_zona puede utilizarse para añadir o eliminar una propiedad attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv, net, rctl o scheduling-class. También puede cambiar el nombre de una zona que tenga el estado de instalada. Los recursos inherit-pkg-dir no se pueden cambiar.

Lista 

zoneadm -z nombre_zona boot

zoneadm halt y el reinicio del sistema devuelven una zona con el estado de lista al estado de instalada.

zonecfg -z nombre_zona puede utilizarse para añadir o eliminar una propiedad attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv, net, rctl o scheduling-class. Los recursos inherit-pkg-dir no se pueden cambiar.

Ejecutándose 

zlogin opciones zonename

zoneadm -z nombre_zona reboot

zoneadm -z nombre_zona halt devuelve a una zona lista el estado de instalada.

zoneadm halt y el reinicio del sistema devuelven una zona en ejecución al estado de instalada.

zonecfg -z nombre_zona puede utilizarse para añadir o eliminar una propiedad attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv, net, rctl o scheduling-class. Los recursos zonepath y inherit-pkg-dir no se pueden cambiar.


Nota –

Los parámetros que se modifican con zonecfg no afectan a una zona en ejecución. La zona debe reiniciarse para que los cambios surtan efecto.


Características de las zonas no globales

Una zona proporciona aislamiento a prácticamente cualquier nivel de granularidad que se desee. Una zona no necesita una CPU dedicada, ni un dispositivo físico ni una porción de memoria física. Estos recursos pueden estar multiplexados a lo largo de varias zonas que se ejecuten en un único sistema o dominio. También pueden estar asignados en función de las zonas usando las funciones de gestión de recursos que estén disponibles en el sistema operativo.

Cada zona puede proporcionar un conjunto se servicios personalizados. Para aplicar el aislamiento básico de los procesos, cada uno de ellos puede ver o señalar únicamente aquellos procesos que se encuentren en la misma zona. La comunicación básica entre las zonas se lleva a cabo asignando conectividad de red a cada IP de zona. Una aplicación que se ejecute en una zona no puede observar el tráfico de red de otra zona. Este aislamiento se mantiene aunque los respectivos flujos de paquetes viajen a través de la misma interfaz física.

Cada zona cuenta con una porción de la jerarquía del sistema de archivos. Como cada zona está limitada a su árbol de la jerarquía del sistema de archivos, una carga de trabajo que se esté ejecutando en una zona concreta no puede acceder a los datos que estén en un disco de otra carga de trabajo que se ejecute en una zona diferente.

Los archivos utilizados por los servicios de nombres residen en la vista de un sistema de archivos raíz propia de una zona. De esta forma, los servicios de nombre que estén en distintas zonas estarán aislados unos de otros y podrán configurarse de forma diferente.

Uso de las funciones de administración de recursos con las zonas no globales

Si utiliza funciones de administración de recursos, debe alinear los límites de los controles de administración de recursos con los de las zonas. Esta alineación crea un modelo más completo de un equipo virtual, en el que es posible controlar el acceso al espacio de nombres, el aislamiento de seguridad y el uso de los recursos.

Cualquier requisito especial para utilizar las distintas funciones de administración de recursos con las zonas se describe en los capítulos de este manual relativos a dichas funciones.