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

Parte II Zonas

Esta parte introduce la tecnología de partición de software Zonas de Solaris, que proporciona un modo de virtualizar los servicios de sistemas operativos para crear un entorno aislado para la ejecución de aplicaciones. Este aislamiento evita que los procesos que se ejecutan en una zona supervisen o afecten a procesos que se ejecutan en otras zonas.

Capítulo 16 Introducción a Solaris Zones

La función Zonas de Solaris del sistema operativo Solaris proporciona un entorno aislado en el que ejecutar aplicaciones en el sistema. Zonas de Solaris es un componente del entorno de contenedores de Solaris.

Este capítulo trata de los temas siguientes:

Si está listo para empezar a crear zonas en el sistema, omita el Capítulo 17Configuración de zonas no globales (descripción general).

Descripción general de las zonas

La tecnología de partición de zonas de Solaris se utiliza para virtualizar servicios del sistema operativo y proporcionar un entorno aislado y seguro para ejecutar aplicaciones. Una zona es un entorno de sistema operativo virtualizado creado en una única instancia del sistema operativo Solaris. Cuando se crea una zona, se genera un entorno de ejecución de aplicaciones en el que los procesos están aislados del resto del sistema. Este aislamiento evita que los procesos que se están ejecutando en una zona sean controlados o se vean afectados por los procesos que se están ejecutando en otras zonas. Incluso un proceso que se está ejecutando con credenciales de superusuario no puede ver ni afectar a la actividad que se esté realizando en otras zonas.

Una zona también proporciona un nivel abstracto que separa las aplicaciones de los atributos físicos del equipo en el que se han implementado. Entre los ejemplos de este tipo de atributos, se incluyen las rutas de dispositivos físicos.

Las zonas pueden utilizarse en cualquier equipo en el que se ejecute como mínimo Solaris 10. El límite máximo de número de zonas en un sistema es de 8192. El número de zonas que se pueden alojar de manera efectiva en un único sistema viene determinado por la cantidad total de requisitos de recursos del software que se esté ejecutando en todas las zonas.

En la versión Solaris 10, existen dos tipos de modelos de sistema de archivos raíz de zona no global: disperso y raíz completa. El modelo de zona raíz dispersa optimiza el uso compartido de objetos. El modelo de zona raíz completa permite la máxima configuración. Estos conceptos se describen en el Capítulo 18Planificación y configuración de zonas no globales (tareas).

Solaris 10 9/10: los productos que se instalan, denominados activos del sistema, están controlados por una función de registro automático. Durante la instalación, el usuario proporciona credenciales o se registra de forma anónima. Cuando se reinicia el sistema, las etiquetas de servicio para los nuevos productos se cargan en el servidor My Oracle Support. Esta función sólo es efectiva en la zona global. Consulte System Administration Guide: Basic Administration para obtener más información.

Acerca de las zonas con marca

Las zonas con marca (BrandZ) proporcionan la estructura para crear contenedores que incluyan conjuntos alternativos de comportamientos de tiempo de ejecución. El término marca puede hacer referencia a una amplia variedad de entornos operativos. Por ejemplo, la zona no global puede emular al sistema operativo Solaris 8, o un entorno operativo, como Linux.

La marca define el entorno operativo que puede instalarse en la zona y determina cómo se comportará el sistema dentro de la zona para que el software instalado en la zona funcione correctamente. Asimismo, la marca de una zona se utiliza para identificar el tipo de aplicación correcta en el momento de su inicio. Toda la administración de zonas con marca se lleva a cabo mediante extensiones a los comandos de zonas estándar. La mayoría de los procedimientos de administración son idénticos para todas las zonas.

Las siguientes dos marcas son compatibles en máquinas SPARC que utilizan el sistema operativo Solaris 10 8/07 o una versión posterior de Solaris 10:

Entre otras marcas compatibles con el sistema operativo Solaris 10 se incluyen:

Aunque puede configurar e instalar zonas con marca en un sistema Trusted Solaris con etiquetas activas, no puede iniciar las zonas con marca con esta configuración del sistema.

Cuándo se utilizan las zonas

Las zonas son idóneas para entornos que consolidan varias aplicaciones en un único servidor. Debido al coste y la complejidad de administrar varios equipos, se recomienda consolidar varias aplicaciones en servidores más grandes y escalables.

La siguiente figura muestra un sistema con tres zonas. Cada una de las zonas ( apps, users y work) ejecuta una carga de trabajo no relacionada con las cargas de trabajo de las demás zonas, en un ejemplo consolidado. Este ejemplo ilustra que pueden ejecutarse diferentes versiones de la misma aplicación sin las consecuencias negativas de las diferentes zonas, para que cumplan los requisitos de la consolidación. Cada zona puede proporcionar un conjunto se servicios personalizados.

Figura 16–1 Ejemplo de consolidación de servidor de zonas

Pueden ejecutarse diferentes versiones de la misma aplicación en diferentes zonas sin consecuencias negativas.

Las zonas permiten un uso más eficaz de los recursos en el sistema. La reasignación dinámica de recursos permite mover los recursos no utilizados a otros contenedores, según precise. El aislamiento de seguridad y fallos significa que las aplicaciones con un comportamiento anómalo no requieren un sistema dedicado e infrautilizado. Con el uso de las zonas, estas aplicaciones pueden consolidarse con otras aplicaciones.

Las zonas permiten delegar algunas funciones administrativas a la vez que se mantiene la seguridad global del sistema.

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.

Funciones proporcionadas por las zonas no globales

Las zonas no globales proporcionan las siguientes funciones:

Seguridad

Una vez colocado un proceso en una zona que no sea la global, ni el proceso ni sus procesos subordinados pueden cambiar las zonas.

Los servicios de red pueden ejecutarse en una zona. Al ejecutar servicios de red en una zona, se limitan los posibles daños en caso de una infracción de la seguridad. Un intruso que consiga explotar una brecha de seguridad en el software que se ejecuta en una zona está limitado al conjunto restringido de acciones posibles en la zona. Los privilegios disponibles dentro de una zona no global son un subconjunto de los disponibles en el sistema de forma global.

Aislamiento

Las zonas permiten la implementación de múltiples aplicaciones en el mismo equipo, aunque dichas operaciones funcionen en diferentes dominios de confianza, requieren un acceso exclusivo a un recurso global o presentan dificultados con las configuraciones globales. Por ejemplo, varias aplicaciones que se ejecutan en diferentes zonas de IP compartida en el mismo sistema pueden vincularse al mismo puerto de red utilizando las diferentes direcciones IP asociadas con cada zona o utilizando la dirección comodín. Las aplicaciones tampoco pueden supervisar ni interceptar el tráfico de red, datos del sistema de archivos o de los procesos de las otras aplicaciones.

Aislamiento de red

Si una zona debe aislarse en la capa IP de la red, por ejemplo, conectándose a diferentes VLAN o LAN que la zona global y otras zonas no globales, la zona puede tener una dirección IP exclusiva por motivos de seguridad. La zona con la dirección IP exclusiva puede utilizarse para consolidar las aplicaciones que deben comunicarse en diferentes subredes que se encuentran en diferentes VLAN o LAN.

Las zonas también pueden configurarse como zonas de IP compartida. Estas zonas se conectan a las mismas VLAN o LAN que la zona global y comparten la configuración de ruta de la dirección IP con la zona global. Las zonas de IP compartida tienen direcciones IP distintas, pero comparten otras partes de la dirección IP.

Virtualización

Las zonas proporcionan un entorno virtualizado que puede ocultar detalles como los dispositivos físicos, la dirección IP principal del sistema y el nombre de sistema de las aplicaciones. El mismo entorno de aplicación puede mantenerse en diferentes equipos físicos. El entorno virtualizado permite una administración independiente de cada zona. Las acciones que lleva a cabo el administrador de zona en una zona no global no afectan al resto del sistema.

Granularidad

Una zona puede proporcionar aislamiento a prácticamente cualquier nivel de granularidad. Consulte Características de las zonas no globales para obtener más información.

Entorno

Las zonas no cambian el entorno en el que se ejecutan las aplicaciones, excepto cuando es necesario para alcanzar los objetivos de seguridad y aislamiento. Las zonas no presentan una nueva API o ABI a la que deben importarse las aplicaciones. En lugar de ello, las zonas proporcionan el entorno de aplicación y las interfaces de Solaris estándar, con algunas restricciones. Las restricciones afectan principalmente a las aplicaciones que intentan llevar a cabo operaciones con privilegios.

Las aplicaciones de la zona global se ejecutan sin modificaciones, tanto si tienen zonas adicionales configuradas como si no las tienen.

Configuración de zonas en el sistema (mapa de tareas)

En la tabla siguiente se proporciona una descripción general de las tareas relacionadas con la configuración de zonas en el sistema por primera vez.

Tarea 

Descripción 

Para obtener instrucciones 

Identificar las aplicaciones que desea ejecutar en las zonas. 

Revise las aplicaciones que se ejecutan en el sistema: 

  • Determine qué aplicaciones son críticas para los objetivos empresariales.

  • Evalúe las necesidades del sistema de las aplicaciones que está ejecutando.

Consulte los objetivos empresariales y la documentación del sistema si es preciso. 

Determinar cuántas zonas configurar. 

Evalúe: 

  • Los requisitos de rendimiento de las aplicaciones que desea ejecutar en las zonas

  • La disponibilidad de los 100 MB de espacio libre en disco que se recomiendan por cada zona que instalar

 

Consulte Evaluación de la configuración del sistema actual.

Determinar si utilizará agrupaciones de recursos con la zona para crear un contenedor. 

Si también utiliza funciones de administración de recursos en el sistema, alinee las zonas con los límites de administración de recursos. Configure las agrupaciones de recursos antes de configurar las zonas. 

A partir de Solaris 10 8/07, puede añadir controles de recursos para las zonas y funciones de agrupaciones para una zona rápidamente con las propiedades zonecfg.

Consulte Cómo configurar la zona y el Capítulo 13Creación y administración de agrupaciones de recursos (tareas).

Llevar a cabo tareas de preconfiguración. 

Determine el nombre y la ruta de la zona. Determine si la zona será una zona de IP compartida o de IP exclusiva, y obtenga direcciones IP o el nombre del vínculo de datos. Determine los dispositivos y sistemas de archivos necesarios para cada zona. Determine la clase de planificación para la zona. Establezca el conjunto de privilegios a los que deben limitarse los procesos que hay dentro de la zona, si no es suficiente el conjunto predeterminado estándar. Algunas opciones de zonecfg agregan privilegios automáticamente. Por ejemplo, ip-type=exclusive agrega de manera automática varios privilegios necesarios para configurar y administrar pilas de redes.

Para obtener información sobre el nombre y la ruta de la zona, los tipos de IP, las direcciones IP, los sistemas de archivos, los dispositivos, la clase de planificación y los privilegios, consulte el Capítulo 17Configuración de zonas no globales (descripción general) y Evaluación de la configuración del sistema actual. Para ver una lista de los privilegios predeterminados y los privilegios que pueden configurarse en una zona no global, consulte Privilegios en una zona no global. Para obtener información sobre la disponibilidad de las funciones IP, consulte Redes en zonas no globales de IP compartida y Solaris 10 8/07: redes en zonas no globales de IP exclusiva.

Desarrollar configuraciones. 

Configure las zonas no globales. 

Consulte Configuración, verificación y confirmación de una zona y la página del comando man zonecfg(1M).

Como administrador global, verificar e instalar las zonas configuradas. 

Es necesario verificar e instalar las zonas antes del inicio de sesión. 

Consulte el Capítulo 19Cómo instalar, detener, clonar y desinstalar zonas no globales (descripción general) y el Capítulo 20Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas).

Como administrador global, iniciar sesión en cada zona no global utilizando el comando zlogin con la opción -C o colocar un archivo sysidcfg en el directorio /etc de la zona.

 

Consulte el Capítulo 21Inicio de sesión en zonas no globales (descripción general) y el Capítulo 22Registro en zonas no globales (tareas).

Como administrador global, iniciar la zona no global. 

Inicie cada zona para colocarla en el estado de ejecución. 

Consulte el Capítulo 19Cómo instalar, detener, clonar y desinstalar zonas no globales (descripción general) y el Capítulo 20Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas).

Preparar la zona nueva para uso de producción. 

Cree cuentas de usuario, añada software adicional y personalice la configuración de la zona. 

Consulte la documentación para configurar un equipo que acaba de instalar. En esta guía se incluyen las consideraciones especiales aplicables al entorno de zonas. 

Capítulo 17 Configuración de zonas no globales (descripción general)

Este capítulo proporciona una introducción a la configuración de zonas no globales.

En este capítulo, se describen los siguientes temas:

Cuando haya adquirido los conocimientos relativos a la configuración de zonas, vaya al Capítulo 18Planificación y configuración de zonas no globales (tareas) para configurar las zonas no globales para la instalación en su sistema.

Para obtener información sobre la configuración de la zona con marca lx, consulte el Capítulo 32Planificación de la configuración de zonas con marca lx (descripción general) y el Capítulo 33Configuración de las zonas con marca lx (tareas).

Novedades de este capítulo

Solaris 10 6/06: se ha añadido compatibilidad con el sistema de archivos ZFS, incluida la posibilidad de añadir un recurso de conjunto de datos en una zona no global nativa. Consulte Propiedades del tipo de recurso para obtener más información.

Solaris 10 11/06: Se ha añadido compatibilidad con los privilegios configurables. Consulte Solaris 10 11/06 y posteriores: privilegios configurables .

Solaris 10 8/07: Se ha añadido compatibilidad con las siguientes funciones al comando zonecfg:

Solaris 10 10/08: la propiedad defrouter se ha añadido al recurso net, en la utilidad zonecfg para zonas no globales de dirección IP compartida. Mediante esta propiedad puede definir el enrutador predeterminado para la interfaz de red.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

Acerca de los recursos en las zonas

Una zona que incluye funciones de administración de recursos se denomina contenedor. Los recursos que se pueden controlar en un contenedor incluyen:

Proceso de configuración de la preinstalación

Antes de instalar una zona no global y utilizarla en el sistema, es necesario que la zona esté configurada.

El comando zonecfg se utiliza para crear la configuración y determinar si las propiedades y los recursos especificados son válidos en un sistema hipotético. La comprobación realizada por zonecfg para una configuración concreta verifica lo siguiente:

Para obtener más información sobre el comando zonecfg, consulte la página del comando man zonecfg(1M).

Componentes de zonas

Esta sección describe los componentes de zona obligatorios y opcionales que pueden configurarse. En Datos de configuración de zonas se proporciona información adicional.

Nombre y ruta de la zona

Debe elegir un nombre y una ruta para la zona.

Zona autoboot

La configuración de la propiedad autoboot determina si la zona se inicia automáticamente al iniciar la zona global. También debe habilitarse el servicio de zonas, svc:/system/zones:default.

Asociación de agrupaciones de recursos

Si ha configurado agrupaciones de recursos en el sistema tal como se describe en el Capítulo 13Creación y administración de agrupaciones de recursos (tareas), puede utilizar la propiedad pool para asociar la zona con una de las agrupaciones de recursos al configurar la zona.

A partir de Solaris 10 8/07, si no tiene configuradas las agrupaciones de recursos, puede especificar que un subconjunto de los procesadores del sistema se dedique a una zona no global mientras se ejecuta utilizando el recurso dedicated-cpu. El sistema creará dinámicamente una agrupación temporal para utilizar mientras se ejecuta la zona. Con la especificación a través de zonecfg, la configuración de la agrupación se propaga durante las migraciones.


Nota –

Una configuración de zona que utiliza un conjunto de agrupaciones persistentes mediante la propiedad pool es incompatible con una agrupación temporal configurada mediante el recurso dedicated-cpu. Puede definir sólo una de estas dos propiedades.


Solaris 10 8/07: recurso dedicated-cpu

El recurso dedicated-cpu especifica que un subconjunto de los procesadores del sistema debe dedicarse a una zona no global mientras se ejecuta. Cuando se inicia la zona, el sistema crea dinámicamente una agrupación temporal para utilizar mientras se ejecuta la zona.

Con la especificación en zonecfg, la configuración de la agrupación se propaga durante las migraciones.

El recurso dedicated-cpu establece los límites de ncpus y, opcionalmente, importance.

ncpus

Especifique el número de CPU o un intervalo, por ejemplo 2–4 CPU. Si especifica un intervalo porque desea que la agrupación de recursos tenga un comportamiento dinámico, haga también lo siguiente:

importance

Si utiliza un intervalo de CPU para conseguir un comportamiento dinámico, defina también la propiedad importance. La propiedad importance, que es opcional, define la importancia relativa de la agrupación. Esta propiedad sólo se necesita cuando especifica un intervalo para ncpus y está utilizando agrupaciones de recursos dinámicos administradas por poold. Si poold no está en ejecución, se omite importance. Si poold está en ejecución y no se configura importance, importance tendrá el valor de 1 de forma predeterminada. Para obtener más información, consulte Restricción de la propiedad pool.importance.


Nota –

Los recursos capped-cpu y dedicated-cpu son incompatibles. Los recursos cpu-shares rctl y dedicated-cpu son incompatibles.


Solaris 10 5/08: recurso capped-cpu

El recurso capped-cpu proporciona un límite de grano fino absoluto de la cantidad de recursos de CPU que un proyecto o una zona pueden consumir. Al utilizarse con conjuntos de procesadores, los recursos capped-cpu limitan el uso de las CPU en un conjunto. El recurso capped-cpu tiene una sola propiedad ncpus que es un número positivo con dos decimales. Esta propiedad corresponde a unidades de CPU. El recurso no acepta un intervalo. El recurso acepta un número decimal. Cuando se especifica ncpus, un valor de 1 significa el 100 por ciento de una CPU. Un valor de 1,25 significa el 125 por ciento, ya que el 100 por ciento corresponde a toda una CPU del sistema.


Nota –

Los recursos capped-cpu y dedicated-cpu son incompatibles.


Clase de planificación en una zona

Puede utilizar el programador de reparto justo (FSS) para controlar la asignación de los recursos de CPU disponibles entre las zonas, basándose en la importancia de las cargas de trabajo en la zona. Dicha importancia se expresa con el número de recursos compartidos de la CPU que asigna a cada zona. Aunque no utilice FSS para administrar la asignación de recursos de la CPU entre las zonas, puede configurar la clase de planificación de la zona para que utilice FSS y pueda definir los recursos compartidos de los proyectos en la zona.

Cuando define la propiedad cpu-shares de forma explícita, el programador de reparto justo (FSS) se utilizará como clase de planificación para dicha zona. Sin embargo, se recomienda utilizar FSS como la clase de planificación predeterminada con el comando dispadmin. De este modo, todas las zonas se beneficiarán de un reparto justo de los recursos de la CPU del sistema. Si no se configura cpu-shares para una zona, la zona utilizará la clase de planificación predeterminada del sistema. Las acciones siguientes definen la clase de planificación para una zona:

Puede utilizar el comando priocntl descrito 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.

Solaris 10 8/07: control de memoria física y recurso capped-memory

El recurso capped-memory establece los límites para la memoria physical, swap, y locked. Cada límite es opcional, pero debe configurarse como mínimo uno.


Nota –

Normalmente, las aplicaciones no bloquean cantidades importantes de memoria, pero, si lo desea, puede establecer memoria bloqueada si se sabe que las aplicaciones de la zona bloquean la memoria. Si le preocupa la confianza en una zona, también puede establecer un límite de memoria bloqueada de hasta un 10% de la memoria física del sistema o un 10% del límite de la memoria física de la zona.


Para más información, consulte el Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general), Capítulo 11Administración del daemon de límite de recursos (tareas) y Cómo configurar la zona. Para definir temporalmente un límite de recursos para una zona, consulte Cómo especificar un límite de recursos temporal para una zona .

Interfaces de red de zona

Las interfaces de red de zona configuradas por el comando zonecfg para proporcionar conectividad de red se configurarán automáticamente y se colocarán en la zona cuando se inicie.

La capa de protocolo de Internet (IP) acepta y entrega paquetes para la red. Esta capa incluye rutas IP, el protocolo de resolución de dirección (ARP), la arquitectura de seguridad IP (IPsec) y el filtro IP.

Hay dos tipos de IP disponibles para las zonas no globales: direcciones IP compartidas y direcciones IP exclusivas. La zona de IP compartida comparte una interfaz de red y la zona de IP exclusiva debe tener una interfaz de red dedicada.

Para obtener información sobre las funciones IP de cada tipo, consulte Redes en zonas no globales de IP compartida y Solaris 10 8/07: redes en zonas no globales de IP exclusiva.

Zonas no globales de dirección IP compartida

La zona de IP compartida es el tipo predeterminado. Debe tener una o más direcciones IP dedicadas. Una zona de IP compartida comparte la configuración de capa de la IP y el estado con la zona global. La zona debe utilizar la instancia de IP compartida si se cumplen las dos condiciones siguientes:

A las zonas de IP compartida se asignan una o más direcciones IP utilizando el comando zonecfg. Los nombres del vínculo de datos también deben configurarse en la zona global.

Estas direcciones se asocian con las interfaces de red lógicas. El comando ifconfig puede utilizarse desde la zona global para añadir o eliminar interfaces lógicas en una zona en ejecución. Para más información, consulte Interfaces de red de IP compartida.

Solaris 10 8/07: zonas no globales de IP exclusiva

Las zonas de IP exclusiva cuentan con todas las funciones del nivel de IP.

Una zona de IP exclusiva tiene su propio estado relacionado con la IP.

Esto incluye la posibilidad de utilizar las siguientes funciones en una zona de IP exclusiva:

A una zona de IP exclusiva se le asigna su propio conjunto de vínculos de datos utilizando el comando zonecfg. A la zona se le asigna un nombre de vínculo de datos como xge0, e1000g1 o bge3200, utilizando la propiedad physical del recurso net. La propiedad address del recurso net no está configurada.

Tenga en cuenta que el vínculo de datos asignado permite utilizar el comando snoop.

El comando dladm puede utilizarse con el subcomando show-linkprop para mostrar la asignación de vínculos de datos a las zonas de IP exclusiva en ejecución. El comando dladm puede utilizarse con el subcomando set-linkproppara asignar vínculos de datos adicionales a las zonas en ejecución. Consulte Solaris 10 8/07: administración de vínculos de datos en zonas no globales de IP exclusiva para ver ejemplos de uso.

En una zona de IP exclusiva en ejecución, el comando ifconfig puede utilizarse para configurar la dirección IP, que incluye la posibilidad de añadir o eliminar interfaces lógicas. La configuración IP de una zona puede configurarse del mismo modo que la zona global, utilizando sysidtools tal como se describe en sysidcfg(4).


Nota –

La configuración IP de una zona de IP exclusiva sólo puede verse desde la zona global utilizando el comando zlogin. A continuación se muestra un ejemplo.


global# zlogin zone1 ifconfig -a

Diferencias de seguridad entre las zonas globales de IP compartida y de IP exclusiva

En una zona de IP compartida, las aplicaciones de la zona, incluido el superusuario, no pueden enviar paquetes con direcciones IP de origen que no sean las asignadas a la zona con la utilidad zonecfg. Este tipo de zona no tiene acceso para enviar y recibir paquetes de vínculos de datos arbitrarios (capa 2).

En una zona de IP exclusiva, zonecfg concede el vínculo de datos completo especificado a la zona. Como resultado, el superusuario de una zona de IP exclusiva puede enviar paquetes spoofed en uno de esos vínculos de datos, al igual que puede hacerse en la zona global.

Uso simultáneo de zonas no globales de IP compartida e IP exclusiva

Las zonas de IP compartida siempre comparten la capa IP con la zona global, y las zonas de IP exclusiva siempre tienen su propia instancia de la capa IP. Pueden utilizarse tanto zonas de IP compartida como zonas de IP exclusiva en el mismo equipo.

Sistemas de archivos montados en zonas

Generalmente, los sistemas de archivos montados en una zona incluyen:

Puede incluir, por ejemplo, los siguientes sistemas de archivos:

Los montajes llevados a cabo desde el entorno de aplicación tienen determinadas limitaciones. Estas limitaciones evitan que el administrador de zona deniegue el servicio al resto del sistema, o que tenga repercusiones negativas en otras zonas.

Existen limitaciones de seguridad asociadas con el montaje de determinados sistemas de archivos dentro de una zona. Otros sistemas de archivos muestran un comportamiento especial cuando se montan en una zona. Consulte Sistemas de archivos y zonas no globales para obtener más información.

Dispositivos configurados en zonas

El comando zonecfg utiliza un sistema de concordancia de reglas para especificar los dispositivos que deben aparecer en una zona específica. Los dispositivos que concuerdan con una de las reglas se incluyen en el sistema de archivos /dev de la zona. Para obtener más información, consulte Cómo configurar la zona.

ID de host en zonas

Puede establecer una propiedad hostid para la zona no global que sea diferente del hostid de la zona global. Esto se realizaría en el caso de un equipo físico consolidado en una zona utilizando la función de físico a virtual. Las aplicaciones que estén actualmente en el interior la zona podrían depender del hostid original, y es posible que no se pudiera actualizar la configuración de la aplicación. Consulte Tipos de propiedades y recursos para obtener más información.

Configuración de controles de recursos de zonas

El administrador global puede establecer controles de recursos de zonas con privilegios para una zona. Los controles de recursos de la zona limitan el uso total de los recursos de todas las entidades de procesos de una zona.

Estos límites se especifican tanto para las zonas globales como para las no globales utilizando el comando zonecfg. Consulte Cómo configurar la zona.

A partir de Solaris 10 8/07, el método recomendado y más sencillo para configurar un control de recursos de zona es utilizar el nombre de propiedad en lugar del recurso rctl.

Solaris 10 5/08: El control de recurso zone.cpu-cap establece un límite absoluto en la cantidad de recursos de CPU que una zona puede consumir. Un valor de 100 significa el 100 por ciento de una CPU como opción de project.cpu-cap. Un valor de 125 representa el 125 por ciento, ya que el 100 por ciento corresponde a una CPU completa del sistema al utilizar el recurso cpu-cap.


Nota –

Al establecer el recurso capped-cpu, se puede establecer un número decimal para la unidad. El valor está correlacionado con el control de recurso zone.capped-cpu , pero la configuración se reduce a 100. Una configuración de 1 es equivalente a una configuración de 100 para el control de recursos.


El control de recurso zone.cpu-shares establece un límite para el número de recursos compartidos de la CPU del programador de reparto justo (FSS) para una zona. Los recursos compartidos de la CPU se asignan en primer lugar a la zona, y luego se subdividen entre los proyectos de la zona tal como se especifica en las entradas project.cpu-shares. Para obtener más información, consulte Uso del programador de reparto justo en un sistema Solaris con zonas instaladas. El nombre de propiedad global para este control es cpu-shares.

El control de recurso zone.max-locked-memory limita la cantidad de memoria física bloqueada disponible para una zona. La asignación del recurso de memoria bloqueado para los proyectos de la zona se puede realizar con el control de recurso project.max-locked-memory. Consulte la Tabla 6–1 para obtener más información.

El control de recurso zone.max-lwps mejora el aislamiento del recurso al evitar que demasiados procesos ligeros (LWP) de la zona afecten a otras zonas. La asignación del recurso LWP para los proyectos de la zona se puede realizar con el control de recurso project.max-lwps. Consulte la Tabla 6–1 para obtener más información. El nombre de propiedad global de este control es max-lwps.

Los controles de recurso zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids y zone.max-shm-memory se utilizan para limitar los recursos de System V que utilizan todos los procesos de una zona. La asignación de los recursos de System V para los proyectos de la zona puede realizarse con las versiones de proyecto de estos controles de recurso. Los nombres de propiedad global de estos controles son max-msg-ids, max-sem-ids, max-shm-ids y max-shm-memory.

El control de recurso zone.max-swap limita el intercambio que consumen las asignaciones de espacio de dirección del proceso de usuario y los montajes tmpfs de una zona. La salida de prstat -Z muestra una columna de intercambio. El intercambio que se registra es el intercambio total que consumen los montajes tmpfs y los procesos de la zona. Este valor ayuda a supervisar el intercambio reservado por cada zona, que se puede utilizar para elegir la configuración adecuada de zone.max-swap.

Tabla 17–1 Controles de recursos de la zona

Nombre de control 

Nombre de propiedad global 

Descripción 

Unidad predeterminada 

Valor utilizado para 

zone.cpu-cap

 

Solaris 10 5/08: límite absoluto de la cantidad de recursos de CPU para esta zona.

Cantidad (número de CPU), expresada como porcentaje 


Nota –

Al establecer el recurso capped-cpu, se puede establecer un número decimal para la unidad.


 

zone.cpu-shares

cpu-shares

Número de recursos compartidos de CPU del planificador de reparto justo (FSS) para esta zona. 

Cantidad (recursos compartidos) 

 

zone.max-locked-memory

 

Cantidad total de memoria física bloqueada disponible para una zona. 

Si se asigna priv_proc_lock_memory a una zona, procure configurar también este control de recurso para evitar que la zona bloquee toda la memoria.

Tamaño (bytes) 

Propiedad locked de capped-memory.

zone.max-lwps

max-lwps

Número máximo de procesos ligeros disponibles de forma simultánea para esta zona. 

Cantidad (LWP) 

 

zone.max-msg-ids

max-msg-ids

Número máximo de ID de cola de mensajes permitidos para esta zona. 

Cantidad (ID de cola de mensajes) 

 

zone.max-sem-ids

max-sem-ids

Número máximo de ID de semáforo permitidos para esta zona. 

Cantidad (ID de semáforo) 

 

zone.max-shm-ids

max-shm-ids

Número máximo de ID de memoria compartida permitidos para esta zona. 

Cantidad (ID de memoria compartida) 

 

zone.max-shm-memory

max-shm-memory

Cantidad total de memoria compartida System V permitida para esta zona. 

Tamaño (bytes) 

 

zone.max-swap

 

Cantidad total de intercambio que pueden consumir las asignaciones de espacio de direcciones del proceso del usuario y los montajes tmpfs para esta zona.

Tamaño (bytes) 

Propiedad swap de capped-memory

Estos límites pueden especificarse para ejecutar procesos utilizando el comando prctl. Se incluye un ejemplo en Cómo definir recursos compartidos de FSS en la zona global mediante el comando prctl. Los límites especificados a través del comando prctl no son persistentes. Los límites sólo surten efecto cuando se reinicia el sistema.

Solaris 10 11/06 y posteriores: privilegios configurables

Cuando se inicia una zona, se incluye en la configuración un conjunto predeterminado de privilegios safe. Estos privilegios se consideran seguros porque evitan que un proceso con privilegios de la zona afecte a los procesos de otras zonas no globales en el sistema o en la zona global. Puede utilizar el comando zonecfg para:


Nota –

Existen unos cuantos privilegios que no se pueden eliminar del conjunto de privilegios predeterminado de la zona, y hay otros tantos que no se pueden añadir al conjunto en este momento.


Para más información, consulte Privilegios en una zona no global, Cómo configurar la zona y privileges(5).

Inclusión de un comentario para una zona

Puede añadir un comentario para una zona utilizando el tipo de recurso attr. Para obtener más información, consulte Cómo configurar la zona.

Uso del comando zonecfg

El comando zonecfg, que se describe en la página del comando man zonecfg(1M), se utiliza para configurar una zona no global. En Solaris 10 8/07, este comando también puede utilizarse para especificar de forma persistente la configuración de la administración de recursos para la zona global.

El comando zonecfg se puede utilizar de modo interactivo, en el modo de línea de comandos o en el modo de archivo de comandos. Con este comando pueden realizarse las operaciones siguientes:

El indicador zonecfg tiene el siguiente formato:


zonecfg:zonename>

Cuando configura un tipo de recurso específico, como un sistema de archivos, dicho tipo de recurso también se incluye en el indicador:


zonecfg:zonename:fs>

Si desea más información, incluidos los procedimientos que muestran cómo utilizar los distintos componentes de zonecfg que se describen en este capítulo, consulte el Capítulo 18Planificación y configuración de zonas no globales (tareas).

Modos dezonecfg

El concepto de ámbito se utiliza para la interfaz de usuario. El ámbito puede ser global o específico del recurso. El ámbito predeterminado es global.

En el ámbito global, los subcomandos add y select se utilizan para seleccionar un recurso concreto. A continuación, el ámbito cambia al tipo de recurso.

El ámbito pasa a ser de nuevo global.

Determinados subcomandos, como add, remove y set, tienen semánticas diferentes para cada ámbito.

Modo interactivo de zonecfg

En el modo interactivo, se admiten los subcomandos siguientes. Para obtener información detallada sobre la semántica y las opciones que se utilizan con los subcomandos, consulte las opciones en la página del comando man zonecfg(1M. ) En el caso de los subcomandos que podrían ocasionar acciones destructivas o una pérdida de trabajo, el sistema solicita una confirmación del usuario antes de proceder. Puede utilizar la opción -F (forzar) para pasar por alto esta confirmación.

help

Imprime ayuda general o muestra ayuda sobre un recurso específico.


zonecfg:my-zone:inherit-pkg-dir> help
create

Inicia una configuración interna de la memoria para la nueva zona especificada para una de estas finalidades:

  • Para aplicar la configuración predeterminada a una nueva configuración. Este método es el método predeterminado.

  • Con la opción -t plantilla, para crear una configuración idéntica a la plantilla especificada. Se cambia el nombre de zona del nombre de plantilla al nuevo nombre de zona.

  • Con la opción -F, para sobrescribir una configuración existente.

  • Con la opción -b, para crear una configuración vacía en la que no se ha establecido ningún parámetro.

export

Imprime la configuración en una salida estándar, o el archivo de salida especificado, con un formato que pueda utilizarse en una línea de comandos.

add

En el ámbito global, añade el tipo de recurso especificado a la configuración.

En el ámbito de recurso, añade una propiedad con un nombre y valor específicos.

Consulte Cómo configurar la zona y la página del comando man zonecfg(1M) para obtener más información.

set

Establece un nombre de propiedad determinado con un valor de propiedad específico. Observe que algunas propiedades, como zonepath, son globales, mientras que otras son específicas del recurso. De este modo, este comando se aplica tanto en los ámbitos global como del recurso.

select

Sólo se aplica en el entorno global. Seleccione el recurso del tipo específico que coincida con el criterio de par de valor de propiedad y nombre de propiedad para su modificación. El ámbito se cambia para ese tipo de recurso. Debe especificar un número suficiente de valores de nombre y valor para que el recurso se identifique de modo exclusivo.

clear

Solaris 10 8/07: Borra el valor de los parámetros opcionales. Los parámetros obligatorios no se pueden borrar. Sin embargo, es posible cambiar algunos parámetros obligatorios asignándoles un nuevo valor.

remove

En el ámbito global, elimina el tipo de recurso especificado. Debe especificar un número suficiente de pares de nombre y valor de propiedad para poder identificar de forma exclusiva el tipo de recurso. Si no se especifica ningún par de nombre y valor de propiedad, se eliminan todas las instancias. Si hay más de uno, se requiere una confirmación a menos que se utilice la opción -F.

En el ámbito del recurso, elimina el valor de propiedad y el nombre de la propiedad del recurso actual.

end

Sólo se aplica al ámbito del recurso. Finaliza la especificación del recurso.

A continuación, el comando zonecfg verifica que se especifique por completo el recurso actual.

  • Si se especifica por completo, se añade a la configuración de la memoria interna y el ámbito pasará a ser de nuevo global.

  • Si la especificación está incompleta, el sistema muestra un mensaje de error que describe lo que debe hacerse.

cancel

Sólo se aplica al ámbito del recurso. Finaliza la especificación del recurso y restablece el ámbito global. No se conserva ningún recurso especificado parcialmente.

delete

Destruye la configuración especificada. Elimina la configuración de la memoria y del almacenamiento estable. Debe utilizar la opción -F (forzar) con delete.


Precaución – Precaución –

Esta acción es instantánea. No se requiere ninguna confirmación, y una zona eliminada no puede recuperarse.


info

Muestra información sobre la configuración actual o las propiedades de recursos globales zonepath, autoboot y pool. Si se especifica un tipo de recurso, únicamente muestra información sobre los recursos de ese tipo. En el ámbito del recurso, este subcomando sólo se aplica al recurso que se está añadiendo o modificando.

verify

Comprueba que la configuración actual sea correcta. Se asegura de que todos los recursos tengan especificadas todas las propiedades obligatorias.

commit

Confirma la configuración actual de la memoria al almacenamiento estable. Hasta que se confirma la configuración de la memoria interna, los cambios se pueden eliminar con el subcomando revert. Una configuración debe confirmarse para que la pueda utilizar zoneadm. Esta operación se intenta realizar automáticamente al completar una sesión de zonecfg. Dado que sólo se puede confirmar una configuración correcta, la operación de confirmación lleva a cabo una verificación.

revert

Devuelve la configuración al último cambio confirmado.

exit

Cierra la sesión zonecfg. Puede utilizar la opción -F (forzar) con exit.

Se intenta automáticamente el comando commit si es preciso. También puede utilizarse un carácter EOF para cerrar la sesión.

Modo de archivo de comando zonecfg

En el modo de archivo de comando, la información se obtiene de un archivo. El subcomando export que se describe en Modo interactivo de zonecfg se utiliza para producir este archivo. La configuración puede imprimirse en una salida estándar, o bien puede utilizarse la opción -f para especificar un archivo de salida.

Datos de configuración de zonas

Los datos de configuración de zonas se componen de dos tipos de entidades, recursos y propiedades. Cada recurso tiene un tipo y también pude tener un conjunto de una o más propiedades. Las propiedades tienen nombres y valores. El conjunto de propiedades depende del tipo de recurso.

Tipos de propiedades y recursos

Los tipos de propiedades y recursos se describen del modo siguiente:

Zone name

El nombre de zona identifica la zona para la utilidad de configuración. Se aplican las siguientes reglas a los nombres de zonas:

  • Cada zona debe tener un nombre exclusivo.

  • Los nombres de zona distinguen entre mayúsculas y minúsculas.

  • Un nombre de zona debe empezar con un carácter alfanumérico.

    El nombre puede contener caracteres alfanuméricos, guiones de subrayado, (_), guiones (-) y puntos (.).

  • El nombre no puede superar los 64 caracteres.

  • El nombre global y todos los nombres que empiezan por SUNW están reservados y no pueden utilizarse.

zonepath

La propiedad zonepath es la ruta que contiene la raíz de la zona. Cada zona tiene un directorio root que reside en el sistema de archivos de la zona global en su zonepath . En el momento de la instalación de la zona, la jerarquía de directorios zonepath se creará con el propietario y modo correctos. Es obligatorio que el directorio zonepath sea propiedad de root con el modo 700.

La ruta del directorio raíz de la zona no global se encuentra a un nivel inferior. El directorio raíz de la zona tiene la misma propiedad y los mismos permisos que el directorio raíz ( /) de la zona global. El directorio de la zona debe ser propiedad de root con el modo 755. Estos directorios se crean automáticamente con los permisos correctos, y no es necesario que los verifique el administrador de zona. Con esta jerarquía se asegura que los usuarios sin privilegios de la zona global no pasen a un sistema de archivos de una zona no global.

Ruta 

Descripción 

/home/export/my-zone

zonecfg zonepath

/home/export/my-zone/root

Raíz de la zona 

/home/export/my-zone/dev

Dispositivos creados para la zona 

Consulte Recorrido de sistemas de archivos para obtener información más detallada sobre esta cuestión.


Nota –

Consulte Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 y Solaris 10 5/08: no coloque el sistema de archivos raíz en una zona no global en ZFS para conocer las limitaciones de ZFS para estas versiones.


autoboot

Si esta propiedad está configurada como verdadera, la zona se inicia automáticamente cuando se inicia la zona global. Tenga en cuenta que si el servicio de zonas, svc:/system/zones:default, está desactivado, la zona no se iniciará automáticamente, independientemente de la configuración de esta propiedad. Puede activar el servicio de zonas con el comando svcadm descrito en la página del comando man svcadm(1M):


global# svcadm enable zones
bootargs

Solaris 10 8/07: Esta propiedad se utiliza para configurar un argumento de inicio para la zona. Se aplica el argumento de inicio a menos que lo modifiquen los comandos reboot, zoneadm boot o zoneadm reboot. Consulte Solaris 10 8/07: argumentos de inicio de zona.

pool

Esta propiedad se utiliza para asociar la zona con una agrupación de recursos del sistema. Varias zonas pueden compartir los recursos de una agrupación. Consulte también Solaris 10 8/07: recurso dedicated-cpu.

limitpriv

Solaris 10 11/06 y posteriores: Esta propiedad se utiliza para especificar una máscara con privilegios que no sea la predeterminada. Consulte Privilegios en una zona no global.

Se añaden privilegios especificando el nombre del privilegio, con o sin priv_ al inicio. Los privilegios se excluyen incluyendo un guión (-) o un signo de exclamación (!) al principio del nombre. Los valores de privilegios se separan con comas y se colocan entre comillas ().

Tal como se describe en priv_str_to_set(3C), los conjuntos de privilegios especiales de none, all y basic se expanden a sus definiciones normales. Dado que la configuración de zona tiene lugar desde la zona global, no es posible utilizar el conjunto de privilegios especiales zone. Dado que un uso común es modificar el conjunto de privilegios predeterminado añadiendo o eliminando ciertos privilegios, el conjunto especial default se asigna al conjunto de privilegios predeterminado. Cuando se incluye default al principio de la propiedad limitpriv, se expande al conjunto predeterminado.

La entrada siguiente añade la posibilidad de utilizar los programas de DTrace que sólo requieren los privilegios dtrace_proc y dtrace_user en la zona:


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user"

Si el conjunto de privilegios de la zona contiene un privilegio no permitido, no tiene un privilegio obligatorio o incluye un privilegio desconocido, cualquier intento de verificar, configurar como lista o iniciar la zona generará un mensaje de error.

scheduling-class

Solaris 10 8/07: Esta propiedad configura la clase de planificación para la zona. Consulte Clase de planificación en una zona para obtener información adicional y conocer algunas recomendaciones.

ip-type

Solaris 10 8/07: Es necesario configurar esta propiedad sólo si la zona es una zona de IP exclusiva. Consulte Solaris 10 8/07: zonas no globales de IP exclusiva y Cómo configurar la zona.

dedicated-cpu

Solaris 10 8/07: Este recurso dedica un subconjunto de los procesadores del sistema a la zona mientras se ejecuta. El recurso dedicated-cpu establece los límites de ncpus y, opcionalmente, importance. Para más información, consulte Solaris 10 8/07: recurso dedicated-cpu.

recurso capped-cpu

Solaris 10 5/08: Este recurso establece un límite en la cantidad de recursos de CPU que la zona puede consumir mientras se ejecuta. El recurso proporciona un límite para ncpus.

capped-memory resource

Solaris 10 8/07: Este recurso agrupa las propiedades que se utilizan al limitar la memoria para la zona. El recurso capped-memory establece los límites para la memoria physical, swap y locked. Debe especificarse al menos una de estas propiedades.

dataset

Solaris 10 6/06: La adición de un recurso de conjunto de datos del sistema de archivos ZFS permite delegar la administración del almacenamiento a una zona no global. El administrador de zona puede crear y destruir sistemas de archivos dentro de ese conjunto de datos, crear y destruir clones y modificar las propiedades del conjunto de datos. El administrador de zona no puede modificar los conjuntos de datos que no se han añadido a la zona o que superan el nivel superior establecido en el conjunto de datos asignado a la zona.

Los conjuntos de datos ZFS se pueden añadir a una zona de los modos siguientes.

  • Como sistema de archivos montado en lofs, cuando el objetivo es únicamente compartir espacio con la zona global

  • Como conjunto de datos delegado

Consulte el Capítulo 10, Temas avanzados de Oracle Solaris ZFS de Guía de administración de Oracle Solaris ZFS y Sistemas de archivos y zonas no globales.

Consulte también el Capítulo 30Resolución de problemas relativos a las zonas de Solaris para obtener información sobre las cuestiones relativas a los conjuntos de datos.

fs

Cada zona puede tener diferentes sistemas de archivos que se montan cuando la zona pasa del estado de instalada al estado de lista. El recurso del sistema de archivos especifica la ruta al punto de montaje del sistema de archivos. Para obtener información sobre el uso de los sistemas de archivos en las zonas, consulte Sistemas de archivos y zonas no globales.

inherit-pkg-dir

Este recurso no debe configurarse en una zona raíz completa.

En una zona raíz dispersa, el recurso inherit-pkg-dir se utiliza para representar los directorios que contienen software empaquetado que comparte una zona no global con la zona global.

El contenido de los paquetes de software transferido al directorio inherit-pkg-dir lo hereda la zona no global en modo de sólo lectura. La base de datos de empaquetamiento de la zona se actualiza para reflejar los paquetes. Estos recursos no se pueden modificar ni eliminar una vez se ha instalado la zona utilizando zoneadm.


Nota –

En la configuración se incluyen cuatro recursos inherit-pkg-dir predeterminados. Estos recursos de directorios indican los directorios que deben heredar sus paquetes asociados de la zona global. Los recursos se implementan a través de un montaje de sistema de archivos con bucle de sólo lectura.

  • /lib

  • /platform

  • /sbin

  • /usr


net

El recurso de la interfaz de red es el nombre de la interfaz. Cada zona puede tener interfaces de red que se configuran cuando la zona pasa del estado de instalada al estado de lista.

device

El recurso de dispositivo es el especificador de coincidencia del archivo. Cada zona puede tener dispositivos que deben configurarse cuando la zona pasa del estado de instalada al estado de lista.

rctl

El recurso rctl se utiliza para los controles de recursos de toda la zona. Los controles están activos cuando la zona pasa del estado de instalada al estado de lista.

hostid

Se puede establecer un hostid que sea diferente del hostid de la zona global.

attr

Este atributo genérico puede utilizarse para los comentarios del usuario u otros subsistemas. La propiedad name de attr debe empezar con un carácter alfanumérico. La propiedad name puede contener caracteres alfanuméricos, guiones (-) y puntos (.) . Los nombres de atributos que empiezan por zone. se reservan para uso del sistema.

Propiedades del tipo de recurso

Los recursos también cuentan con propiedades que configurar. Las siguientes propiedades se asocian con los tipos de recursos mostrados.

dedicated-cpu

ncpus, importance

Solaris 10 8/07: especifica el número de CPU y, de forma opcional, la importancia relativa de la agrupación. El ejemplo siguiente especifica un intervalo de CPU para uso de la zona my-zone. También se configura importance.


zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

Especifique el número de CPU. El ejemplo siguiente especifica los límites del recurso capped-cpu de 3,5 CPU de la zona my-zone.


zonecfg:my-zone> add capped-cpu
zonecfg:my-zone:capped-cpu> set ncpus=3.5
zonecfg:my-zone:capped-cpu> end
capped-memory

physical, swap, locked

Especifica los límites de memoria para la zona my-zone. Cada límite es opcional, pero debe configurarse como mínimo uno.


zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
fs

dir, special, raw, type, options

Los parámetros de recursos fs proporcionan los valores que determinan cómo y dónde se montan los sistemas de archivos. Los parámetros fs se definen del modo siguiente:

dir

Especifica el punto de montaje para el sistema de archivos.

special

Especifica el nombre del dispositivo especial o el directorio a partir de la zona global que montar.

raw

Especifica el dispositivo básico en el que ejecutar fsck antes de montar el sistema de archivos.

type

Especifica el tipo de sistema de archivos.

options

Especifica las opciones de montaje similares a las que se encuentran con el comando mount

Las líneas del ejemplo siguiente especifican que /dev/dsk/c0t0d0s2 en la zona global se montará como /mnt en una zona que se está configurando. La propiedad raw especifica un dispositivo opcional en el que se ejecutará el comando fsck antes de intentar montar el sistema de archivos. El tipo de sistema de archivos que se utilizará es UFS. Se añaden las opciones nodevices y logging.


zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/mnt
zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2
zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2
zonecfg:my-zone:fs> set type=ufs
zonecfg:my-zone:fs> add options [nodevices,logging]
zonecfg:my-zone:fs> end

Para más información, consulte La opción -o nosuid, Limitaciones de seguridad y comportamiento del sistema de archivos y las páginas del comando man fsck(1M) y mount(1M). Las páginas del comando man 1M de la sección están disponibles para las opciones de montaje que son exclusivas de un sistema de archivos específico. Los nombres de estas páginas del comando man tienen el formato mount_ sistema_archivos.


Nota –

Para añadir un sistema de archivos ZFS utilizando la propiedad del recurso fs, consulte Adición de sistemas de archivos ZFS a una zona no global de Guía de administración de Oracle Solaris ZFS.


dataset

name

Las líneas del ejemplo siguiente especifican que el conjunto de datos sales se visualizará y montará en la zona no global y dejará de estar visible en la zona global.


zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
inherit-pkg-dir

dir

Las líneas del ejemplo siguiente especifican que /opt/sfw se montará en bucle desde la zona global.


zonecfg:my-zone> add inherit-pkg-dir
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
zonecfg:my-zone:inherit-pkg-dir> end
net

address, physicaldefrouter


Nota –

Para una zona de IP compartida, se especifican tanto la dirección IP como el dispositivo. Si lo desea, se puede definir el enrutador predeterminado.

  • La propiedad defrouter se puede utilizar para definir una ruta predeterminada cuando la zona no global está en una subred que no esté configurada en la zona global.

  • Cualquier zona que tenga establecida la propiedad defrouter debe estar en una subred que no esté configurada en la zona global.

Cuando existan zonas de IP compartida en subredes diferentes, no configure un vínculo de datos en la zona global.

Para una zona de IP exclusiva, sólo se especifica la interfaz física. La propiedad física puede ser un VNIC.


En el ejemplo siguiente para una zona de IP compartida, se añade la dirección IP 192.168.0.1 a la zona. Se utiliza una tarjeta hme0 para la interfaz física. Para determinar la interfaz física que se va a utilizar, escriba ifconfig -a en el sistema. Cada línea de la salida, a excepción de las líneas de controladores de bucle, empieza por el nombre de una tarjeta instalada en el sistema. Las líneas que contienen LOOPBACK en las descripciones no se aplican a las tarjetas.


zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=hme0
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> end

En el ejemplo siguiente para una zona de IP exclusiva, se utiliza un vínculo bge32001 para la interfaz física. Para determinar los vínculos de datos que están disponibles, utilice el comando dladm show-link. El vínculo de datos debe ser GLDv3 para utilizar con zonas de IP exclusiva, y los vínculos de datos que no sean GLDv3 aparecen como type: legacy en la salida de dladm show-link. También debe especificarse ip-type=exclusive.


zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=bge32001
zonecfg:my-zone:net> end
device

match

En el ejemplo siguiente, se incluye un dispositivo /dev/pts en una zona.


zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/pts*
zonecfg:my-zone:device> end
rctl

name, value

Solaris 10 8/07: Los nuevos controles de recursos de esta versión son zone.max-locked-memory, zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids, zone.max-shm-memory y zone.max-swap.

Hay disponibles los siguientes controles de recursos de la zona:

  • zone.cpu-shares (recomendado: cpu-shares )

  • zone.max-locked-memory

  • zone.max-lwps (se recomienda: max-lwps)

  • zone.max-msg-ids (se recomienda: max-msg-ids )

  • zone.max-sem-ids (se recomienda: max-sem-ids )

  • zone.max-shm-ids (se recomienda: max-shm-ids )

  • zone.max-shm-memory (se recomienda: max-shm-memory )

  • zone.max-swap

El método mas sencillo y recomendable para configurar un control de recurso de zona es utilizar el nombre de propiedad en lugar del recurso rctl, tal como se muestra en Cómo configurar la zona. Si se configuran las entradas de control de recurso de zona utilizando addrctl, el formato es diferente que el de las entradas de control de recurso de la base de datos project. En una configuración de zona, el tipo de recurso rctl se compone de tres pares de nombre y valor. Los nombres son priv, limit y action. Cada uno de los nombres adquiere un valor simple.


zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.cpu-shares
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)zonecfg:my-zone:rctl> end

zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.max-lwps
zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:my-zone:rctl> end

Para obtener información sobre los atributos y controles de recursos, consulte el Capítulo 6Controles de recursos (descripción general) y Controles de recursos utilizados en zonas no globales.

attr

name, type, value

En el ejemplo siguiente, se añade un comentario sobre una zona.


zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="Production zone"
zonecfg:my-zone:attr> end

Puede utilizar el subcomando export para imprimir una configuración de zona en la salida estándar. La configuración se guarda en un formato que se puede utilizar en un archivo de comandos.

Biblioteca de edición de línea de comandos Tecla

Se incluye la biblioteca de edición de línea de comandos Tecla para utilizar con el comando zonecfg. La biblioteca proporciona un mecanismo para el historial de línea de comandos y la compatibilidad con la edición.

En las siguientes páginas del comando man se documenta la biblioteca de edición de línea de comandos Tecla:

Capítulo 18 Planificación y configuración de zonas no globales (tareas)

En este capítulo se describen los pasos que debe seguir para poder configurar una zona en el sistema. Asimismo, se describe cómo configurar una zona, modificar dicha configuración o eliminarla del sistema.

Para obtener información general sobre el proceso de configuración de zonas, consulte el Capítulo 17Configuración de zonas no globales (descripción general).

Planificación y configuración de zonas no globales (mapa de tareas)

Antes de configurar el sistema para que utilice zonas, debe obtener información y tomar las decisiones pertinentes relativas a la configuración de las zonas. El siguiente mapa de tareas resume cómo planificar y configurar una zona.

Tarea 

Descripción 

Para obtener instrucciones 

Planificar la estrategia de zona. 

  • Evalúe las aplicaciones que se ejecutan en el sistema para determinar qué aplicaciones desea que se ejecuten en una zona.

  • Evalúe la disponibilidad de espacio en el disco para contener los archivos que son exclusivos de la zona.

  • Si también utiliza funciones de administración de recursos, determine cómo alinear la zona con los límites de administración de recursos.

Consulte el uso histórico. Consulte también Espacio en el disco necesario y Agrupaciones de recursos utilizadas en zonas.

Determinar el nombre de la zona. 

Establezca el nombre de la zona basándose en las convenciones de asignación de nombres. 

Consulte Datos de configuración de zonas y Nombre de sistema de zona.

Determinar la ruta de la zona. 

Cada zona tiene una ruta a su directorio raíz relativa al directorio raíz de la zona global. 

Consulte Datos de configuración de zonas.

Evaluar la necesidad de límites de la CPU si no está configurando agrupaciones de recursos. 

Examine los requisitos de las aplicaciones. 

Consulte Solaris 10 8/07: recurso dedicated-cpu.

Evaluar la necesidad de asignación de memoria si tiene previsto limitar la memoria para la zona utilizando rcapd desde la zona global.

Examine los requisitos de las aplicaciones. 

Consulte el Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general), el Capítulo 11Administración del daemon de límite de recursos (tareas) y Solaris 10 8/07: control de memoria física y recurso capped-memory.

Convertir el programador FSS en el programador predeterminado del sistema. 

Asigne a cada zona recursos compartidos de la CPU para controlar la asignación de zona a los recursos de la CPU. FSS garantiza un reparto justo de los recursos de la CPU entre las zonas que se basa en los recursos compartidos asignados. 

Capítulo 8Programador de reparto justo (descripción general), Clase de planificación en una zona.

Determinar si la zona tendrá una dirección IP compartida o exclusiva. 

Para una zona de IP compartida, que es la predeterminada, obtenga o configure las direcciones IP para la zona. En función de la configuración del sistema, debe obtener como mínimo una dirección IP para cada zona no global a la que desee conceder acceso a la red. 

Para una zona de IP exclusiva, determina el vínculo de datos que se asignará a la zona. La zona requiere acceso exclusivo a una o más interfaces de red. La interfaz podría ser una LAN independiente como bge1, o una VLAN independiente como bge2000. El vínculo de datos debe ser GLDv3. Un vínculo de datos que no sea GLDv3 se identifica como type: legacy en la salida del comando dladm show-link.

Consulte Cómo determinar el nombre de sistema de la zona y obtener la dirección de red, Cómo configurar la zona y Guía de administración del sistema: servicios IP.

Para obtener más información sobre las interfaces de GLDv3, consulte Tipos de interfaz de Oracle Solaris de Guía de administración del sistema: servicios IP.

Determinar qué sistemas de archivos desea montar en la zona. 

Examine los requisitos de las aplicaciones. 

Consulte Sistemas de archivos montados en zonas para obtener más información.

Determinar qué interfaces de red deben ponerse a disposición en la zona. 

Examine los requisitos de las aplicaciones. 

Consulte Interfaces de red de IP compartida para obtener más información.

Determinar si se desea modificar el conjunto predeterminado de permisos de la zona no global. 

Compruebe el conjunto de privilegios: los predeterminados, los privilegios que se pueden añadir y eliminar, y los que no se pueden utilizar en ese momento. 

Consulte Privilegios en una zona no global.

Determinar qué dispositivos deben configurarse en cada zona. 

Examine los requisitos de las aplicaciones. 

Consulte la documentación de su aplicación. 

Configurar la zona. 

Utilice zonecfg para crear una configuración para la zona.

Consulte Configuración, verificación y confirmación de una zona.

Verificar y confirmar la zona configurada. 

Determine si las propiedades y recursos especificados son válidos en un sistema hipotético. 

Consulte Configuración, verificación y confirmación de una zona.

Evaluación de la configuración del sistema actual

Las zonas pueden utilizarse en cualquier equipo en el que se ejecute Solaris 10. Debe tener en cuenta las siguientes consideraciones para los equipos principales en lo que se refiere al uso de zonas.

Espacio en el disco necesario

No hay límites para el espacio de disco que puede consumir una zona. El administrador global es responsable de la restricción de espacio. El administrador global debe asegurarse de que el almacenamiento local sea suficiente para contener un sistema de archivos raíz de una zona no global. Incluso un pequeño sistema de un procesador puede admitir una serie de zonas ejecutándose simultáneamente.

La naturaleza de los paquetes instalados en la zona global afecta a estos requisitos de espacio de las zonas no globales que se crean. El número de paquetes y los requisitos de espacio son factores.

Zonas raíz dispersas

En la versión Solaris 10, las zonas no globales que tienen recursos inherit-pkg-dir se denominan zonas raíz dispersas.

El modelo de zona raíz dispersa optimiza el uso compartido de los objetos de los modos siguientes:

En este modelo, todos los paquetes aparecen instalados en la zona no global. Los paquetes que no ofrecen contenido en los sistemas de archivos de montaje de bucle de sólo lectura se instalan completamente. No es necesario instalar el contenido que se proporciona en los sistemas de archivos montados en bucle de sólo lectura, ya que no se hereda contenido de la zona global ni está visible en ella.

Se recomiendan 40 megabytes de RAM por zona, pero no se necesitan en un equipo con suficiente espacio de intercambio.

Zonas raíz completas

El modelo de zona raíz completa permite la máxima configuración. Todos los paquetes necesarios y cualquier paquete de Solaris opcional seleccionado se instalan en los sistemas de archivos privados de la zona. Las ventajas de este modelo incluyen la posibilidad de que los administradores globales personalicen el diseño del sistema de archivos de zonas. Esto sería útil, por ejemplo, para añadir paquetes de terceros o paquetes desempaquetados arbitrarios.

Los requisitos de disco para este modelo se determinan a través del espacio de disco que utilizan los paquetes instalados en la zona global.


Nota –

Si crea una zona raíz dispersa que contenga los siguientes directorios inherit-pkg-dir, debe eliminar dichos directorios de la configuración de la zona no global antes de instalar la zona para tener una zona raíz completa:

Consulte Cómo configurar la zona.


Restricción del tamaño de zona

Pueden utilizarse las siguientes opciones para limitar el tamaño de zona:

Cómo determinar el nombre de sistema de la zona y obtener la dirección de red

Debe determinar el nombre de sistema de la zona. A continuación, asigne una dirección IPv4 o configure manualmente y asigne una dirección IPv6 para la zona si desea tener conectividad de red.

Nombre de sistema de zona

El nombre de sistema que seleccione para la zona debe definirse en la base de datos hosts o en la base de datos /etc/inet/hosts, tal como se especifica en el archivo /etc/nsswitch.conf de la zona global. Las bases de datos de red son archivos que proporcionan información de configuración de red. El archivo nsswitch.conf especifica el servicio de nombres que se va a utilizar.

Si utiliza archivos locales para el servicio de nombres, la base de datos hosts se mantiene en el archivo /etc/inet/hosts. Los nombres de sistema para las interfaces de red de zona se resuelven desde la base de datos hosts local de /etc/inet/hosts. También pude especificar la dirección IP directamente cuando configure una zona, de modo que no se requiere ninguna resolución de nombre de sistema.

Si desea más información, consulte Archivos de configuración TCP/IP de Guía de administración del sistema: servicios IP y Bases de datos de red y el archivo nsswitch.conf de Guía de administración del sistema: servicios IP.

Dirección de red de zona de IP compartida

Cada zona de IP compartida que requiera conectividad de red tiene una o más direcciones IP exclusivas. Se admiten tanto direcciones IPv4 como IPv6.

Dirección de red de zona IPv4

Si utiliza IPv4, obtenga una dirección y asígnela a la zona.

También puede especificarse una longitud de prefijo con la dirección IP. El formato de este prefijo es dirección/longitud_prefijo, por ejemplo, 192.168.1.1/24. Por tanto, la dirección que utilizar es 192.168.1.1 y la máscara de red 255.255.255.0, o la máscara en la que los primeros 24 bits son de 1 bit.

Dirección de red de zona IPv6

Si utiliza IPv6, debe configurar manualmente la dirección. Normalmente, deben configurarse como mínimo los dos tipos de direcciones siguientes:

Dirección local de vínculo

Una dirección local de vínculo tiene el formato fe80:: ID interfaz 64 bits/10. /10 indica un prefijo de longitud de 10 bits.

Dirección formada a partir de un prefijo global configurado en la subred

Una dirección de unidifusión global se basa en un prefijo de 64 bits que configura el administrador para cada subred, y un ID de interfaz de 64 bits. El prefijo también se puede obtener ejecutando el comando ifconfig con la opción -a6 en cualquier sistema de la misma subred que se ha configurado para utilizar IPv6.

El ID de interfaz de 64 bits normalmente se obtiene de una dirección MAC del sistema. Para el uso de zonas, puede obtenerse una dirección alternativa exclusiva de la dirección IPv4 de la zona global, del modo siguiente:

16 bits of zero:upper 16 bits of IPv4 address:lower 16 bits of IPv4 address:a zone-unique number

Por ejemplo, si la dirección IPv4 de la zona global es 192.168.200.10, una dirección local de vínculo adecuada para una zona no global que utilice un número exclusivo de zona de 1 es fe80::c0a8:c80a:1/10. Si el prefijo global que se utiliza en esa subred es 2001:0db8:aabb:ccdd/64, una dirección de unidifusión global exclusiva para la misma zona no global es 2001:0db8:aabb:ccdd::c0a8:c80a:1/64. Tenga en cuenta que debe especificar una longitud de prefijo cuando configura una dirección IPv6.

Para obtener más información sobre las direcciones de unidifusión globales y locales de vínculo, consulte la página del comando man inet6(7P).

Dirección de red de zona de IP exclusiva

Dentro de una zona de IP exclusiva, configure las direcciones del mismo modo que para la zona global. Tenga en cuenta que puede utilizar la autoconfiguración de direcciones sin estado IPv6 y DHCP para configurar las direcciones.

Consulte sysidcfg(4) para obtener más información.

Configuración del sistema de archivos

Puede especificar una serie de montajes que realizar cuando se configura la plataforma virtual. Los sistemas de archivos que están montados en bucle en una zona utilizando el sistema de archivos virtual LOFS (Loopback File System) deben montarse con la opción nodevices. Para obtener información sobre la opción nodevices, consulte Sistemas de archivos y zonas no globales.

LOFS permite crear un sistema de archivos virtual para poder acceder a los archivos utilizando un nombre de ruta alternativo. En una zona no global, el montaje de bucle hace que la jerarquía del sistema de archivos parezca estar duplicada en la raíz de la zona. En la zona, se podrá acceder a todos los archivos con un nombre de ruta que empiece desde la raíz de la zona. El montaje con LOFS conserva el espacio de nombre del sistema de archivos.

Figura 18–1 Sistemas de archivos montados en bucle

La ilustración muestra sistemas de archivos montados en bucle.

Consulte la página del comando man lofs(7S) para obtener más información.

Creación, revisión y eliminación de configuraciones de zonas no globales (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

Configurar una zona no global. 

Utilice el comando zonecfg para crear una zona, comprobar la configuración y confirmarla.

También puede utilizar una secuencia para configurar e iniciar múltiples zonas en el sistema. Puede utilizar el comando zonecfg para ver una configuración de zona no global.

Configuración, verificación y confirmación de una zona, Secuencia para configurar varias zonas

Modificar una configuración de zona. 

Utilice este procedimiento para modificar un tipo de recurso en una configuración de zona o añadir un dispositivo dedicado a una zona. 

Uso del comando zonecfg para modificar una configuración de zona

Recuperar o eliminar una configuración de zona. 

Utilice el comando zonecfg para deshacer una configuración de recurso realizada en una configuración de zona o para eliminar una configuración de zona.

Uso del comando zonecfg para deshacer o eliminar una configuración de zona

Eliminar una configuración de zona. 

Utilice el comando zonecfg con el subcomando delete para eliminar una configuración de zona del sistema.

Cómo eliminar una configuración de zona

Configuración, verificación y confirmación de una zona

Utilice el comando zonecfg que se describe en la página del comando man zonecfg(1M) para llevar a cabo las acciones siguientes.

El comando zonecfg también puede utilizarse para especificar de forma persistente la configuración de administración de recursos para la zona global.

Mientras configura una zona con la utilidad zonecfg, puede utilizar el subcomando revert para deshacer la configuración de un recurso. Consulte Cómo deshacer una configuración de zona.

En Secuencia para configurar varias zonas se facilita una secuencia para configurar múltiples zonas en el sistema.

Para ver la configuración de una zona no global, consulte Cómo visualizar la configuración de una zona no global.

ProcedureCómo configurar la zona

Los únicos elementos necesarios para crear una zona no global nativa son las propiedades zonename y zonepath. Otros recursos y propiedades son opcionales. Asimismo, algunos recursos opcionales precisan seleccionar entre alternativas, por ejemplo elegir entre el recurso dedicated-cpu o el recurso capped-cpu. Consulte Datos de configuración de zonas para obtener información sobre las propiedades y los recursos de zonecfg.

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. Configure una zona con el nombre que ha elegido.

    En este ejemplo de procedimiento se utiliza el nombre my-zone.


    global# zonecfg -z my-zone
    

    Si es la primera vez que ha configurado esta zona, aparecerá el mensaje de sistema siguiente:


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Cree la nueva configuración de zona.

    Este procedimiento utiliza la configuración predeterminada.


    zonecfg:my-zone> create
    
  4. Defina la ruta de zona /export/home/my-zone en este procedimiento.


    zonecfg:my-zone> set zonepath=/export/home/my-zone
    

    No coloque zonepath en el ZFS en las versiones anteriores a Solaris 10 10/08.

  5. Establezca el valor de inicio automático.

    Si se configura como true, la zona se iniciará automáticamente al iniciar la zona global. En el caso de las zonas que se inician automáticamente, también debe activarse el servicio de zonas svc:/system/zones:default. El valor predeterminado es false.


    zonecfg:my-zone> set autoboot=true
    
  6. Defina los argumentos de inicio persistentes para una zona.


    zonecfg:my-zone> set bootargs="-m verbose"
    
  7. Dedique una CPU a esta zona.


    zonecfg:my-zone> add dedicated-cpu
    
    1. Defina el número de CPU.


      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
      
    2. (Opcional) Configure la importancia.


      zonecfg:my-zone:dedicated-cpu> set importance=10
      

      El valor predeterminado es 1.

    3. Finalice la especificación.


      zonecfg:my-zone:dedicated-cpu> end
      
  8. Revise el conjunto de privilegios predeterminado.


    zonecfg:my-zone> set limitpriv="default,sys_time"
    

    Esta línea añade la posibilidad de configurar el reloj del sistema con el conjunto de privilegios predeterminado.

  9. Defina la clase de planificación como FSS.


    zonecfg:my-zone> set scheduling-class=FSS
    
  10. Añada un límite de memoria.


    zonecfg:my-zone> add capped-memory
    
    1. Defina el límite de memoria.


      zonecfg:my-zone:capped-memory> set physical=50m
      
    2. Defina el límite de memoria de intercambio.


      zonecfg:my-zone:capped-memory> set swap=100m
      
    3. Establezca el límite de memoria bloqueada.


      zonecfg:my-zone:capped-memory> set locked=30m
      
    4. Finalice la especificación del límite de memoria.


      zonecfg:my-zone:capped-memory> end
      
  11. Añada un sistema de archivos.


    zonecfg:my-zone> add fs
    
    1. Defina el punto de montaje para el sistema de archivos /usr/local en este procedimiento.


      zonecfg:my-zone:fs> set dir=/usr/local
      
    2. Especifique que /opt/zones/my-zone/local en la zona global se montará como /usr/local en la zona que se está configurando.


      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local
      

      En la zona no global, el sistema de archivos /usr/local podrá leerse y escribirse.

    3. Especifique el tipo de sistema de archivos lofs en este procedimiento.


      zonecfg:my-zone:fs> set type=lofs
      

      El tipo indica el modo en que interactúa el núcleo con el sistema de archivos.

    4. Finalice la especificación del sistema de archivos.


      zonecfg:my-zone:fs> end
      

    Este paso puede realizarse más de una vez para añadir más de un sistema de archivos.

  12. (Opcional) Configure el hostid.


    zonecfg:my-zone> set hostid=80f0c086
    
  13. Añada un conjunto de datos ZFS denominado sales en la agrupación de almacenamiento tank.


    zonecfg:my-zone> add dataset
    
    1. Especifique la ruta al conjunto de datos ZFS sales.


      zonecfg:my-zone> set name=tank/sales
      
    2. Finalice la especificación de dataset.


      zonecfg:my-zone> end
      
  14. (Sólo para zonas raíz dispersas) Añada un sistema de archivos compartido que esté montado en bucle desde la zona global.

    No realice este paso para crear una zona raíz completa, que no tiene ningún sistema de archivos compartido. Consulte la descripción de las zonas raíz completas de Espacio en el disco necesario.


    zonecfg:my-zone> add inherit-pkg-dir
    
    1. Especifique que /opt/sfw en la zona global se montará en modo de sólo lectura en la zona que se está configurando.


      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
      

      Nota –

      La base de datos de empaquetamiento de la zona se actualiza para reflejar los paquetes. Estos recursos no se pueden modificar ni eliminar una vez se ha instalado la zona utilizando zoneadm.


    2. Finalice la especificación de inherit-pkg-dir.


      zonecfg:my-zone:inherit-pkg-dir> end
      

    Este paso puede realizarse más de una vez para añadir más de un sistema de archivos compartido.


    Nota –

    Si desea crear una zona raíz completa pero se han añadido recursos de sistemas de archivos compartidos predeterminados utilizando inherit-pkg-dir, debe eliminar estos recursos inherit-pkg-dir predeterminados utilizando zonecfg antes de instalar la zona:

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/lib

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/platform

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/usr


  15. (Opcional) Si está creando una zona de IP exclusiva, configure ip-type.


    zonecfg:my-zone> set ip-type=exclusive
    

    Nota –

    En el paso add net sólo se especificará el tipo de dispositivo físico.


  16. Añada una interfaz de red.


    zonecfg:my-zone> add net
    
    1. (Sólo IP compartida) Defina la dirección IP para la interfaz de red 192.168.0.1 en este procedimiento.


      zonecfg:my-zone:net> set address=192.168.0.1
      
    2. Establezca el tipo de dispositivo físico para la interfaz de red, el dispositivo hme en este procedimiento.


      zonecfg:my-zone:net> set physical=hme0
      
    3. Solaris 10 10/08: (opcional, sólo IP compartida) en este procedimiento defina el enrutador predeterminado para la interfaz de red, 10.0.0.1 en este procedimiento.


      zonecfg:my-zone:net> set defrouter=10.0.0.1
      
    4. Finalice la especificación.


      zonecfg:my-zone:net> end
      

    Este paso puede realizarse más de una vez para añadir más de una interfaz de red.

  17. Añada un dispositivo.


    zonecfg:my-zone> add device
    
    1. Defina la coincidencia del dispositivo /dev/sound/* en este procedimiento.


      zonecfg:my-zone:device> set match=/dev/sound/*
      
    2. Finalice la especificación del dispositivo.


      zonecfg:my-zone:device> end
      

    Este paso puede realizarse más de una vez para añadir más de un dispositivo.

  18. Añada un control de recurso de zona utilizando el nombre de propiedad.


    zonecfg:my-zone> set max-sem-ids=10485200
    

    Este paso puede realizarse más de una vez para añadir más de un control de recurso.

  19. Añada un comentario utilizando el tipo de recurso attr.


    zonecfg:my-zone> add attr
    
    1. Defina el nombre como comment.


      zonecfg:my-zone:attr> set name=comment
      
    2. Defina el tipo como string.


      zonecfg:my-zone:attr> set type=string
      
    3. Configure el valor como un comentario que describe la zona.


      zonecfg:my-zone:attr> set value="This is my work zone."
      
    4. Finalice la especificación del tipo de recurso attr.


      zonecfg:my-zone:attr> end
      
  20. Verifique la configuración de zona para la zona.


    zonecfg:my-zone> verify
    
  21. Confirme la configuración de zona para la zona.


    zonecfg:my-zone> commit
    
  22. Cierre el comando zonecfg.


    zonecfg:my-zone> exit
    

    Aunque no haya escrito explícitamente commit en el indicador, se intenta automáticamente llevar a cabo commit al escribir exit o en caso de que finalice el archivo.

Uso de varios subcomandos desde la línea de comandos

Consejo –

El comando zonecfg también admite varios subcomandos, entre comillas y separados por puntos y coma, de la misma invocación de shell.


global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone"

Dónde proseguir

Consulte Instalación e inicio de zonas para instalar la configuración de zona confirmada.

Secuencia para configurar varias zonas

Puede utilizar esta secuencia para configurar e iniciar varias zonas en el sistema. La secuencia adopta los parámetros siguientes:

Para ejecutar la secuencia, debe ser el administrador global de la zona global. El administrador global tiene privilegios de superusuario en la zona global o asume el rol de administrador principal.


#!/bin/ksh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident	"%Z%%M%	%I%	%E% SMI"

if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
		echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>"
		exit 2
fi

if [[ ! -d $3 ]]; then
		echo "$3 is not a directory"
		exit 1
fi

nprocs=`psrinfo | wc -l`
nzones=$1
prefix=$2
dir=$3

ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if`
if [ $ip_addrs_per_if -lt $nzones ]; then
		echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)"
		echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>"
		exit 1
fi

i=1
while [ $i -le $nzones ]; do
	zoneadm -z $prefix$i list > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create" > $F
		echo "set zonepath=$dir/$prefix$i" >> $F
		zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \
		    sed 's/^/    /g' 
	else
		echo "skipping $prefix$i, already configured"
	fi
	i=`expr $i + 1`
done

i=1
while [ $i -le $nzones ]; do
	j=1
	while [ $j -le $nprocs ]; do
		if [ $i -le $nzones ]; then
			if [ `zoneadm -z $prefix$i list -p | \
			    cut -d':' -f 3` != "configured" ]; then
				echo "skipping $prefix$i, already installed"
			else
				echo installing $prefix$i
				mkdir -pm 0700 $dir/$prefix$i
				chmod 700 $dir/$prefix$i
				zoneadm -z $prefix$i install > /dev/null 2>&1 &
				sleep 1	# spread things out just a tad
			fi
		fi
		i=`expr $i + 1`
		j=`expr $j + 1`
	done
	wait
done

i=1
while [ $i -le $nzones ]; do
	echo setting up sysid for $prefix$i
	cfg=$dir/$prefix$i/root/etc/sysidcfg
	rm -f $cfg
	echo "network_interface=NONE {hostname=$prefix$i}" > $cfg
	echo "system_locale=C" >> $cfg
	echo "terminal=xterms" >> $cfg
	echo "security_policy=NONE" >> $cfg
	echo "name_service=NONE" >> $cfg
	echo "timezone=US/Pacific" >> $cfg
	echo "root_password=Qexr7Y/wzkSbc" >> $cfg  # 'l1a'
	i=`expr $i + 1`
done

i=1
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
	date
	j=1
	while [ $j -le $para ]; do
		if [ $i -le $nzones ]; then
			echo booting $prefix$i
			zoneadm -z $prefix$i boot &
		fi
		j=`expr $j + 1`
		i=`expr $i + 1`
	done
	wait
done

ProcedureCómo visualizar la configuración de una zona no global

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. Visualice la configuración de una zona.


    global# zonecfg -z zonename info
    

Uso del comando zonecfg para modificar una configuración de zona

También puede utilizar el comando zonecfg para:

ProcedureCómo modificar un tipo de recurso en una configuración de zona

Puede seleccionar un tipo de recurso y modificar la especificación para dicho recurso.

Tenga en cuenta que el contenido de los paquetes de software del directorio inherit-pkg-dir no puede modificarse ni eliminarse una vez se ha instalado la zona con zoneadm.

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. Seleccione la zona que desea modificar, my-zone en este procedimiento.


    global# zonecfg -z my-zone
    
  3. Seleccione el tipo de recurso que cambiar, por ejemplo, un control de recurso.


    zonecfg:my-zone> select rctl name=zone.cpu-shares
    
  4. Elimine el valor actual.


    zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none)
    
  5. Añada el nuevo valor.


    zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
    
  6. Finalice la especificación rctl revisada.


    zonecfg:my-zone:rctl> end
    
  7. Confirme la configuración de zona para la zona.


    zonecfg:my-zone> commit
    
  8. Cierre el comando zonecfg.


    zonecfg:my-zone> exit
    

    Aunque no haya escrito explícitamente commit en el indicador, se intenta automáticamente llevar a cabo commit al escribir exit o en caso de que finalice el archivo.

    Los cambios confirmados realizados mediante zonecfg surten efecto la próxima vez que inicia la zona.

ProcedureSolaris 10 8/07: cómo borrar un tipo de propiedad de una configuración de zona

Utilice este procedimiento para restablecer una propiedad independiente.

  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. Seleccione la zona que desea modificar, my-zone en este procedimiento.


    global# zonecfg -z my-zone
    
  3. Borre la propiedad que vaya a cambiar, la asociación de agrupaciones existente en este procedimiento.


    zonecfg:my-zone> clear pool
    
  4. Confirme la configuración de zona para la zona.


    zonecfg:my-zone> commit
    
  5. Cierre el comando zonecfg.


    zonecfg:my-zone> exit
    

    Aunque no haya escrito explícitamente commit en el indicador, se intenta automáticamente llevar a cabo commit al escribir exit o en caso de que finalice el archivo.

    Los cambios confirmados realizados mediante zonecfg surten efecto la próxima vez que inicia la zona.

ProcedureSolaris 10 3/05 a través de Solaris 10 11/06: cómo modificar un tipo de propiedad en una configuración de zona

Siga este procedimiento para restablecer una propiedad independiente que no tenga propiedades relacionadas que configurar. Por ejemplo, para eliminar la asociación de agrupaciones existente, puede restablecer el recurso pool en null.

  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. Seleccione la zona que desea modificar, my-zone en este procedimiento.


    global# zonecfg -z my-zone
    
  3. Restablezca la propiedad que vaya a cambiar, la asociación de agrupaciones existente en este procedimiento.


    zonecfg:my-zone> set pool=""
    
  4. Confirme la configuración de zona para la zona.


    zonecfg:my-zone> commit
    
  5. Cierre el comando zonecfg.


    zonecfg:my-zone> exit
    

    Aunque no haya escrito explícitamente commit en el indicador, se intenta automáticamente llevar a cabo commit al escribir exit o en caso de que finalice el archivo.

    Los cambios confirmados realizados mediante zonecfg surten efecto la próxima vez que inicia la zona.

ProcedureSolaris 10 8/07: cómo cambiar el nombre de una zona

Este procedimiento puede utilizarse para cambiar el nombre de zonas que se encuentran en el estado de configuradas o instaladas.

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. Seleccione la zona cuyo nombre desee cambiar, en este procedimiento my-zone.


    global# zonecfg -z my-zone
    
  3. Cambie el nombre de la zona, por ejemplo, a newzone.


    zonecfg:my-zone> set zonename=newzone
    
  4. Confirme el cambio.


    zonecfg:newzone> commit
    
  5. Cierre el comando zonecfg.


    zonecfg:newzone> exit
    

    Los cambios confirmados realizados mediante zonecfg surten efecto la próxima vez que inicia la zona.

ProcedureCómo añadir un dispositivo dedicado a una zona

La especificación siguiente coloca un dispositivo de exploración en una configuración de zona no global.

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. Añada un dispositivo.


    zonecfg:my-zone> add device
    
  3. Defina la coincidencia del dispositivo, /dev/scsi/scanner/c3t4* en este procedimiento.


    zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4*
    
  4. Finalice la especificación del dispositivo.


    zonecfg:my-zone:device> end
    
  5. Cierre el comando zonecfg.


    zonecfg:my-zone> exit
    

ProcedureCómo configurar zone.cpu-shares en la zona global

Este procedimiento se utiliza para definir de forma persistente los recursos compartidos en la zona global.

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 el comando zonecfg.


    # zonecfg -z global
    
  3. Defina cinco recursos compartidos para la zona global.


    zonecfg:global> set cpu-shares=5
    
  4. Cierre zonecfg.


    zonecfg:global> exit
    

Uso del comando zonecfg para deshacer o eliminar una configuración de zona

Utilice el comando zonecfg que se describe en zonecfg(1M) para deshacer o eliminar la configuración de una zona.

ProcedureCómo deshacer una configuración de zona

Mientras configura una zona con la utilidad zonecfg, utilice el subcomando revert para deshacer la configuración de un recurso realizada en la configuración de zona.

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. Mientras configura una zona denominada tmp-zone, escriba info para ver la configuración:


    zonecfg:tmp-zone> info
    

    El segmento de recurso net de la configuración tiene el aspecto siguiente:


    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .
  3. Elimine la dirección de red:


    zonecfg:tmp-zone> remove net address=192.168.0.1
    
  4. Compruebe que se haya eliminado la entrada net.


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    device
            match: /dev/pts/*
    .
    .
    .
  5. Escriba revert.


    zonecfg:tmp-zone> revert
    
  6. Responda afirmativamente a la siguiente pregunta:


    Are you sure you want to revert (y/[n])? y
    
  7. Compruebe que la dirección de red esté presente de nuevo:


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .

ProcedureCómo eliminar una configuración de zona

Utilice el comando zonecfg con el subcomando delete para eliminar una configuración de zona del sistema.

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. Elimine la configuración de zona para la zona a-zone utilizando uno de estos dos métodos:

    • Utilice la opción -F para forzar la acción:


      global# zonecfg -z a-zone delete -F
      
    • Elimine la zona interactivamente respondiendo afirmativa al siguiente indicador del sistema:


      global# zonecfg -z a-zone delete
      Are you sure you want to delete zone a-zone (y/[n])? y
      

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.

Capítulo 20 Cómo instalar, iniciar, detener, desinstalar y clonar zonas no globales (tareas)

En este capítulo se describe cómo instalar e iniciar una zona no global. También se proporciona un método para utilizar la clonación para instalar una zona en el mismo sistema. Además, se incluyen otras tareas asociadas a la instalación, como detener, reiniciar y desinstalar zonas. El procedimiento para eliminar por completo una zona de un sistema también se describe aquí.

Para obtener información general sobre la instalación de zonas y las operaciones relacionadas, consulte el Capítulo 19Cómo instalar, detener, clonar y desinstalar zonas no globales (descripción general).

Para obtener información sobre la instalación y clonació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) and Capítulo 35Cómo instalar, iniciar, detener, desinstalar y clonar zonas con marca lx (tareas).

Instalación de zona (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

(Opcional) Compruebe una zona configurada antes de instalar la zona. 

Asegúrese de que la zona cumpla los requisitos para la instalación. Si omite este procedimiento, la verificación se lleva a cabo automáticamente al instalar la zona. 

(Opcional) Cómo verificar una zona configurada antes de instalarla

Instale una zona configurada. 

Instale una zona con el estado configurado. 

Cómo instalar una zona configurada

Solaris 8/07: Obtenga el identificador único universal (UUID) para la zona. 

Este identificador independiente, que se asigna al instalar la zona, es un modo alternativo de identificar una zona. 

Solaris 10 8/07: cómo obtener el UUID de una zona no global instalada

(Opcional) Transfiera una zona instalada al estado de lista. 

Puede omitir este procedimiento si desea iniciar la zona y utilizarla de inmediato. 

(Opcional) Cómo transferir la zona instalada al estado de lista

Inicie una zona. 

Al iniciar una zona, ésta se coloca en el estado de ejecución. Una zona puede iniciarse desde el estado de lista o instalada. Tenga en cuenta que debe llevar a cabo la configuración de la zona interna al iniciar sesión en la zona tras iniciarla por primera vez. 

Cómo iniciar una zona, Configuración de zona interna, Configuración inicial de la zona interna

Inicie la zona en modo monousuario. 

Inicia sólo el estado guía svc:/milestone/single-user:default. Este estado es equivalente a init nivel s. Consulte las páginas del comando man init(1M) y svc.startd(1M).

Cómo iniciar una zona en modo monousuario

Instalación e inicio de zonas

Utilice el comando zoneadm que se describe en la página del comando man zoneadm(1M) para llevar a cabo las tareas de instalación para una zona no global. Debe ser el administrador global para realizar la instalación de la zona. Los ejemplos de este capítulo utilizan el nombre y la ruta de zona que se establecen en Configuración, verificación y confirmación de una zona.

Procedure(Opcional) Cómo verificar una zona configurada antes de instalarla

Puede verificar una zona antes de instalarla. Si omite este procedimiento, la verificación se lleva a cabo automáticamente al instalar la zona.

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. Verifique una zona llamada my-zone utilizando la opción -z con el nombre de la zona y el subcomando verify.


    global# zoneadm -z my-zone verify
    

    Aparecerá este mensaje relativo a la verificación de la ruta de la zona:


    Warning: /export/home/my-zone does not exist, so it cannot be verified.
    When 'zoneadm install' is run, 'install' will try to create
    /export/home1/my-zone, and 'verify' will be tried again,
    but the 'verify' may fail if:
    the parent directory of /export/home/my-zone is group- or other-writable
    or
    /export/home1/my-zone overlaps with any other installed zones.

    Sin embargo, si aparece un mensaje de error y la zona no se puede verificar, realice las correcciones especificadas en el mensaje y reintente el comando.

    Si no se muestra ningún mensaje de error, podrá instalar la zona.

ProcedureCómo instalar una zona configurada

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. Instale la zona configurada my-zone utilizando el comando zoneadm con la opción -z install.


    global# zoneadm -z my-zone install
    

    Observará que aparecen varios mensajes a medida que los archivos y directorios necesarios para el sistema de archivos raíz de la zona se instalan en la ruta raíz de la zona.

  3. (Opcional) Si se muestra un mensaje de error y la zona no puede instalarse, escriba lo siguiente para obtener el estado de la zona:


    global# zoneadm -z my-zone list -v
    
    • Si el estado se muestra como configurado, realice las correcciones especificadas en el mensaje y reintente el comando zoneadm install.

    • Si el estado se muestra como incompleto, ejecute primero este comando:


      global# zoneadm -z my-zone uninstall
      

      A continuación, realice las correcciones especificadas en el mensaje y reintente el comando zoneadm install.

  4. Una vez finalizada la instalación, utilice el subcomando list con las opciones -i y -v para enumerar las zonas instaladas y verificar su estado.


    global# zoneadm list -iv
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
Errores más frecuentes

Si se interrumpe o falla la instalación de una zona, ésta se quedará con el estado de incompleta. Utilice el comando uninstall -F para restablecer el estado de configurada a la zona.

Pasos siguientes

Esta zona se ha instalado con la configuración de red abierta que se describe en el Capítulo 19, Managing Services (Tasks) de System Administration Guide: Basic Administration de modo predeterminado. Puede cambiar a la configuración de red abierta, o activar o desactivar servicios individuales, al iniciar sesión en la zona. Consulte Cómo transferir la zona no global a una configuración de servicio de red diferente para obtener más información.

ProcedureSolaris 10 8/07: cómo obtener el UUID de una zona no global instalada

Cuando se instala una zona, se le asigna un identificador único universal (UUID). El UUID puede obtenerse utilizando zoneadm con el subcomando list y la opción -p. El UUID es el quinto campo de la visualización.

  1. Visualice los UUID de las zonas que se han instalado.


    global# zoneadm list -p
    

    Aparecerá una pantalla similar a la siguiente:


    0:global:running:/:
    6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504

Ejemplo 20–1 Cómo utilizar el UUID en un comando


global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v

Si están presentes tanto -u coincidencia_uuid como - z nombre_zona, la coincidencia se lleva a cabo primero con el UUID. Si se encuentra una zona con el UUID especificado, se utiliza dicha zona, y se omite el parámetro -z. Si no se encuentra ninguna zona con el UUID especificado, el sistema busca por nombre de zona.


Información sobre el UUID

Las zonas pueden desinstalarse y volverse a instalar con el mismo nombre y diferentes contenidos. Además, se les puede cambiar el nombre sin que cambie el contenido. Por ello, el UUID es un controlador más fiable que el nombre de zona.

Véase también

Para más información, consulte zoneadm(1M) y libuuid(3LIB).

ProcedureSolaris 10 8/07: cómo marcar una zona no global instalada como incompleta

Si los cambios administrativos que se efectúan en el sistema hacen que la zona deje de ser utilizable o sea incoherente, puede cambiar el estado de una zona de instalada a incompleta.

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. Marque la zona testzone como incompleta.


    global# zoneadm -z testzone mark incomplete
    
  3. Utilice el subcomando list con las opciones -i y - v para verificar el estado.


    global# zoneadm list -iv
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  testzone incomplete   /export/home/testzone          native     shared
Cómo marcar una zona como incompleta

La opción -R raíz puede utilizarse con los subcomandos mark y list de zoneadm para especificar un entorno de inicio alternativo. Consulte zoneadm(1M) para obtener más información.


Nota –

Marcar una zona como incompleta es una configuración irreversible. La única acción que se puede llevar a cabo en una zona marcada como incompleta es desinstalar la zona y devolverla al estado de configurada. Consulte Cómo desinstalar una zona.


Procedure(Opcional) Cómo transferir la zona instalada al estado de lista

Al colocar una zona en el estado de lista se prepara la plataforma virtual para empezar a ejecutar los procesos del usuario. Las zonas con el estado de listas no tienen procesos de usuario en ejecución.

Puede omitir este procedimiento si desea iniciar la zona y utilizarla de inmediato. La transición hasta el estado de lista se lleva a cabo automáticamente al iniciar la zona.

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 el comando zoneadm con la opción -z, el nombre de la zona, que es my-zone y el subcomando ready para transferir la zona al estado de lista.


    global# zoneadm -z my-zone ready
    
  3. En el indicador, utilice el comando zoneadm list con la opción -v para verificar el estado.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  ready        /export/home/my-zone           native     shared

    Tenga en cuenta que el sistema ha asignado el ID de zona exclusivas 1.

ProcedureCómo iniciar una zona

Al iniciar una zona se coloca en el estado de ejecución. Una zona puede iniciarse desde el estado de lista o instalada. Una zona en el estado de instalada que se inicia de forma transparente se transfiere del estado de lista al estado de ejecución. Se permite el inicio de sesión para las zonas con el estado de ejecución.


Consejo –

Tenga en cuenta que la configuración de la zona interna se lleva a cabo al iniciar sesión en la zona por primera vez. Este proceso se describe en Configuración de zona interna.

Si tiene previsto utilizar un archivo /etc/sysidcfg para llevar a cabo un configuración de zona inicial, tal como se describe en Cómo utilizar un archivo /etc/sysidcfg para realizar la configuración de zona inicial, cree el archivo sysidcfg y colóquelo en el directorio /etc de la zona antes de iniciar la zona.


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 el comando zoneadm con la opción -z, el nombre de la zona, que es my-zone y el subcomando boot para iniciar la zona.


    global# zoneadm -z my-zone boot
    
  3. Una vez completado el inicio, utilice el subcomando list con la opción -v para verificar el estado.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared

Ejemplo 20–2 Especificación de argumentos de inicio para las zonas

Inicie una zona utilizando la opción -m verbose:


global# zoneadm -z my-zone boot -- -m verbose

Reinicie una zona utilizando la opción de inicio -m verbose:


global# zoneadm -z my-zone reboot -- -m verbose

Reinicio del administrador de la zona my-zone, utilizando la opción -m verbose:


my-zone# reboot -- -m verbose

Errores más frecuentes

Si aparece un mensaje en el que se indica que el sistema no ha podido encontrar la máscara de red que se utilizará para la dirección IP especificada en la configuración de la zona, consulte Advertencia de netmasks al iniciar la zona. Tenga en cuenta que el mensaje es sólo una advertencia y el comando se lleva a cabo correctamente.

ProcedureCómo iniciar una zona en modo monousuario

Debe ser el administrador global de la zona global para poder realizar 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. Inicie la zona en modo monousuario.


    global# zoneadm -z my-zone boot -s
    

Dónde proseguir

Para iniciar sesión en la zona y llevar a cabo la configuración interna inicial, consulte el Capítulo 21Inicio de sesión en zonas no globales (descripción general) y el Capítulo 22Registro en zonas no globales (tareas).

Cómo detener, reiniciar, desinstalar, clonar y eliminar zonas no globales (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

Detener una zona. 

El proceso de detener una zona se utiliza para eliminar tanto el entorno de aplicación como la plataforma virtual para una zona. El procedimiento devuelve una zona del estado de lista al estado de instalada. Para cerrar una zona sin que se produzcan errores, consulte Uso de zlogin para cerrar una zona.

Cómo detener una zona

Reiniciar una zona. 

El procedimiento de reinicio detiene la zona y la vuelve a iniciar. 

Cómo reiniciar una zona

Desinstalar una zona. 

Elimina todos los archivos del sistema de archivos raíz de la zona. Utilice este procedimiento con precaución Esta acción es irreparable.

Cómo desinstalar una zona

Proporcionar una nueva zona no global basándose en la configuración de una zona existente en el mismo sistema. 

La clonación de una zona es un método alternativo y más rápido para instalar una zona. Debe configurar la nueva zona antes de poder instalarla. 

Solaris 10 11/06: cómo clonar una zona no global en el mismo sistema

Eliminar una zona no global del sistema. 

Este procedimiento elimina por completo una zona del sistema. 

Eliminación de una zona no global del sistema

Cómo detener, reiniciar y desinstalar zonas

ProcedureCómo detener una zona

El procedimiento para detener se utilizar para eliminar tanto el entorno de aplicación como la plataforma virtual de una zona. Para cerrar una zona sin que se produzcan errores, consulte Uso de zlogin para cerrar una zona.

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. Enumere las zonas que se ejecutan en el sistema.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Utilice el comando zoneadm con la opción -z, el nombre de la zona (por ejemplo, my-zone) y el subcomando halt para detener una zona concreta.


    global# zoneadm -z my-zone halt
    
  4. Vuelva a enumerar las zonas del sistema para comprobar que se ha detenido my-zone.


    global# zoneadm list -iv
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  5. Inicie la zona si desea reiniciarla.


    global# zoneadm -z my-zone boot
    
Errores más frecuentes

Si falla la operación de detener, consulte La zona no se detiene para ver algunos consejos para la resolución de problemas.

ProcedureCómo reiniciar una zona

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. Enumere las zonas que se ejecutan en el sistema.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Utilice el comando zoneadm con la opción -z reboot para reiniciar la zona my-zone.


    global# zoneadm -z my-zone reboot
    
  4. Vuelva a enumerar las zonas del sistema para comprobar que my-zone se haya reiniciado.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     2  my-zone  running      /export/home/my-zone           native     shared

    Consejo –

    Tenga en cuenta que el ID de zona de my-zone ha cambiado. El ID de zona suele cambiar tras un reinicio.


ProcedureCómo desinstalar una zona


Precaución – Precaución –

Utilice este procedimiento con precaución. La acción de eliminar todos los archivos del sistema de archivos raíz de la zona es irreversible.


La zona no puede estar en el estado de ejecución. La operación uninstall no es válida para las zonas en ejecució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. Enumere las zonas del sistema.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  3. Utilice el comando zoneadm con la opción -z uninstall para eliminar la zona my-zone.

    También puede utilizar la opción -F para forzar la acción. Si no se especifica esta opción, el sistema solicitará confirmación.


    global# zoneadm -z my-zone uninstall -F
    
  4. Vuelva a enumerar las zonas del sistema, para verificar que my-zone ya no aparezca en la lista.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
Errores más frecuentes

Si se interrumpe la desinstalación de una zona, ésta se quedará en el estado de incompleta. Utilice el comando zoneadm uninstall para restablecer la zona al estado configurado.

Utilice el comando uninstall con cautela, ya que su acción es irreversible.

Solaris 10 11/06: cómo clonar una zona no global en el mismo sistema

La clonación se utiliza para disponer de una nueva zona en un sistema mediante la copia de los datos de una zonepath de origen a una zonepath de destino.

A partir de Solaris 10 5/09, en que la zonepath de origen y la zonepath de destino residen en ZFS y se encuentran en la misma agrupación, el comando zoneadm clone utiliza automáticamente ZFS para clonar la zona. Sin embargo, puede especificar que ZFS zonepath se copie y no se clone.

ProcedureCómo clonar una zona

Debe configurar la nueva zona antes de poder instalarla. El parámetro pasado al subcomando zoneadm create es el nombre de la zona que clonar. Esta zona de origen debe detenerse.

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. Detenga la zona de origen que va a clonar, que en este procedimiento es my-zone.


    global# zoneadm -z my-zone halt
    
  3. Empiece a configurar la nueva zona exportando la configuración de la zona de origen my-zone a un archivo, por ejemplo, master.


    global# zonecfg -z my-zone export -f /export/zones/master
    

    Nota –

    También puede crear la nueva configuración de zona utilizando el procedimiento Cómo configurar la zona en lugar de modificando una configuración existente. Si utiliza este método, vaya al paso 6 después de crear la zona.


  4. Edite el archivo master. Establezca diferentes propiedades y recursos para los componentes que no pueden ser idénticos para diferentes zonas. Por ejemplo, debe configurar un nuevo zonepath. Para una zona de IP compartida, deben cambiarse las direcciones IP de cualquier recurso de red. Para una zona de IP exclusiva, debe cambiarse la propiedad física de cualquier recurso de red.

  5. Cree la zona nueva, zone1, utilizando los comandos del archivo master.


    global# zonecfg -z zone1 -f /export/zones/master
    
  6. Instale la zona nueva, zone1, clonando my-zone.


    global# zoneadm -z zone1 clone my-zone
    

    El sistema muestra:


    Cloning zonepath /export/home/my-zone...

    A partir de Solaris 10 5/09, si la zonepath de origen se encuentra en una agrupación de ZFS, por ejemplo, zeepool, el sistema muestra:


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1
    Instead of copying, a ZFS clone has been created for this zone.
  7. Enumere las zonas del sistema.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  zone1    installed    /export/home/zone1             native     shared
Solaris 10 5/09: cuando se clona una zonepath de origen en un sistema de archivos ZFS

Cuando el comando zoneadm clona un origen zonepath que se encuentra en su propio sistema de archivos ZFS, se llevan a cabo las acciones siguientes:

ProcedureSolaris 10 5/09: cómo clonar una zona a partir de una instantánea existente.

Puede clonar una zona de origen varias veces a partir de una instantánea que tomó al clonar la zona.

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. Configure la zona zone2.

  3. Especifique que se utilizará una instantánea existente para crear new-zone2.


    global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone
    

    El sistema muestra:


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1

    El comando zoneadm valida el software a partir de la instantánea SUNWzone1, y clona la instantánea.

  4. Enumere las zonas del sistema.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /zeepool/zones/my-zone         native     shared
     -  zone1    installed    /zeepool/zones/zone1           native     shared
     -  zone2    installed    /zeepool/zones/zone2           native     shared

ProcedureSolaris 10 5/09: cómo utilizar una copia en lugar de la clonación de ZFS

Utilice este procedimiento para impedir la clonación automática de una zona en un sistema de archivos ZFS especificando que zonepath debería copiarse.

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. Especifique que zonepath en ZFS se copiará y no se clonará mediante ZFS.


    global# zoneadm -z zone1 clone -m copy my-zone
    

Eliminación de una zona no global del sistema

El procedimiento descrito en esta sección elimina por completo una zona de un sistema.

ProcedureCómo eliminar una zona no global

  1. Cierre la zona my-zone.


    global# zlogin my-zone shutdown -y -g0 -i0
    
  2. Elimine el sistema de archivos raíz para my-zone.


    global# zoneadm -z my-zone uninstall -F
    
  3. Elimine la configuración de my-zone.


    global# zonecfg -z my-zone delete -F
    
  4. Enumere las zonas del sistema para comprobar que my-zone ya no aparezca en la lista.


    global# zoneadm list -iv
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared

Capítulo 21 Inicio de sesión en zonas no globales (descripción general)

En este capítulo se describe el inicio de sesión en zonas desde la zona global.

En este capítulo, se describen los siguientes temas:

Para obtener información sobre el uso y los procedimientos, consulte el Capítulo 22Registro en zonas no globales (tareas).

Comando zlogin

Tras instalar una zona, debe iniciar sesión en ella para completar su entorno de aplicación. Puede iniciar sesión en la zona para que también lleve a cabo tareas administrativas. A menos que se utilice la opción -C para conectar a la consola de zona, el inicio de sesión en una zona con zlogin inicia una tarea nueva. Una tarea no puede ocupar dos zonas.

El comando zlogin se utiliza para iniciar sesión desde la zona global en cualquier zona que tenga el estado de ejecución o de lista.


Nota –

Sólo se puede utilizar el comando zlogin con la opción -C para iniciar sesión en una zona que no tenga el estado de ejecución.


Tal como se describe en Cómo utilizar el modo no interactivo para acceder a una zona, puede utilizar el comando zlogin en el modo no interactivo proporcionando un comando que se ejecute dentro de una zona. Sin embargo, el comando o los archivos sobre los que éste actúe no pueden residir en NFS. El comando fallará si alguno de sus archivos abiertos o cualquier parte de su espacio de dirección reside en NFS. El espacio de dirección incluye el ejecutable del comando y las bibliotecas vinculadas del comando.

El comando zlogin sólo lo puede utilizar el administrador global que opere en la zona global. Consulte la página del comando man zlogin(1) para obtener más información.

Configuración de zona interna

Tras la instalación, la zona está en un estado no configurado. La zona no tiene una configuración interna para los servicios de nombres, no se han establecido su zona horaria ni configuración regional y no se han llevado a cabo otras tareas de configuración. Por tanto, los programas sysidtool se ejecutan la primera vez que se utiliza el inicio de sesión de consola de la zona. Para más información, consulte la página del comando man sysidtool(1M).

Hay disponibles dos métodos para llevar a cabo la configuración necesaria:

Métodos de inicio de sesión de zona no global

En esta sección se describen los métodos que puede utilizar para iniciar sesión en una zona.

Inicio de sesión en la consola de zona

Cada zona mantiene una consola virtual, /dev/console. La realización de acciones en la consola se denomina modo de consola. la consola de zona es prácticamente análoga a una consola de serie de un sistema. Las conexiones con la consola persisten en los reinicios de zona. Para comprender el modo en que la consola difiere de una sesión de inicio como telnet, consulte Remote Login.

A la consola de zona se accede utilizando el comando zlogin con la opción -C y nombre_zona. No es necesario que la zona esté en el estado de ejecución.

Los procesos dentro de la zona pueden abrir y escribir mensajes en la consola. Si se cierra el proceso zlogin -C, otro proceso puede acceder a la consola.

Métodos de inicio de sesión de usuario

Para iniciar sesión en la zona con un nombre de usuario, utilice el comando zlogin con la opción -l, el nombre de usuario y nombre_zona. Por ejemplo, el administrador de la zona global puede iniciar sesión como usuario normal en la zona no global especificando la opción -l como zlogin:


global# zlogin -l user zonename

Para iniciar sesión como usuario root, utilice el comando zlogin sin opciones.

Modo a prueba de fallos

Si se produce un problema de inicio de sesión y no puede utilizar los comandos zlogin o zlogin con la opción -C para acceder a la zona, se ofrece una alternativa. Puede especificar la zona utilizando el comando zlogin con la opción -S (seguro). Utilice únicamente este modo para recuperar una zona dañada cuando no lo consiga con otras formas de inicio de sesión. Este entorno mínimo permite diagnosticar por qué falla el inicio de sesión en la zona.

Remote Login

La posibilidad de iniciar sesión remotamente una zona depende de la selección de servicios de red que se establezcan. De modo predeterminado, los inicios de sesión mediante rlogin, ssh y telnet funcionan con normalidad. Para obtener más información sobre estos comandos, consulte rlogin(1), ssh(1) y telnet(1).

Modos interactivo y no interactivo

El comando zlogin también proporciona otros dos métodos para acceder a la zona y ejecutar comandos dentro de ella. Estos métodos son el modo interactivo y el modo no interactivo.

Modo interactivo

En el modo interactivo, se asigna un nuevo pseudoterminal para utilizar dentro de la zona. A diferencia del modo de consola, en el que se concede acceso exclusivo al dispositivo de consola, puede abrirse un número arbitrario de sesiones de zlogin en cualquier momento en modo interactivo. El modo interactivo se activa cuando no se incluye un comando que emitir. Los programas que requieren un dispositivo terminal, como un editor, funcionan correctamente en este modo.

Modo no interactivo

El modo no interactivo se utiliza para ejecutar secuencias de shell que administran la zona. El modo no interactivo no asocia un nuevo pseudoterminal. Dicho modo se activa cuando se proporciona un comando para ejecutar dentro de la zona.

Capítulo 22 Registro en zonas no globales (tareas)

En este capítulo se incluyen los procedimientos para completar la configuración de una zona instalada, registrar una zona desde la zona global y cerrar una zona. Asimismo, se describe cómo utilizar el comando zonename para imprimir el nombre de la zona actual.

Para ver una introducción al proceso de registro de zonas, consulte el Capítulo 21Inicio de sesión en zonas no globales (descripción general).

Procedimientos iniciales de inicio y registro de zonas (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

Realizar la configuración interna. 

Inicie sesión en la consola de zona o utilice un archivo /etc/sysidcfg para llevar a cabo la configuración de zona inicial.

Configuración inicial de la zona interna

Inicie una sesión en la zona. 

Puede iniciar sesión en una zona a través de la consola, utilizando el modo interactivo para asignar un pseudoterminal, o proporcionando un comando para ejecutarlo en la zona. Al proporcionar un comando para ejecutar no se asigna un pseudoterminal. También puede iniciar sesión utilizando el modo a prueba de fallos cuando se deniega una conexión a la zona. 

Registro de una zona

Cerrar una zona no global. 

Desconecte una zona no global. 

Cómo salir de una zona no global

Cerrar una zona. 

Cierre una zona con la utilidad shutdown o una secuencia.

Uso de zlogin para cerrar una zona

Imprimir el nombre de zona. 

Imprima el nombre de la zona actual. 

Impresión del nombre de la zona actual

Configuración inicial de la zona interna

Debe configurar la zona siguiendo uno de estos métodos:


Consejo –

Una vez realizada la configuración interna, se recomienda realizar una copia de la configuración de la zona no global. Esta copia de seguridad puede utilizarse para restaurar la zona en el futuro. Como superusuario o administrador principal, imprima la configuración de la zona my-zone en un archivo. En este ejemplo se utiliza un archivo denominado my-zone.config.


global# zonecfg -z my-zone export > my-zone.config

Consulte Cómo restaurar una zona no global individual para obtener más información.


ProcedureCómo iniciar sesión en la consola de zona para llevar a cabo la configuración de la zona interna

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 el comando zlogin con la opción -C y el nombre de la zona (my-zone en este procedimiento).


    global# zlogin -C my-zone
    
  3. Inicie la zona desde otra ventana de terminal.


    global# zoneadm -z my-zone boot
    

    Aparecerá una pantalla similar a la siguiente en la ventana de zlogin:


    [NOTICE: Zone booting up]
  4. La primera vez que inicie sesión en la consola, se le pedirá que responda a una serie de preguntas. Aparecerá una pantalla como la siguiente:


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2006 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
    
    Hostname: my-zone
    Loading smf(5) service descriptions:
    Select a Language
    
         1. English
         2. es
         2. fr
    Please make a choice (0 - 1), or press h or ? for help:
    
    Select a Locale
    
          1. English (C - 7-bit ASCII)
          2. Canada (English) (UTF-8)
          4. U.S.A. (UTF-8)
          5. U.S.A. (en_US.ISO8859-1)
          6. U.S.A. (en_US.ISO8859-15)
          7. Go Back to Previous Screen
    Please make a choice (0 - 9), or press h or ? for help:
    
    What type of terminal are you using?
          1) ANSI Standard CRT
          2) DEC VT52
          3) DEC VT100
          4) Heathkit 19
          5) Lear Siegler ADM31
          6) PC Console
          7) Sun Command Tool
          8) Sun Workstation
          9) Televideo 910
          10) Televideo 925
          11) Wyse Model 50
          12) X Terminal Emulator (xterms)
          13) CDE Terminal Emulator (dtterm)
          14) Other
    Type the number of your choice and press Return:
    13
    .
    .
    .

    Para ver una lista completa de las preguntas que debe responder, consulte Configuración de zona interna.

  5. (Opcional) Si no utiliza dos ventanas como se describe en el paso 3, es posible que haya ignorado el indicador inicial para la información de configuración. Si, al registrar la zona, en lugar de un indicador aparece el siguiente mensaje de sistema:


    [connected to zone zonename console]

    Pulse Intro para volver a ver el indicador.

    Si responde de forma incorrecta e intenta reiniciar la configuración, es posible que no pueda volver a realizar el proceso correctamente. Esto sucede porque sysidtools puede almacenar sus respuestas anteriores.

    En tal caso, utilice la solución siguiente desde la zona global para reiniciar el proceso de configuración.


    global# zlogin -S zonename /usr/sbin/sys-unconfig
    

    Para obtener información adicional sobre el comando sys-unconfig, consulte la página del comando man sys-unconfig(1M).

ProcedureCómo utilizar un archivo /etc/sysidcfg para realizar la configuración de zona inicial

Solaris 10 8/07: se ha añadido la palabra clave nfs4_domain. Los archivos de ejemplo la muestran. El paso 4 descrito anteriormente, se trata de un paso adicional que debe realizarse si ejecuta una versión anterior.

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. Desde la zona global, cambie los directorios al directorio /etc de la zona no global:


    global# cd /export/home/my-zone/root/etc
    
  3. Cree el archivo sysidcfg y colóquelo en este directorio.

    El archivo tendrá el aspecto siguiente:

    • Para una zona de IP compartida:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        hostname=my-zone
      }
      security_policy=NONE
      name_service=NIS {
      	        domain_name=special.example.com
      	        name_server=bird(192.168.112.3)
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • Para una zona de IP exclusiva con una configuración de IP estática:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
               hostname=my-zone
               default_route=10.10.10.1
               ip_address=10.10.10.13
               netmask=255.255.255.0
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • Para una zona de IP exclusiva con DHCP y la opción IPv6:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        dhcp protocol_ipv6=yes
      }
      security_policy=NONE
      name_service=DNS {
               domain_name=example.net
               name_server=192.168.224.11,192.168.224.33
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
  4. Si ejecuta una versión anterior a 10 8/07, la palabra clave nfs4_domain no aparecerá en el archivo sysidcfg. De modo predeterminado, un módulo independiente solicitará el parámetro de dominio NFSv4 que utiliza el comando nfsmapid. Para completar automáticamente una configuración de zona inicial, edite el archivo default/nfs, elimine los comentarios del parámetro NFSMAPID_DOMAIN y configure el dominio con el dominio NFSv4 deseado:


    global# vi default/nfs
    		.
    		.
    		.
    		NFSMAPID_DOMAIN=domain
    

    Cree el archivo .NFS4inst_state.domain en este directorio para indicar que se ha establecido el dominio NFSv4:


    global# touch .NFS4inst_state.domain
    

    Para obtener más información sobre el parámetro del dominio NFSv4, consulte la página del comando man nfsmapid(1M).

  5. Inicie la zona.

Véase también

Consulte la página del comando man sysidcfg(4) para obtener más información.

Registro de una zona

Utilice el comando zlogin para iniciar sesión desde la zona global en cualquier zona en ejecución o con el estado de lista. Consulte la página del comando man zlogin(1) para obtener más información.

Puede iniciar sesión en una zona de varios modos, tal como se describe en los procedimientos siguientes. También puede iniciar sesión remotamente, tal como se describe en Remote Login.

ProcedureCómo iniciar sesión en la consola de zona

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 el comando zlogin con la opción -C y el nombre de la zona, por ejemplo, my-zone.


    global# zlogin -C my-zone
    

    Nota –

    Si inicia la sesión zlogin inmediatamente después de emitir el comando zoneadm boot, aparecerán mensajes de inicio de la zona:


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    starting rpc services: rpcbind done.
    syslog service starting.
    The system is ready.

  3. Cuando se muestre la consola de zona, inicie sesión como root, pulse Intro y escriba la contraseña de root cuando se le solicite.


    my-zone console login: root
    Password:

ProcedureCómo utilizar el modo interactivo para acceder a una zona

En el modo interactivo, se asigna un nuevo pseudoterminal para utilizar dentro de la zona.

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. En la zona global, inicie sesión en la zona, por ejemplo my-zone.


    global# zlogin my-zone
    

    Aparecerá información como la siguiente:


    [Connected to zone 'my-zone' pts/2]
    Last login: Wed Jul  3 16:25:00 on console
    Sun Microsystems Inc. SunOS 5.10 Generic June 2004
  3. Escriba exit para cerrar la conexión.

    Verá un mensaje similar al siguiente:


    [Connection to zone 'my-zone' pts/2 closed]

ProcedureCómo utilizar el modo no interactivo para acceder a una zona

El modo no interactivo se activa cuando el usuario proporciona un comando para ejecutar dentro de la zona. El modo no interactivo no asocia un nuevo pseudoterminal.

Tenga en cuenta que el comando o los archivos sobre los que éste actúe no pueden residir en NFS.

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. En la zona global, inicie sesión en la zona my-zone y proporcione un nombre de comando.

    Aquí se utiliza el comando zonename.


    global# zlogin my-zone zonename
    

    Aparecerá el siguiente resultado:


    my-zone

ProcedureCómo salir de una zona no global

  1. Para desconectarse de una zona no global, utilice uno de los métodos siguientes.

    • Para salir de la consola no virtual de la zona:


      zonename# exit
      
    • Para desconectarse de la consola virtual de una zona, utilice el carácter de guión (~) y un punto:


      zonename# ~.
      

      Aparecerá una pantalla como la siguiente:


      [Connection to zone 'lx-zone' pts/6 closed]
Véase también

Si desea más información sobre las opciones del comando zlogin, consulte zlogin(1).

ProcedureCómo utilizar el modo a prueba de fallos para especificar una zona

Cuando se deniega una conexión a la zona, puede utilizarse el comando zlogin con la opción -S para especificar un entorno mínimo en la zona.

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. Desde la zona global, utilice el comando zlogin con la opción -S para acceder a la zona, por ejemplo my-zone.


    global# zlogin -S my-zone
    

ProcedureUso de zlogin para cerrar una zona


Nota –

La ejecución de init 0 en la zona global para cerrar sin errores un sistema Solaris también ejecuta el comando init 0 en todas las zonas no globales del sistema. Observe que init 0 no advierte a los usuarios locales ni remotos de que es necesario cerrar sesión antes de que se cierre el sistema.


Siga este procedimiento para cerrar una zona sin errores. Para detener una zona sin ejecutar secuencias de cierre, consulte Cómo detener una zona.

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. Inicie sesión en la zona que debe cerrar, por ejemplo, my-zone, y especifique shutdown como nombre de la utilidad e init 0 como estado.


    global# zlogin my-zone shutdown -y -g0 -i 0
    

    Es posible que el sitio tenga su propia secuencia de cierre, adaptada a su entorno específico.

Uso de shutdown en modo no interactivo

No puede utilizar el comando shutdown en el modo no interactivo para colocar la zona en el estado de monousuario en este momento. Consulte CR 6214427 para obtener más información.

Puede utilizar un inicio de sesión interactivo como se describe en Cómo utilizar el modo interactivo para acceder a una zona.

Cómo transferir la zona no global a una configuración de servicio de red diferente

Esta zona se ha instalado con la configuración de red abierta que se describe en el Capítulo 19, Managing Services (Tasks) de System Administration Guide: Basic Administration. Puede transferir la zona a la configuración de red limitada, o activar o desactivar los servicios individuales en la zona.

ProcedureCómo transferir la zona a la configuración de servicio de red limitada

  1. En la zona global, inicie sesión en la zona, por ejemplo my-zone.


    global# zlogin my-zone
    
  2. Ejecute el comando netservices para transferir la zona a la configuración de red limitada.


    my-zone# /usr/sbin/netservices limited
    

    Aparecerá una pantalla similar a la siguiente. Responda y en el indicador para reiniciar dtlogin.


    restarting syslogd
    restarting sendmail
    dtlogin needs to be restarted. Restart now? [Y] y
    restarting dtlogin

ProcedureCómo activar un servicio específico en una zona

  1. En la zona global, inicie sesión en la zona, por ejemplo my-zone.


    global# zlogin my-zone
    
  2. Ejecute el comando svcadm para activar el control de memoria física utilizando el daemon de limitación.


    my-zone# svcadm enable svc:/system/rcap:default
    
  3. Enumere los servicios para verificar que rcapd esté activado.


    my-zone# svcs -a
    .
    .
    .
    online    14:04:21 svc:/system/rcap:default
    .
    .
    .
    

Impresión del nombre de la zona actual

El comando zonename descrito en la página del comando man zonename(1) imprime el nombre de la zona actual. El ejemplo siguiente muestra el resultado que se obtiene cuando se utiliza zonename en la zona global.


# zonename
global

Capítulo 23 Movimiento y migración de zonas no globales (tareas)

Este capítulo es nuevo de la versión Solaris 10 11/06. En versiones posteriores se han incorporado otras funciones.

En este capítulo se explica:

A partir de Solaris 10 10/08, si el nuevo host tiene la misma versión o versiones posteriores de los paquetes que dependen de zonas y de los parches asociados, el uso de zoneadm attach con la opción -u actualiza el conjunto mínimo de paquetes para que la zona no global sea utilizable en el nuevo host. Si el nuevo host tiene una mezcla de parches de versiones anteriores y posteriores en comparación con el host de origen, no se puede realizar una actualización durante el proceso de conexión.

El comando zoneadm attach utilizado con la opción -u también permite la migración entre clases de equipos, como de sun4u a sun4v.

A partir de la versión Solaris 10 9/10, el uso de zoneadm attach con la opción -U actualiza todos los paquetes de la zona, por lo que estos paquetes coincidirán 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. Asimismo, esta opción permite migrar de manera automática entre clases de equipos, como por ejemplo de sun4u a sun4v.

Como alternativa a la aplicación de parches normal, las zonas se pueden separar mientras se aplican parches a la zona global y, a continuación, volver a conectar con la opción -U para que coincida con el nivel de parche de la zona global.

Para obtener información sobre cómo mover y migrar zonas con marca lx, consulte el Capítulo 37Cómo mover y migrar zonas con marca lx (tareas).

Solaris 10 11/06: movimiento de una zona no global

Este procedimiento se utiliza para mover la zona a una ubicación nueva del mismo sistema cambiando zonepath. La zona debe detenerse. La nueva zonepath debe estar en un sistema de archivos local. Se aplica el criterio zonepath habitual que se describe en Tipos de propiedades y recursos.

ProcedureCómo mover una zona

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. Detenga la zona que vaya a mover (en este procedimiento, db-zone).


    global# zoneadm -z db-zone halt
    
  3. Utilice el comando zoneadm con el subcomando move para mover la zona a una nueva zonepath, /export/zones/db-zone.


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. Verifique la ruta.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  db-zone  installed    /export/zones/db-zone          native     shared

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.

Cómo migrar una zona desde un equipo que no se puede utilizar

Un equipo que aloja una zona de Solaris nativa puede convertirse en inutilizable. Sin embargo, si el almacenamiento en el que se encuentra la zona, por ejemplo una SAN, sigue siendo utilizable, se podría migrar correctamente la zona a un nuevo host. Puede mover zonepath para la zona al nuevo host. 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. Dado que la zona no se ha desconectado correctamente, primero debe crear la zona en el nuevo host utilizando el comando zonecfg. A continuación, conecte la zona en el nuevo host. Aunque el nuevo host indica que la zona no se ha desconectado correctamente, el sistema intentará realizar la conexión de todos modos.

Este procedimiento se describe en los pasos del 4 al 8 de Cómo migrar una zona no global. Consulte también Cómo mover zonepath a un nuevo host.

Uso de la actualización tras conexión como solución para aplicar parches

El proceso de actualizar al conectar desarrollado para migrar zonas a un sistema diferente se puede utilizar también para aplicar parches a zonas. Este método permite que la zona global esté disponible más rápidamente. Entonces el administrador del sistema puede controlar qué zonas se actualizan primero y conseguir que esas zonas estén en ejecución antes de que se actualicen e inicien zonas menos importantes.

El proceso siguiente actualiza todos los parches por lo que la zona parece una zona recién instalada en el sistema:

  1. Antes de aplicar un paquete de parches a la zona global, separe todas las zonas no globales.

  2. Aplique el paquete de parches a la zona global.

  3. Cuando se haya aplicado el paquete y se haya reiniciado el sistema, utilice el comando zoneadm attach con la opción -U para colocar las zonas no globales al mismo nivel de parche que la zona global.

Los paquetes instalados dentro de la zona, pero no instalados en la zona global, se omiten y se dejan tal cual.

Consulte Solaris 10 10/09: aplicación de parches a zonas en paralelo para reducir su tiempo de aplicación para una rápida solución de aplicación de parches que use la utilidad patchadd.

Capítulo 24 Solaris 10 9/10: migración de un sistema Solaris físico a una zona (tareas)

Se utiliza una función P2V (Physical-to-Virtual o de físico a virtual) para migrar directamente un sistema Solaris a una zona nativa en un sistema de destino.

Evaluación del sistema que se debe migrar

En función de los servicios realizados por el sistema original, es posible que el administrador global deba personalizar manualmente la zona después de que se haya instalado. Por ejemplo, es posible que haya que modificar los privilegios asignados a la zona. Esto no se hace automáticamente. Asimismo, dado que no todos los servicios de sistema funcionan en zonas, no todos los sistemas físico son buenos candidatos para la migración a una zona.

Tenga en cuenta que si la imagen del sistema que se va a instalar mediante P2V es más nueva que la versión del sistema operativo host de destino, la instalación fallará.

ProcedureCómo recopilar información del sistema

Recopile información obligatoria desde el sistema de origen.

  1. Obtenga el hostname:


    # hostname
    
  2. Obtenga el hostid:


    # hostid
    

    Consulte también Emulación de ID de host.

  3. Obtenga la contraseña del usuario root.

  4. Vea el software que se ejecuta en el sistema:


    # ps -eaf
    
  5. Compruebe la configuración de red en el sistema:


    # ifconfig -a
    
  6. Vea el almacenamiento utilizado, por ejemplo, mediante la visualización del contenido de /etc/vfstab.

  7. Vea la cantidad almacenamiento de disco local en uso, que determina el tamaño del archivo de almacenamiento:


    # df -k
    
  8. Determine los paquetes y parches que están en el sistema. Consulte pkginfo(1) para obtener más información.

  9. Examine el contenido de /etc/system.

Creación de la imagen utilizada para migrar directamente un sistema Solaris a una zona

Puede utilizar las herramientas de archivado flash para crear una imagen de un sistema instalado que se pueda migrar a una zona.

El sistema se puede configurar completamente con todo el software que se ejecutará en la zona antes de crear la imagen. Más tarde, cuando se instale la zona, el programa de instalación utilizará la imagen.


Precaución – Precaución –

Si crea un archivo de almacenamiento flash Solaris, o flar, de un sistema Solaris 10 con una raíz ZFS, de forma predeterminada, el flar será realmente un flujo de envío ZFS, que se puede utilizar para volver a crear la agrupación raíz. Esta imagen no se puede utilizar para instalar una zona. Debe crear el flar con un archivo de almacenamiento cpio o pax explícito cuando el sistema tenga una raíz ZFS.

Utilice el comando flarcreate con la opción -L archivador y especifique cpio o pax como el método para archivar los archivos. Consulte el paso 4 en el procedimiento siguiente.


ProcedureCómo utilizar flarcreate para crear la imagen

Utilice el comando flarcreate descrito en la página del comando man flarcreate(1M) para crear la imagen del sistema. Este procedimiento de ejemplo utiliza NFS para colocar el archivo de almacenamiento flash en el sistema Solaris de destino, pero podría utilizar cualquier método para mover el archivo.

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.

  2. Inicie sesión en el sistema de origen que se va a archivar.

  3. Cambie los directorios al directorio root.


    # cd /
    
  4. Utilice flarcreate para crear un archivo de imagen de archivo de almacenamiento flash denominado s10-system en el sistema de origen y coloque el archivo de almacenamiento en el sistema de destino:


    source-system # flarcreate -S -n s10-system -L cpio /net/target/export/s10-system.flar
    Determining which filesystems will be included in the archive...
    Creating the archive...
    cpio: File size of "etc/mnttab" has
    increased by 435
    2068650 blocks
    1 error(s)
    Archive creation complete.

    El equipo de destino requerirá acceso de escritura root al sistema de archivos /export. Según el tamaño del sistema de archivos en el sistema host, el archivo de almacenamiento podría tener un tamaño de varios gigabytes, por lo que debe haber espacio suficiente en el sistema de archivos de destino.


    Consejo –

    En algunos casos, flarcreate puede mostrar errores del comando cpio. Normalmente, se trata de mensajes como El tamaño del archivo etc/mnttab ha aumentado en 435. Cuando estos mensajes pertenecen a archivos de registro o archivos que reflejan el estado del sistema, se puede hacer caso omiso de ellos. Asegúrese de examinar todos los mensajes de error con detenimiento.


Otros métodos de creación de archivos de almacenamiento

Puede utilizar métodos alternativos para crear el archivo de almacenamiento. El programa de instalación puede aceptar los siguientes formatos de archivo de almacenamiento:

Tenga en cuenta que el programa de instalación sólo puede aceptar un directorio de archivos creado mediante una utilidad de archivado que guarde y restaure los permisos de archivo, la propiedad y los vínculos.

Para obtener más información, consulte cpio(1), pax(1), bzip2 (1), gzip(1), y las páginas del comando man ufsdump(1M).


Nota –

Si utiliza un método que no sea el del archivo de almacenamiento flash para crear un archivo de almacenamiento para P2V, debe desmontar la biblioteca dependiente de procesador libc.so.1 lofs con funciones de hardware montadas (hwcap) en el sistema de origen antes de crear el archivo de almacenamiento. De lo contrario, es posible que la zona instalada con el archivo de almacenamiento no se inicie en el sistema de destino. Una vez creado el archivo de almacenamiento, puede volver a montar la correspondiente biblioteca con funciones de hardware encima de /lib/libc.so.1 mediante lofs y la opción de montaje -O.


source-system# unmount /lib/libc.so.1
source-system# mount -O -F lofs /lib/libc.so.1 

Emulación de ID de host

Cuando se migran aplicaciones de un sistema Solaris físico a una zona en un sistema nuevo, el hostid cambia al hostid del equipo nuevo.

En algunos casos, las aplicaciones dependen del hostid original, y no es posible actualizar la configuración de la aplicación. En estos casos, la zona se puede configurar para que utilice el hostid del sistema original. Esto se realiza mediante el establecimiento de una propiedad zonecfg para especificar el hostid, tal y como se describe en Cómo configurar la zona. El valor utilizado debería ser la salida del comando hostid como se ejecutaba en el sistema original. Para ver el hostid en una zona instalada, utilice también el comando hostid.

Para obtener más información sobre ID de host, consulte hostid(1).

Configuración de la zona

Cree la nueva configuración de zona en el sistema de destino mediante el procedimiento Cómo configurar la zona.


Consejo –

Si va a utilizar medios de CD o DVD para instalar aplicaciones en la zona nueva, utilice add fs para añadir acceso de sólo lectura a los medios de CD o DVD en la zona global cuando configure inicialmente la zona con marca. A continuación, podrá utilizar un CD o DVD para instalar un producto en la zona con marca. Consulte Cómo añadir acceso a medios de CD o DVD en una zona no global para obtener más información.


Instalación de la zona

El comando zoneadm descrito en la Parte II, Zonas y en la página del comando man zoneadm(1M) es la herramienta principal utilizada para instalar y administrar zonas no globales. Las operaciones que utilizan el comando zoneadm deben ejecutarse desde la zona global en el sistema de destino.

Además de desempaquetar archivos del archivo de almacenamiento, el proceso de instalación realiza comprobaciones, postprocesamiento obligatorio y otras funciones para asegurarse de que la zona está optimizada para ejecutarse en el host.

Puede utilizar una imagen de un sistema Solaris que haya sido configurado totalmente con todo el software que se ejecutará en la zona. Consulte Creación de la imagen utilizada para migrar directamente un sistema Solaris a una zona.

Si ha creado un archivo de almacenamiento de sistema Solaris a partir de un sistema existente y utiliza la opción -p (conservar sysidcfg) al instalar la zona, la zona tendrá la misma identidad que el sistema utilizado para crear la imagen.

Si utiliza la opción -u (sys-unconfig) al instalar la zona en el destino, la zona producida no tendrá configurado un nombre de host o un servicio de nombres.


Precaución – Precaución –

Se debe especificar la opción -p o la opción -u, o se producirá un error.


Opciones del instalador

Opción 

Descripción 

-a

Ubicación del archivo de almacenamiento desde la que copiar la imagen del sistema. Se admiten archivos de almacenamiento flash y cpio completos, gzip cpio comprimidos, bzip cpio comprimidos y ufsdump de nivel 0. Consulte la página del comando man gzip disponible en el paquete SUNWsfman.

-d ruta

Ubicación del directorio desde el que se debe copiar imagen del sistema. 

-d

Utilice la opción -d con el parámetro guión para indicar que se use el diseño de directorios existente en la zonepath. Por consiguiente, si el administrador configura el directorio zonepath manualmente antes de la instalación, se podrá utilizar la opción -d para indicar que el directorio ya existe.

-p

Conservar la identidad del sistema identity. 

-s

Instale de forma silenciosa. 

-u

sys-unconfig la zona.

-v

Salida detallada. 

Las opciones -a y -d se excluyen mutuamente. Las opciones -p, -s, -u y -v sólo se permiten cuando se proporciona -a o -d.

ProcedureCómo instalar la zona

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

  2. Instale la zona configurada s-zone utilizando el comando zoneadm con la opción install - a y la ruta al archivo de almacenamiento.


    global# zoneadm -z s-zone install -u -a /net/machine_name/s-system.flar
    

    Observará que aparecen varios mensajes a medida que se completa la instalación. Puede tardar un poco.

    Una vez finalizada la instalación, utilice el subcomando list con las opciones -i y -v para enumerar las zonas instaladas y verificar su estado.

Errores más frecuentes

Si una instalación falla, revise el archivo de registro. Cuando tiene éxito, el archivo de registro se encuentra en /var/log dentro de la zona. Cuando se produce un fallo, el archivo de registro se encuentra en /var/tmp en la zona global.

Si se interrumpe o falla la instalación de una zona, ésta se quedará con el estado de incompleta. Utilice el comando uninstall -F para restablecer el estado de configurada a la zona.

Inicie la zona

ProcedureCómo iniciar la zona

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

Si se utilizó la opción -u, también deberá zlogin a la consola de zona y realizar la configuración del sistema, tal y como se describe en Configuración inicial de la zona interna.

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

  2. Utilice el comando zoneadm con la opción - z, el nombre de la zona, que es s-zone y el subcomando boot para iniciar la zona.


    global# zoneadm -z s-zone boot
    
  3. Una vez completado el inicio, utilice el subcomando list con la opción -v para verificar el estado.


    global# zoneadm list -v
    

Capítulo 25 Paquetes y parches en un sistema Solaris con zonas instaladas (descripción general)

Solaris 10 1/06: Este capítulo se ha revisado por completo.

En él se describe cómo mantener el sistema operativo Solaris cuando hay zonas instaladas. Se incluye información sobre cómo añadir paquetes y parches al sistema operativo en la zona global y todas las zonas no globales instaladas. Asimismo, se explica el modo de eliminar paquetes y parches. El material de este capítulo complementa la documentación existente sobre instalación y parches de Solaris. Para obtener más información, consulte Solaris 10 Release and Installation Collection y la System Administration Guide: Basic Administration.

Este capítulo trata de los temas siguientes:

Novedades en los paquetes y parches cuando hay zonas instaladas

Solaris 10 1/06: Este capítulo se ha editado de nuevo a partir de Solaris 10, para reflejar el comportamiento actual de los comandos de paquetes y parches en un sistema con zonas no globales instaladas.

Solaris 10 6/06: Se ha revisado la información sobre los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE. Consulte Descripción general de las herramientas de empaquetado y parches e Información de parámetros de paquetes.

Solaris 10 6/06 y versiones posteriores: para obtener información sobre cómo registrar el sistema o utilizar Sun Connection (conocido anteriormente como Sun Update Connection) para administrar las actualizaciones de software, consulte Sun Connection hub on BigAdmin.

Solaris 10 8/07 y versiones posteriores:

Solaris 10 5/08 y versiones de actualización posteriores: Fin de archivo de PatchPro. En septiembre de 2007 finalizó la admisión de PatchPro, que utilizaba las herramientas de parche y bases de datos de parches para modificar el software instalado en zonas globales y no globales. Para obtener información sobre el proceso que se lleva acabo actualmente, consulte Sun xVM Ops Center.

Solaris 10 5/08: Aunque se haya incorporado en Solaris 10 5/08, esta información es válida para todos los sistemas Solaris 10.

Para registrar su sistema operativo Solaris, visite https://inventory.sun.com/inventory/. Para obtener información sobre cómo utilizar Sun Inventory para registrar el hardware, el software y los sistemas operativos, consulte Sun Inventory Information Center.

Si utiliza Sun xVM Ops Center para proveer, actualizar y administrar los sistemas del centro de datos, consulte Sun xVM Information Center para obtener información sobre cómo registrar el software con Sun xVM Ops Center.

Solaris 10 10/09: la aplicación de parches en paralelo a zonas es una mejora de las utilidades de parches de Solaris 10 estándar. Para las versiones anteriores a Solaris 10 10/09, el parche se entrega en el parche de utilidades para parches, 119254-66 o revisión posterior (SPARC) y 119255-66 o revisión posterior (x86). Consulte Solaris 10 10/09: aplicación de parches a zonas en paralelo para reducir su tiempo de aplicación y Solaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo. Consulte también Uso de la actualización tras conexión como solución para aplicar parches, un método recomendado utilizado para actualizar rápidamente parches en un sistema con zonas.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

Descripción general de las herramientas de empaquetado y parches

Las herramientas de empaquetado de Solaris se utilizan para administrar el entorno de zonas. El administrador global puede actualizar el sistema a una nueva versión de Solaris, que actualiza tanto las zonas globales como las no globales.

El programa Actualización automática de Solaris, el programa de instalación interactiva estándar de Solaris o el programa de instalación JumpStart personalizado pueden utilizarse en la zona global para actualizar un sistema que incluya zonas no globales. Para una zona con zonepath en ZFS, se aplican las siguientes restricciones:

Para obtener más información, consulte Uso de Actualización automática de Oracle Solaris para migrar o actualizar un sistema con zonas (Solaris 10 10/08) de Guía de administración de Oracle Solaris ZFS.

El administrador de zona puede utilizar las herramientas de empaquetado para administrar el software instalado en una zona no global, dentro de los límites que se describen en este documento.

Cuando hay zonas instaladas, se aplican los siguientes principios generales:


Nota –

Mientras se llevan a cabo determinadas operaciones de paquetes y parches, una zona se bloquea temporalmente para las demás operaciones de este tipo. El sistema también puede configurar una operación solicitada con el administrador antes de continuar.


Paquetes y zonas

Cuando se instala una zona no global, sólo se repite por completo un subconjunto de los paquetes Solaris instalados en la zona global. Por ejemplo, en una zona no global no se necesitan muchos paquetes que contienen el núcleo de Solaris. Todas las zonas no globales comparten de forma implícita el mismo núcleo de Solaris de la zona global. Sin embargo, aunque no se requieran los datos de un paquete o no se utilicen en una zona no global, saber que un paquete está instalado en la zona global podría serle útil para una zona no global. La información permite a las dependencias de paquetes de las zonas no globales resolverse correctamente con la zona global.

Los paquetes presentan parámetros que controlan cómo se distribuye y se hace visible el contenido en un sistema con zonas no globales instaladas. Los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE definen las características de los paquetes en un sistema con zonas instaladas. Si es preciso, los administradores del sistema pueden comprobar esta configuración de parámetros de paquete para verificar la aplicabilidad del paquete cuando se aplica o elimina un paquete en un entorno de zona. El comando pkgparam puede utilizarse para ver los valores para estos parámetros. Para obtener más información sobre estos parámetros, consulte Información de parámetros de paquetes. Consulte Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas para obtener las instrucciones de uso.

Si desea información sobre las características y los parámetros de los paquetes, consulte la página del comando man pkginfo(4) Para obtener información sobre cómo mostrar los valores de parámetros de paquetes, consulte la página del comando man pkgparam(1).

Parches generados para paquetes

Cuando se genera un parche para un paquete, los parámetros deben tener los mismos valores que el paquete original.

Paquetes interactivos

Cualquier paquete que deba ser interactivo (es decir, que tenga una secuencia de solicitud), se añada sólo a la zona actual. El paquete no se propaga a ninguna otra zona. Si se añade un paquete interactivo a la zona global, el paquete se trata como si se estuviera añadiendo utilizando el comando pkgadd con la opción -G. Para obtener más información sobre esta opción, consulte Cómo añadir paquetes en zonas.

Sincronización de las zonas

Se recomienda instalar el software en las zonas no globales de modo que se obtenga la máxima sincronización con el software instalado en la zona global. Esta práctica minimiza la dificultad de administrar un sistema con varias zonas instaladas.

Con esta finalidad, las herramientas de paquetes aplican las siguientes reglas cuando añaden o eliminan paquetes en la zona global.

Operaciones de paquetes que se pueden realizar en la zona global

Si el paquete no está instalado en la zona global ni en ninguna zona no global, puede instalarse:

Si el paquete está instalado sólo en la zona global:

Si un paquete está instalado en la zona global y sólo en un subconjunto de las zonas no globales:

Si un paquete está instalado en la zona global y en todas las zonas no globales, puede eliminarse de la zona global y de todas las zonas no globales.

Con estas reglas se garantiza que:

Operaciones de paquetes que se pueden realizar en una zona no global

Las operaciones de paquetes que es posible llevar a cabo en una zona no global son:

Cómo afecta el estado de la zona a las operaciones de paquetes y parches

En la tabla siguiente se describe qué ocurre cuando se utilizan los comandos pkgadd, pkgrm, patchadd y patchrm en un sistema con zonas no globales en varios estados.

Las revisiones relativas a la descripción del estado de instalada se han efectuado en la tabla correspondiente a la versión Solaris 10 5/08.

Estado de zona 

Efecto en las operaciones de paquetes y parches 

Configurada 

Pueden ejecutarse herramientas de paquetes y parches. Todavía no se ha instalado ningún software. 

Instalada 

Pueden ejecutarse herramientas de paquetes y parches. Durante las operaciones de empaquetado o aplicación de parches, el sistema mueve una zona del estado de instalada al nuevo estado interno de montada. Una vez completada la aplicación de parches, la zona vuelve al estado de instalada. 

Inmediatamente después de haberse completado zoneadm - z zonename install, la zona también pasa al estado de instalada. No se pueden aplicar parches ni ejecutar comandos de empaquetado a una zona con el estado de instalado que no se haya iniciado nunca. La zona debe iniciarse en el estado de ejecución como mínimo una vez. Tras haber iniciado una zona al menos una vez, y después adquirido de nuevo el estado de instalada mediante zoneadm halt, se pueden aplicar parches y ejecutar comandos de empaquetado.

Lista 

Pueden ejecutarse herramientas de paquetes y parches. 

Ejecutándose 

Pueden ejecutarse herramientas de paquetes y parches. 

Incompleta 

Zona que instala o elimina zoneadm. No es posible utilizar las herramientas de paquetes y parches. Las herramientas no pueden colocar la zona en el estado adecuado para utilizar las herramientas.

Cómo añadir paquetes en zonas

La utilidad del sistema pkgadd que se describe en la página del comando man pkgadd(1M) permite añadir paquetes en un sistema Solaris con zonas instaladas.

Uso de pkgadd en la zona global

La utilidad pkgadd puede utilizarse con la opción -G en la zona global para añadir el paquete sólo a la zona global. El paquete no se propaga a ninguna otra zona. Si SUNW_PKG_THISZONE=true, no es necesario que utilice la opción -G. Si SUNW_PKG_THISZONE=false, la opción -G lo modificará.

Si ejecuta la utilidad pkgadd en la zona global, se aplican las siguientes acciones.

Cómo añadir un paquete a la zona global y todas las zonas no globales

Para añadir un paquete a la zona global y todas las zonas no globales, ejecute la utilidad pkgadd en la zona global. Como administrador global, ejecute pkgadd sin la opción -G.

Puede añadirse un paquete a la zona global y todas las zonas no globales independientemente del área a la que se aplica el paquete.

La utilidad pkgadd lleva a cabo los pasos siguientes:

Cómo añadir un paquete sólo en la zona global

Para añadir un paquete sólo en la zona global, como administrador global en la zona global, ejecute la utilidad pkgadd con la opción -G solamente.

Puede añadirse un paquete a la zona global si se cumplen las condiciones que se detallan a continuación:

La utilidad pkgadd lleva a cabo los pasos siguientes:

Cómo añadir un paquete instalado en la zona global en todas las zonas no globales

Para añadir un paquete que ya está instalado en la zona global en todas las zonas no globales, debe eliminar el paquete de la zona global y reinstalarlo en todas las zonas.

Debe seguir estos pasos para añadir un paquete que ya está instalado en la zona global en todas las zonas no globales:

  1. En la zona global, utilice el comando pkgrm para eliminar el paquete.

  2. Añada el paquete sin utilizar la opción -G.

Uso de pkgadd en una zona no global

Para añadir un paquete en una zona no global específica, ejecute la utilidad pkgadd, sin opciones, como administrador de zona. Se aplican las condiciones siguientes:

La utilidad pkgadd lleva a cabo los pasos siguientes:

Cómo eliminar paquetes de zonas

La utilidad pkgrm que se describe en la página del comando man pkgrm(1M) permite eliminar paquetes de un sistema Solaris con zonas instaladas.

Uso de pkgrm en la zona global

Cuando se utiliza la utilidad pkgrm en la zona global, se aplican las acciones siguientes.

Tenga en cuenta que un paquete sólo lo puede eliminar de una zona no global un administrador de zona que trabaje en dicha zona y si se cumplen las siguientes condiciones:

Cómo eliminar un paquete de la zona global y todas las zonas no globales

Para eliminar un paquete de la zona global y todas las zonas no globales, ejecute la utilidad pkgrm en la zona global como administrador global.

Puede eliminarse un paquete de la zona global y todas las zonas no globales independientemente del área a la que se aplica el paquete.

La utilidad pkgrm lleva a cabo los pasos siguientes:

Uso de pkgrm en una zona no global

Como administrador de zona, utilice la utilidad pkgrm en una zona no global para eliminar un paquete. Se aplican las siguientes limitaciones:

La utilidad pkgrm lleva a cabo los pasos siguientes:

Información de parámetros de paquetes

Configuración de los parámetros de paquetes para las zonas

Los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE definen las características de los paquetes en un sistema con zonas instaladas. Deben establecerse estos parámetros para que puedan administrarse los paquetes en un sistema con zonas no globales instaladas.

La siguiente tabla muestra cuatro combinaciones válidas para establecer los parámetros de los paquetes. Si decide establecer combinaciones que no aparecen en la siguiente tabla, esa configuración no será válida y el paquete no se instalará.

Asegúrese de establecer los tres parámetros de los paquetes. Puede dejar en blanco los tres parámetros de los paquetes. Las herramientas de paquetes consideran los parámetros de paquetes de las zonas que no se han configurado como si se hubieran establecido en false, pero no se recomienda dejar de configurar los parámetros. Al establecer los tres parámetros de los paquetes, se especifica el comportamiento que las herramientas de los paquetes deben mostrar cuando se instala o se elimina un paquete.

Tabla 25–1 Configuración válida de los parámetros de paquetes

Parámetro SUNW_PKG_ALLZONES

Parámetro SUNW_PKG_HOLLOW

Parámetro SUNW_PKG_THISZONE

Descripción de los paquetes 

false 

false 

false 

Ésta es la configuración predeterminada de los paquetes cuando no se especifican valores para todos los parámetros de los paquetes de las zonas. 

Puede instalarse un paquete con esta configuración en la zona global o en una zona no global.  

  • Si el comando pkgadd se ejecuta en una zona global, el paquete se instala en la zona global y en todas las zonas no globales.

  • Si el comando pkgadd se ejecuta en una zona no global, el paquete se instala sólo en la zona no global.

En ambos casos, todo el contenido del paquete está visible en todas las zonas en la que se ha instalado el paquete. 

false 

false 

true 

Puede instalarse un paquete con esta configuración en la zona global o en una zona no global. Si se crean nuevas zonas no globales después de la instalación, el paquete no se propaga a estas nuevas zonas. 

  • Si el comando pkgadd se ejecuta en la zona global, el paquete se instala sólo en la zona global.

  • Si el comando pkgadd se ejecuta en una zona no global, el paquete se instala sólo en la zona no global.

En ambos casos, todo el contenido del paquete está visible en la zona en la que se ha instalado el paquete. 

true 

false 

false 

Un paquete con esta configuración sólo puede instalarse en la zona global. Al ejecutar el comando pkgadd, el paquete se instala en la zona global y en todas las zonas no globales. Todo el contenido del paquete está visible en todas las zonas.


Nota –

Cualquier intento de instalar el paquete en una zona no global fallará.


true 

true 

false 

Un paquete con esta configuración sólo puede instalarlo el administrador global en una zona global. Al ejecutar el comando pkgadd, el contenido del paquete se instala por completo en la zona global. Si se han establecido los parámetros del paquete en estos valores, el contenido del paquete no se enviará a ninguna zona no global. Sólo se instala en todas las zonas no globales la información de instalación del paquete necesaria para que parezca que se ha instalado el paquete. Esto permite la instalación de los demás paquetes que dependen de este paquete.

Parece que el paquete se ha instalado en todas las zonas con el fin de comprobar la dependencia de los paquetes. 

  • En la zona global, todo el contenido del paquete está visible.

  • En las zonas no globales raíz completas, no está visible todo el contenido completo del paquete.

  • Cuando una zona no global hereda un sistema de archivos de la zona global, el paquete instalado en este sistema de archivos estará visible en una zona no global. Todos los demás archivos proporcionados por el paquete no estarán visibles en la zona no global.

    Por ejemplo, una zona no global raíz dispersa comparte determinados directorios con la zona global. Estos directorios son de sólo lectura. Las zonas no globales raíz dispersas comparten el sistema de archivos /platform con otras zonas. Otro ejemplo serían los paquetes que envían los archivos pertinentes sólo al hardware de inicio.


Nota –

Cualquier intento de instalar el paquete en una zona no global fallará.


Parámetro de paquete SUNW_PKG_ALLZONES

El parámetro de paquete SUNW_PKG_ALLZONES describe el ámbito de zona de un paquete. Este parámetro define lo siguiente:

El parámetro de paquete SUNW_PKG_ALLZONES puede adoptar dos valores: true y false. El valor predeterminado es false. Si este parámetro no se configura o se configura con un valor que no sea true o false, se utilizará el valor false.

El parámetro SUNW_PKG_ALLZONES debe configurarse como true para los paquetes que deben tener la misma versión de paquete y el mismo nivel de revisión de parche en todas las zonas. Cualquier paquete cuyas funciones dependan de un núcleo de Solaris concreto, por ejemplo, Solaris 10, debe tener este parámetro configurado como true. Cualquier parche de un paquete debe tener configurado el parámetro SUNW_PKG_ALLZONES con el mismo valor que el establecido en el paquete instalado al que se aplica el parche. El nivel de revisión del parche de cualquier paquete que configure este parámetro como true debe ser el mismo para todas las zonas.

Los paquetes que ofrecen funciones que no dependen de un núcleo de Solaris concreto, como paquetes de terceros o compiladores de Sun, deben tener este parámetro configurado como false. Cualquier parche de un paquete que defina este parámetro como false también debe configurar este parámetro como false. Tanto la versión del paquete como el nivel de revisión del parche de cualquier paquete que configure este parámetro como false pueden ser diferentes entre las zonas. Por ejemplo, dos zonas no globales podrían tener cada una una versión distinta de un servidor Web instalado.

Los valores del parámetro de paquete SUNW_PKG_ALLZONES se describen en la siguiente tabla.

Tabla 25–2 Valores del parámetro de paquete SUNW_PKG_ALLZONES

Valor 

Descripción 

false

Este paquete puede instalarse desde la zona global sólo en la zona global, o en la zona global y en todas las zonas no globales. El paquete también puede instalarse desde cualquier zona no global en la misma zona no global. 

  • El administrador global puede instalar el paquete sólo en la zona global.

  • El administrador global puede instalar el paquete en la zona global y en todas las zonas no globales.

  • El administrador de zona puede instalar el paquete en una zona no global.

Si se elimina de la zona global, el paquete no se elimina de otras zonas. El paquete puede eliminarse de zonas no globales individuales. 

  • No es necesario que el paquete se instale en la zona global.

  • No es necesario que el paquete se instale en ninguna zona no global.

  • No es necesario que el paquete sea idéntico en todas las zonas. Puede haber diferentes versiones del paquete en las zonas individuales.

  • El paquete ofrece software que no se comparte de forma implícita en todas las zonas. Esto significa que el paquete no funciona de forma específica para el sistema. La mayoría del software de nivel de aplicación se encuentra en esta categoría. Algunos ejemplos incluyen el producto StarOffice o un servidor Web.

true

Si se instala en la zona global, este paquete también debe instalarse en todas las zonas no globales. Si se elimina de la zona global, el paquete también debe eliminarse de todas las zonas no globales. 

  • Si se instala el paquete, debe instalarse en la zona global. El paquete se instala automáticamente en todas las zonas no globales.

  • La versión del paquete debe ser idéntica en todas las zonas.

  • El paquete ofrece software que se comparte de forma implícita en todas las zonas. El paquete depende de las versiones del software que se comparten de forma implícita en todas las zonas. El paquete debe estar visible en todas las zonas no globales. Un ejemplo son los módulos de núcleo.

    Estos paquetes permiten a la zona no global resolver las dependencias de los paquetes que están instalados en la zona global al requerir que todo el paquete se instale en todas las zonas no globales.

  • Sólo el administrador global puede instalar el paquete. Un administrador de zona no puede instalar el paquete en una zona no global.

Parámetro de paquetes SUNW_PKG_HOLLOW

El parámetro de paquete SUNW_PKG_HOLLOW define si un paquete debe estar visible en una zona no global si se requiere que dicho paquete esté instalado y sea idéntico en todas las zonas.

El parámetro de paquete SUNW_PKG_HOLLOW tiene dos posibles valores: true o false.

Los valores del parámetro de paquete SUNW_PKG_HOLLOW se describen en la siguiente tabla.

Tabla 25–3 Valores del parámetro de paquete SUNW_PKG_HOLLOW

Valor 

Descripción 

false

No es un paquete vacío ("hollow"): 

  • Si se instala en la zona global, se requiere la información de instalación y contenido del paquete en todas las zonas no globales.

  • El paquete ofrece software que debería estar visible en todas las zonas no globales. Un ejemplo es el paquete que ofrece el comando truss.

  • No se definen restricciones adicionales, aparte de las restricciones de la configuración actual del parámetro de paquete SUNW_PKG_ALLZONES.

true

Es un paquete vacío ("hollow"): 

  • El contenido del paquete no se ofrece en ninguna zona no global. Sin embargo, la información de instalación del paquete se requiere en todas las zonas no globales.

  • El paquete ofrece software que no debería estar visible en todas las zonas no globales. Algunos ejemplos incluyen controladores de núcleo y archivos de configuración del sistema que sólo funcionan en la zona global. Este parámetro permite a la zona no global resolver las dependencias de los paquetes que están instalados únicamente en la zona global sin realmente instalar los datos del paquete.

  • El paquete se reconoce como instalado en todas las zonas para fines de comprobación de dependencias por parte de otros paquetes que dependen en la instalación de este paquete.

  • La configuración de este paquete incluye todas las restricciones definidas para la configuración de SUNW_PKG_ALLZONES como true.

  • En la zona global, el paquete se reconoce como instalado, y todos los componentes del paquete están instalados. Se crean los directorios, se instalan los archivos y la acción de clase y otras secuencias se ejecutan según se precise cuando se instala el paquete.

  • En una zona no global, el paquete se reconoce como instalado, pero no hay ningún componente del paquete instalado. No se crea ningún directorio, no se instala ningún archivo y no se ejecuta ninguna acción de clase u otras secuencias de instalación cuando se instala el paquete.

  • Cuando el paquete se elimina de la zona global, el sistema reconoce que el paquete se ha instalado por completo. Se eliminan los directorios y archivos pertinentes, y se ejecuta la acción de clase u otras secuencias de instalación cuando se elimina el paquete.

Parámetro de paquete SUNW_PKG_THISZONE

El parámetro de paquete SUNW_PKG_THISZONE define si un paquete debe instalarse sólo en la zona actual, ya sea global o no. El parámetro de paquete SUNW_PKG_THISZONE puede adoptar dos valores: true y false. El valor predeterminado es false.

Los valores de parámetro de paquete SUNW_PKG_THISZONE se describen en la siguiente tabla.

Tabla 25–4 Valores del parámetro de paquete SUNW_PKG_THISZONE

Valor 

Descripción 

false

  • Si pkgadd se ejecuta en una zona no global, el paquete se instala sólo en la zona actual.

  • Si pkgadd se ejecuta en la zona global, el paquete se instala en la zona global y también en todas las zonas no globales instaladas. Asimismo, el paquete se propagará a todas las zonas no globales que se instalen en el futuro.

true

  • El paquete se instala sólo en la zona actual.

  • Si se instala en la zona global, el paquete no se añade a ninguna zona no global existente o que todavía no se haya creado. Esto mismo sucede cuando se especifica la opción -G para pkgadd.

Consulta de información de paquetes

La utilidad pkginfo que se describe en la página del comando man pkginfo(1) permite consultar la base de datos de paquetes de software en un sistema Solaris con zonas instaladas. Para obtener más información sobre la base de datos, consulte Base de datos de productos.

La utilidad pkginfo puede utilizarse en la zona global para consultar la base de datos del paquete de software sólo en la zona global. La utilidad pkginfo puede utilizarse en una zona no global para consultar la base de datos del paquete de software sólo en la zona no global.

Cómo añadir parches en zonas

En general, un parche incluye los siguientes componentes:

Cuando se utiliza el comando patchadd para aplicar un parche, la información del parche se utiliza para determinar si el parche se puede aplicar al sistema en ejecución. Si se determina que no es aplicable, el parche no se aplica. También se comprueban las dependencias del parche con respecto a todas las zonas del sistema. Si no se cumplen las dependencias necesarias, el parche no se aplica. Por ejemplo, en el caso de que ya haya instalada una versión posterior del parche.

Se comprueba cada paquete que contiene el parche. Si el paquete no está instalado en ninguna zona, se omite y no se le aplica el parche.

Si se cumplen todas las dependencias, se utilizan todos los paquetes del parche que se instalan en una zona para aplicar el parche al sistema. También se actualizan las bases de datos de paquetes y parches.


Nota –

Solaris 10 3/05 a través de Solaris 10 11/06: si un paquete se instala con la opción pkgadd -G o tiene el parámetro pkginfo SUNW_PKG_THISZONE=true, sólo se puede aplicar el parche al paquete con patchadd - G. En la versión 8/07 de Solaris esta restricción se ha eliminado.


Solaris 10 8/07: parches de activación diferida

A partir de los parches 119254-41 y 119255-41, las utilidades de instalación de parches patchadd y patchrm se han modificado para cambiar el modo en que se administran determinados parches que ofrecen funciones. Esta modificación afecta a la instalación de estos parches en cualquier versión 10 de Solaris. Estos parches de activación diferida administran mejor el ámbito de gran tamaño de los cambios en los parches de funciones, como los parches del núcleo asociados con las versiones Solaris 10 posteriores a la versión Solaris 10 3/05.

Los parches de activación diferida utilizan el sistema de archivos en bucle (lofs) para garantizar la estabilidad del sistema en ejecución. Cuando se aplica un parche al sistema en ejecución, el sistema lofs conserva la estabilidad durante el proceso de aplicación del parche. Estos grandes parches de núcleo siempre han requerido un reinicio, pero ahora el reinicio necesario activa los cambios realizados por el sistema lofs. El parche README proporciona instrucciones sobre qué parches requieren un reinicio.

Si ejecuta zonas no globales o tiene el sistema lofs desactivado, tenga en cuenta lo siguiente cuando instale o elimine los parches de activación diferida:


Nota –

El uso del programa Actualización automática de Solaris para administrar los parches puede evitar los problemas derivados de la aplicación de parches en un sistema en ejecución. La función Actualización automática de Solaris puede reducir el tiempo de inactividad inherente a la aplicación de parches, así como limitar los riesgos, al proporcionar la función de recuperación en caso de suceder un problema. Puede aplicar un parche a un entorno de inicio inactivo mientras el sistema está todavía en producción, e iniciar de nuevo al entorno de inicio original (BE) si se descubren problemas en el nuevo entorno de inicio. Consulte Actualización de un sistema con paquetes y revisiones de Guía de instalación de Oracle Solaris 10 9/10: Actualización automática de Solaris y planificación de la actualización.


Solaris 10 10/09: aplicación de parches a zonas en paralelo para reducir su tiempo de aplicación

La aplicación de parches en paralelo a zonas es una mejora a las utilidades de parches de Solaris 10 estándar, que comprenden el método admitido para aplicar parches a zonas no globales en el sistema Solaris 10. Esta función mejora el rendimiento de la aplicación de parches a zonas mediante la aplicación de parches a zonas no globales en paralelo.

Para las versiones anteriores a Solaris 10 10/09, esta función se entrega en el parche de utilidades para parches, 119254-66 o revisión posterior (SPARC) y 119255-66 o revisión posterior (x86).

El número máximo de zonas no globales a las que aplicar parches se establece se establece en un nuevo archivo de configuración para patchadd, /etc/patch/dop.conf. La revisión 66 o superior de este parche funciona para todos los sistemas Solaris 10 y un mayor nivel de herramientas de automatización de parches como Sun xVM Ops Center.

Los parches todavía se aplican, en primer lugar, a la zona global. Cuando se ha terminado de aplicar parches a la zona global, se aplican parches de forma conjunta a las zonas no globales establecidas en num_proc=. El número máximo es 1,5 veces el número de CPU en línea, hasta el número real de zonas no globales en el sistema.

Un ejemplo es:

Si hay más zonas no globales en el sistema, se aplicarán parches en paralelo a las 6 primeras; a continuación, se aplicarán parches al resto de zonas no globales cuando los procesos terminen de aplicar parches al primer grupo.

El uso de Actualización automática de Solaris, así como el parche nuevo para administrar la aplicación de parches proporciona la función de recuperación en caso de que suceda un problema. Puede aplicar un parche a un entorno de inicio inactivo mientras el sistema está todavía en producción, e iniciar de nuevo al entorno de inicio original (BE) si se descubren problemas en el nuevo entorno de inicio.

Consulte también Solaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo.


Nota –

Para actualizar rápidamente todos los paquetes de la zona, de tal manera que estos paquetes coincidan con lo se vería con una zona no global recién instalada en el host, las zonas se pueden separar mientras se aplican parches a la zona global y, a continuación, se pueden volver a conectar con la opción -U para que coincidan con el nivel de la zona global. Consulte Uso de la actualización tras conexión como solución para aplicar parches para obtener más información.


Cómo aplicar parches en un sistema Solaris con zonas instaladas

Todos los parches aplicados en el nivel de la zona global se aplican en todas las zonas. Cuando se instala una zona no global, se encuentra en el mismo nivel de parche que la zona global. Cuando se aplica un parche a la zona global, se aplica un parche de modo similar a todas las zonas no globales. Esta acción mantiene el mismo nivel de parche en todas las zonas.

La utilidad del sistema patchadd que se describe en la página del comando man patchadd(1M) se utiliza para añadir parches en un sistema con zonas instaladas.

Uso de patchadd en la zona global

Para añadir un parche en la zona global y todas las zonas no globales, ejecute patchadd como administrador global en la zona global.

Cuando se utiliza patchadd en la zona global, se aplican las siguientes condiciones:

Al añadir un parche a la zona global y todas las zonas no globales, no es necesario que tenga en cuenta si el parche afecta a áreas compartidas desde la zona global.

La utilidad patchadd lleva a cabo los pasos siguientes:

Uso de patchadd en una zona no global

Cuando el administrador de zona utiliza patchadd en una zona no global, sólo lo puede utilizar para añadir parches en dicha zona. Es posible añadir un parche en una zona no global en los siguientes casos:

La utilidad patchadd lleva a cabo los pasos siguientes:

Interacción de patchadd -G y la variable pkginfo en un sistema con zonas

En la lista siguiente se especifica la interacción entre la opción -G y la variable SUNW_PKG_ALLZONES cuando se añade un parche en las zonas globales y no globales.

Zona global, opción -G especificada

Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, se producirá un error y no podrá llevarse a cabo ninguna acción.

Si ningún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica sólo a los paquetes de la zona global.

Zona global, opción -G no especificada

Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica a los paquetes de todas las zonas.

Si algún paquete no tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica a los paquetes de todas las zonas pertinentes. Los paquetes que son sólo de la zona global se instalan únicamente en la zona global.

Zona no global, opción -G especificada o no

Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, se producirá un error y no podrá llevarse a cabo ninguna acción.

Si ningún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica sólo a los paquetes de la zona no global.

Cómo eliminar parches de un sistema Solaris con zonas instaladas

La utilidad del sistema patchrm que se describe en la página del comando man patchrm(1M) se utiliza para eliminar parches de un sistema con zonas instaladas.

Uso de patchrm en la zona global

Como administrador global, puede utilizar la utilidad patchrm de la zona global para eliminar los parches. La utilidad patchrm no puede eliminar parches sólo de la zona global ni de un subconjunto de las zonas no globales.

Uso de patchrm en una zona no global

Como administrador de zona, puede utilizar la utilidad patchrm en una zona no global para eliminar parches sólo de dicha zona no global. Los parches no pueden afectar a las áreas compartidas.

Base de datos de productos

La base de datos de registro de productos, paquetes y parches de cada zona describe todo el software instalado disponible en la zona. Todas las comprobaciones de dependencias para la instalación de software o parches adicionales se llevan a cabo accediendo a la base de datos de cualquier otra zona, a menos que se instale o elimine un paquete o un parche en la zona global y en una o más zonas no globales. En ese caso, debe accederse a las bases de datos de la zona no global pertinente.

Para obtener información sobre la base de datos, consulte la página del comando man pkgadm(1M).

Capítulo 26 Cómo añadir y eliminar paquetes y parches en un sistema Solaris con zonas instaladas (tareas)

Solaris 10 1/06: Este capítulo se ha revisado por completo en esta versión. En él se describen los procedimientos actuales para los paquetes y parches en un sistema con zonas no globales instaladas.

Solaris 10 6/06: Se ha añadido una nota al procedimiento Cómo añadir un paquete sólo en la zona global.

Solaris 10 8/07: Se ha eliminado una nota de la tarea Cómo aplicar un parche sólo en la zona global.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

En este capítulo se describe cómo añadir y eliminar paquetes y parches en un sistema con zonas instaladas. Asimismo, se incluyen otras tareas asociadas con la administración de paquetes y parches, como la comprobación de la configuración de los parámetros de paquetes y la obtención de información de paquetes. Para ver una descripción general de los conceptos de paquetes y parches en un sistema con zonas instaladas, consulte el Capítulo 25Paquetes y parches en un sistema Solaris con zonas instaladas (descripción general).

Cómo añadir y eliminar paquetes y parches en un sistema Solaris con zonas instaladas (mapa de tareas)

Tarea 

Descripción 

Para obtener instrucciones 

Añadir un paquete. 

Añada un paquete en un sistema con zonas instaladas. 

Cómo añadir un paquete en un sistema Solaris con zonas instaladas

Comprobar información del paquete. 

Compruebe la información del paquete en un sistema con zonas instaladas. 

Comprobación de la información de paquete en un sistema Solaris con zonas instaladas

Eliminar un paquete. 

Elimine un paquete de un sistema con zonas instaladas. 

Cómo eliminar un paquete de un sistema Solaris con zonas instaladas

Aplicar un parche. 

Aplique un parche en un sistema con zonas instaladas. 

Cómo aplicar un parche a un sistema Solaris con zonas instaladas

Eliminar un parche. 

Elimine un parche de un sistema con zonas instaladas. 

Eliminación de un parche en un sistema con zonas instaladas

(Opcional) Comprobar la configuración de los parámetros de paquetes. 

Cuando añada o elimine paquetes, compruebe que la configuración de los parámetros de paquetes sean compatibles con la acción que desea llevar a cabo. 

Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas

Cómo añadir un paquete en un sistema Solaris con zonas instaladas

La utilidad del sistema pkgadd que se describe en la página del comando man pkgadd(1M) permite realizar las tareas siguientes:

La configuración de los parámetros de paquetes SUNW_PKG_ALLZONES y SUNW_PKG_HOLLOW debe coincidir con el valor correcto, ya sea true o false, para poder añadir paquetes. De lo contrario, no se obtendrá el resultado deseado. Para obtener más información sobre el efecto de esta configuración de los parámetros de paquetes, consulte Paquetes y zonas. Para obtener más información sobre cómo comprobar esta configuración de los parámetros de paquetes, consulte Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas.

ProcedureCómo añadir un paquete sólo en la zona global

Para añadir un paquete sólo en la zona global, el parámetro de paquete SUNW_PKG_ALLZONES debe estar configurado como false.

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. En la zona global, ejecute el comando pkgadd -d seguido de la ubicación del paquete, la opción -G y luego de su nombre.

    • Si instala el paquete desde un CD-ROM, escriba:


      global# pkgadd -d /cdrom/cdrom0/directory -G package_name
      
    • Si instala el paquete desde un directorio en el que se ha copiado, escriba:


      global# pkgadd -d disk1/image -G package_name
      

      donde disk1 es la ubicación donde se ha copiado el paquete.


    Nota –

    Si la utilidad pkgadd se ejecuta sin la opción -G y SUNW_PKG_THISZONE=true, el paquete especificado se añade a la zona actual (global) de modo predeterminado.


ProcedureCómo añadir un paquete a la zona global y todas las zonas no globales

No utilice el comando pkgadd opción -G en este procedimiento.

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. En la zona global, ejecute el comando pkgadd -d seguido de la ubicación del paquete y de su nombre.

    • Si instala el paquete desde un CD-ROM, escriba:


      global# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • Si instala el paquete desde un directorio en el que se ha copiado, escriba:


      global# pkgadd -d disk1/image package_name
      

      donde disk1 es la ubicación donde se ha copiado el paquete.

ProcedureCómo añadir un paquete instalado en la zona global a todas las zonas no globales

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. En la zona global, utilice el comando pkgrm para eliminar el paquete.

  3. Añada el paquete sin utilizar la opción -G.

ProcedureCómo añadir un paquete sólo en una zona no global específica

Para añadir un paquete sólo en una zona no global específica, el parámetro de paquete SUNW_PKG_ALLZONES debe estar configurado como false. No utilice pkgadd con la opción - G para este procedimiento; de lo contrario, la operación fallará.

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

  1. Inicie sesión en la zona no global como administrador de zona.

  2. En la zona no global (en este procedimiento, my-zone), ejecute el comando pkgadd -d seguido de la ubicación del paquete y luego del nombre.

    • Si instala el paquete desde un CD-ROM, escriba:


      my-zone# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • Si instala el paquete desde un directorio en el que se ha copiado, escriba:


      my-zone# pkgadd -d disk1/image package_name
      

      donde disk1 es la ubicación donde se ha copiado el paquete.

Comprobación de la información de paquete en un sistema Solaris con zonas instaladas

Puede consultar en la base de datos del paquete de software la zona global y las zonas no globales utilizando el comando pkginfo. Consulte la página del comando man pkginfo(1) para obtener más información sobre este comando.

ProcedureComprobación de la información de paquete sólo en la zona global

  1. Para comprobar en la base de datos del paquete de software sólo la zona global, utilice el comando pkginfo seguido del nombre de paquete.


    global% pkginfo package_name
    

Ejemplo 26–1 Uso del comando pkginfo en la zona global


global% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

ProcedureComprobación de la información de paquete sólo en una zona no global específica

  1. Para comprobar en la base de datos del paquete de software una zona no global específica, inicie sesión en la zona no global y utilice el comando pkginfo seguido del nombre del paquete.


    my-zone% pkginfo package_name
    

Ejemplo 26–2 Uso del comando pkginfo en una zona no global


my-zone% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

Cómo eliminar un paquete de un sistema Solaris con zonas instaladas

La utilidad del sistema pkgrm que se describe en la página del comando man pkgrm(1M) permite realizar las tareas siguientes:

La configuración de los parámetros de paquetes SUNW_PKG_ALLZONES y SUNW_PKG_HOLLOW debe coincidir con el valor correcto, ya sea true o false, para poder eliminar paquetes. De lo contrario, no se obtendrá el resultado deseado. Para obtener más información sobre el efecto de esta configuración de los parámetros de paquetes, consulte Paquetes y zonas. Para obtener más información sobre cómo comprobar esta configuración de los parámetros de paquetes, consulte Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas.

ProcedureCómo eliminar un paquete de la zona global y todas las zonas no globales

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. En la zona global, ejecute el comando pkgrm seguido del nombre del paquete.


    global# pkgrm package_name
    

ProcedureCómo eliminar un paquete sólo de una zona no global específica

Para eliminar un paquete sólo de una zona no global específica, el parámetro de paquete SUNW_PKG_ALLZONES debe configurarse como false.

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

  1. Inicie sesión en la zona no global como administrador de zona.

  2. En la zona no global (en este procedimiento, my-zone), ejecute el comando pkgrm seguido del nombre de paquete.


    my-zone# pkgrm package_name
    

Cómo aplicar un parche a un sistema Solaris con zonas instaladas

La utilidad del sistema patchadd que se describe en la página del comando man patchadd(1M) permite realizar las tareas siguientes:

ProcedureCómo aplicar un parche sólo en la zona global


Nota –

Solaris 10 3/05 a través de Solaris 10 11/06: si está aplicando un parche a un paquete añadido mediante el comando pkgadd con la opción -G, el parche debe aplicarse al paquete utilizando el comando patchadd con la opción -G. En la versión 8/07 de Solaris esta restricción se ha eliminado.


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. Ejecute el comando patchadd con la opción -G, seguido del ID del parche.


    global# patchadd -G patch_id
    

ProcedureCómo aplicar un parche en la zona global y todas las zonas no globales

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

Consulte también Solaris 10 10/09: aplicación de parches a zonas en paralelo para reducir su tiempo de aplicación y Solaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo.

  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. Ejecute el comando patchadd seguido del ID de parche.


    global# patchadd patch_id
    

ProcedureCómo aplicar un parche sólo a una zona no global específica

Para aplicar un parche sólo a una zona no global específica, el parámetro de paquete SUNW_PKG_ALLZONES para todos los paquetes del conjunto de parches debe estar configurado como false.

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

  1. Inicie sesión en la zona no global como administrador de zona.

  2. En la zona no global (my-zone en este procedimiento), ejecute el comando patchadd seguido del ID de parche.


    my-zone# patchadd patch_id
    

ProcedureSolaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo

Establezca el número de zonas no globales a las que se aplicarán parches en paralelo en el archivo de configuración patchadd /etc/patch/dop.conf. Cuando haya terminado la aplicación de parches en la zona global, se aplicarán parches de forma conjunta a las zonas no globales configuradas en num_proc=.

Si está ejecutando una versión anterior a Solaris 10 10/09, descargue el parche 119254-66 o una revisión posterior (SPARC), o bien 119255-66 o una revisión posterior (x86).

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. (Opcional, sólo para las versiones anteriores a Solaris 10 10/09) Descargue el parche 119254-66 (SPARC) o 119255-66 (x86).

  3. En el archivo /etc/patch/pdo.conf, configure 6 zonas no globales a las que se vayan a aplicar parches de forma conjunta en paralelo en un sistema con 4 CPU en línea.


    num_proc=6

    Si hay más de 6 zonas no globales en el sistema, se aplicarán parches en paralelo a las 6 primeras; a continuación, se aplicarán parches al resto de zonas no globales cuando los procesos terminen de aplicar parches a las 6 primeras zonas no globales.

Eliminación de un parche en un sistema con zonas instaladas

La utilidad del sistema patchrm que se describe en la página del comando man patchrm(1M) permite realizar las tareas siguientes:

ProcedureCómo eliminar un parche de la zona global y todas las zonas no globales

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. Ejecute el comando patchrm seguido del ID de parche.


    global# patchrm patch_id
    

ProcedureCómo eliminar un parche sólo de una zona no global específica

Para eliminar un parche sólo de una zona no global específica, el parámetro de paquete SUNW_PKG_ALLZONES para todos los paquetes del conjunto de parches debe configurarse como false.

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

  1. Inicie sesión en la zona no global como administrador de zona.

  2. En la zona no global (en este procedimiento, my-zone), ejecute el comando patchrm seguido del ID de parche.


    my-zone# patchrm patch_id
    

Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas

Antes de añadir o eliminar un paquete de software, puede utilizar el comando pkgparam para comprobar la configuración de los parámetros del paquete. Este paso es opcional. Esta comprobación también puede efectuarse para averiguar por qué no se ha añadido o eliminado un paquete del modo esperado. Para obtener información sobre cómo mostrar los valores de parámetros de paquetes, consulte la página del comando man pkgparam(1).

Procedure(Opcional) Cómo comprobar la configuración de un paquete ya instalado en el sistema

  1. Para comprobar la configuración de los parámetros de un paquete que ya está instalado en una zona global o no global, utilice pkgparam seguido del nombre del paquete y el nombre del parámetro.


    my-zone% pkgparam package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam package_name SUNW_PKG_HOLLOW
    false

Procedure(Opcional) Cómo comprobar la configuración de un paquete de software en un CD-ROM

  1. Para comprobar la configuración de parámetros de un paquete desinstalado en el software en un CD-ROM, utilice pkgparam -d con la ruta del CD-ROM seguido del nombre del paquete y el nombre del parámetro.


    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_HOLLOW 
    false 

Capítulo 27 Administración de zonas de Solaris (descripción general)

Este capítulo abarca los siguientes temas generales sobre administración de zonas:

Para obtener información sobre las zonas con marca lx, consulte la Parte III, Zonas con marca Lx .

Novedades de este capítulo

Solaris 10 1/06: Se ha incorporado una nueva sección, Cómo desmontar sistemas de archivos de zonas.

Solaris 10 1/06: Se han añadido nuevas secciones sobre los procedimientos de copia de seguridad y restauración de zonas. Consulte Cómo realizar copias de seguridad de un sistema Solaris con zonas instaladas.

Solaris 10 6/06: Se ha añadido una entrada ZFS a la tabla de Cómo montar sistemas de archivos en zonas.

Solaris 10 8/07: En esta versión se ha añadido o actualizado la siguiente información.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

Visibilidad y acceso a la zona global

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. Esta doble función plantea algunas cuestiones administrativas. Dado que las aplicaciones de la zona tienen acceso a los procesos y otros objetos del sistema en otras zonas, el efecto de las acciones administrativas puede ser mayor del esperado. Por ejemplo, las secuencias de cierre de servicios suelen utilizar el comando pkill para indicar a los procesos de un nombre concreto que deben cerrarse. Cuando se ejecuta una secuencia de este tipo desde la zona global, se señalarán todos estos procesos en el sistema, independientemente de la zona.

Con frecuencia se necesita el ámbito de todo el sistema. Por ejemplo, para supervisar el uso de recursos en todo el sistema, debe ver las estadísticas de los procesos de todo el sistema. La visualización de sólo la actividad de la zona global pasaría por alto información relevante de otras zonas del sistema que podrían estar compartiendo algunos o todos los recursos del sistema. Dicha visualización resulta especialmente importante cuando los recursos del sistema como la CPU no se particionan estrictamente utilizando las funciones de administración de recursos.

De este modo, los procesos de la zona global pueden observar los procesos y otros objetos de las zonas no globales. Esto permite que dichos procesos puedan observarse en todo el sistema. La posibilidad de controlar o enviar señales a procesos en otras zonas está limitada por el privilegio PRIV_PROC_ZONE. El privilegio es similar a PRIV_PROC_OWNER porque permite a los procesos modificar las restricciones que tienen los procesos sin privilegios. En este caso, la limitación es que los procesos sin privilegios en la zona global no pueden señalar ni controlar los procesos de otras zonas. Esto ocurre aunque coincidan los ID de usuario de los procesos o el proceso activo tenga el privilegio PRIV_PROC_OWNER. El privilegio PRIV_PROC_ZONE se puede eliminar de procesos que tengan otros privilegios para limitar las acciones a la zona global.

Para obtener información sobre la correspondencia de procesos mediante zoneidlist, consulte las páginas del comando man pgrep(1) y pkill(1).

Visibilidad de ID de proceso en zonas

Sólo los procesos de la misma zona estarán visibles a través de interfaces de llamadas del sistema que obtienen los ID de proceso, como los comandos kill y priocntl. Si desea más información, consulte las páginas del comando man kill(1) y priocntl(1).

Posibilidad de observación del sistema en las zonas

El comando ps se ha modificado del siguiente modo:

Si desea obtener más información, consulte la página de comando man ps(1).

Se ha añadido una opción -z nombre_zona a las siguiente utilidades de Solaris. Puede utilizar esta opción para filtrar la información de modo que incluya sólo la zona o las zonas especificadas.

Consulte la Tabla 27–5 para ver una lista completa de los cambios realizados en los comandos.

Nombre de nodo de zona no global

El administrador de zona puede configurar el nombre de nodo de /etc/nodename que devuelve uname - n. Debe ser un nombre exclusivo.

Sistemas de archivos y zonas no globales

En esta sección se proporciona información sobre las cuestiones relativas al sistema de archivos en un sistema Solaris con zonas instaladas. Cada zona tiene su propia sección de la jerarquía del sistema de archivos, en un directorio conocido como directorio root de la zona. Los procesos de la zona sólo pueden acceder a los archivos de la parte de la jerarquía que se encuentra en la raíz de la zona. La utilidad chroot se puede utilizar en una zona, pero únicamente para limitar el proceso a una ruta raíz dentro de la zona. Para más información sobre chroot, consulte chroot(1M).

La opción -o nosuid

La opción -o nosuid de la utilidad mount tiene la siguiente funcionalidad:

Esta opción específica del sistema de archivos está disponible para todos los sistemas de archivos de Solaris que se pueden montar con las utilidades mount, tal como se describe en la página del comando man mount(1M) En esta guía, estos sistemas de archivos se enumeran en Cómo montar sistemas de archivos en zonas. Asimismo, se describen las posibilidades de montaje. Para obtener más información sobre la opción -o nosuid, consulte el apartado sobre cómo acceder a los sistemas de archivos de red (referencia) de la System Administration Guide: Network Services .

Cómo montar sistemas de archivos en zonas

Cuando los sistemas de archivos se montan desde una zona, se aplica la opción nodevices. Por ejemplo, si la zona tiene acceso a un dispositivo de bloques (/dev/dsk/c0t0d0s7) y a un dispositivo básico (/dev/rdsk/c0t0d0s7) correspondiente a un sistema de archivos UFS, el sistema de archivos se monta automáticamente con nodevices cuando se monta desde una zona. Esta regla no se aplica a los montajes especificados a través de una configuración de zonecfg.

En la tabla siguiente se describen las opciones para montar sistemas de archivos en zonas no globales. Encontrará los procedimientos para estas alternativas de montaje en Configuración, verificación y confirmación de una zona y Cómo montar los sistemas de archivos en zonas no globales en ejecución.

Cualquier tipo de sistema de archivos que no se incluya en la tabla se puede especificar en la configuración si tiene un binario de montaje en /usr/lib/tipo_sistema_archivos/mount.

Sistema de archivos 

Opciones de montaje en una zona no global 

AutoFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

CacheFS 

No se puede utilizar en una zona no global. 

FDFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

HSFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

LOFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

MNTFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

NFS 

No se puede montar utilizando zonecfg. V2, V3 y V4, que son las versiones que se admiten actualmente en las zonas, se pueden montar desde la zona.

PCFS  

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

PROCFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

TMPFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

UDFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

UFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

XMEMFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

La compatibilidad con este sistema de archivos se eliminará del sistema Solaris en una futura versión. 

ZFS 

Se puede montar utilizando los tipos de recursos zonecfg dataset y fs.

Para más información, consulte Cómo configurar la zona, Cómo montar los sistemas de archivos en zonas no globales en ejecución y la página del comando man mount(1M).

Cómo desmontar sistemas de archivos de zonas

La posibilidad de desmontar un sistema de archivos depende de quién haya realizado el montaje inicial. Si se especifica un sistema de archivos como parte de la configuración de la zona utilizando el comando zonecfg, la zona global es propietaria de este montaje y el administrador de zona de la zona no global no puede desmontar el sistema de archivos. Si el sistema de archivos está montado desde la zona no global, por ejemplo, especificando el montaje en el archivo /etc/vfstab de la zona, el administrador de zona de la zona no global puede desmontar el sistema de archivos.

Limitaciones de seguridad y comportamiento del sistema de archivos

Existen limitaciones de seguridad para el montaje de determinados sistemas de archivos dentro de una zona. Otros sistemas de archivos muestran un comportamiento especial cuando se montan en una zona. A continuación se incluye la lista de los sistemas de archivos modificados.

AutoFS

Autofs es un servicio de cliente que monta automáticamente el sistema de archivos apropiado. Cuando un cliente intenta acceder a un sistema de archivos que no está montado, el sistema de archivos AutoFS intercepta la solicitud y llama a automountd para montar el directorio solicitado. Los montajes de AutoFS establecidos en una zona son locales para esa zona. No es posible acceder a los montajes desde otras zonas, incluida la zona global. Los montajes se eliminan cuando se detiene o reinicia la zona. Para más información sobre AutoFS, consulte How Autofs Works de System Administration Guide: Network Services.

Cada zona ejecuta su propia copia de automountd. El administrador de zona controla las asignaciones y los tiempos de espera automáticos. No puede activar un montaje en otra zona cruzando un punto de montaje AutoFS para una zona no global desde la zona global.

Algunos montajes AutoFS se crean en el núcleo cuando se activa otro montaje. Dichos montajes no se pueden eliminar utilizando la interfaz de umount habitual porque deben montarse o desmontarse como grupo. Esta función se proporciona para el cierre de zonas.

MNTFS

MNTFS es un sistema de archivos virtual que proporciona acceso de sólo lectura a la tabla de sistemas de archivos montados para el sistema lógico. El conjunto de sistemas de archivos visibles utilizando mnttab desde una zona no global es el conjunto de sistemas de archivos montados en la zona, más una entrada para el root (/) . Los puntos de montaje con un dispositivo especial al que no se puede acceder desde la zona, como /dev/rdsk/c0t0d0s0, tienen su dispositivo especial configurado como el punto de montaje. Todos los montajes del sistema están visibles desde la tabla /etc/mnttab de la zona global. Para más información sobre MNTFS, consulte el Capítulo 18, Mounting and Unmounting File Systems (Tasks) de System Administration Guide: Devices and File Systems.

NFS

Los montajes de NFS establecidos en una zona son locales para esa zona. No es posible acceder a los montajes desde otras zonas, incluida la zona global. Los montajes se eliminan cuando se detiene o reinicia la zona.

Tal como se explica en la página del comando man mount_nfs(1M), un servidor NFS no debe intentar montar sus propios sistemas de archivos. Por tanto, una zona no debe montar con NFS un sistema de archivos exportado por la zona global. Las zonas no pueden ser servidores NFS. Dentro de una zona, los montajes NFS se comportan como si estuvieran montados con la opción nodevices.

El resultado del comando nfsstat sólo hace referencia a la zona en la que se ejecuta el comando. Por ejemplo, si el comando se ejecuta en la zona global, sólo se registra la información de la zona global. Para obtener más información sobre el comando nfsstat, consulte nfsstat(1M).

El comando zlogin fallará si alguno de sus archivos abiertos o cualquier parte de su espacio de dirección reside en NFS. Para más información, consulte Comando zlogin.

PROCFS

El sistema de archivos /proc, o PROCFS, proporciona visibilidad del proceso y limitaciones de acceso, así como información sobre la asociación de zonas de los procesos. Sólo los procesos de la misma zona están visibles a través de /proc.

Los procesos de la zona global pueden observar los procesos y otros objetos de las zonas no globales. Esto permite que dichos procesos puedan observarse en todo el sistema.

En la zona, los montajes de procfs se comportan como si estuvieran montados con la opción nodevices. Para más información sobre procfs, consulte la página del comando man proc(4).

LOFS

El ámbito de lo que se puede montar mediante LOFS está limitado a la parte del sistema de archivos que está visible para la zona. Por tanto, no hay limitaciones en los montajes de LOFS de una zona.

UFS, UDFS, PCFS y otros sistemas de archivos basados en almacenamiento

Cuando el administrador de zona utiliza el comando zonecfg para configurar los sistemas de archivos basados en almacenamiento que tienen un binario fsck, como UFS, debe especificar el parámetro raw. El parámetro indica el dispositivo básico (carácter), como /dev/rdsk/c0t0d0s7. zoneadmd ejecuta automáticamente el comando fsck en el modo de sólo comprobación no interactivo (fsck -m) en este dispositivo antes de montar el sistema de archivos. Si fsck falla, zoneadmd no puede colocar la zona en el estado de lista. La ruta especificada por raw no puede ser una ruta relativa.

Es erróneo especificar un dispositivo para fsck para un sistema de archivos que no proporciona un binario fsck en /usr/lib/ tipo_sistema_archivos/fsck. También es un error no especificar ningún dispositivo para fsck si existe un binario fsck para ese sistema de archivos.

Para obtener más información, consulte El daemon zoneadmd y fsck(1M)

ZFS

Puede añadir un conjunto de datos ZFS a una zona no global utilizando el comando zonecfg con el recurso add dataset. El conjunto de datos estará visible y se montará en la zona no global y dejará de estar visible en la zona global. El administrador de zona puede crear y destruir sistemas de archivos dentro de ese conjunto de datos, crear y destruir clones y modificar las propiedades del conjunto de datos.

El atributo zoned de zfs indica si se ha añadido un conjunto de datos a una zona no global.


# zfs get zoned tank/sales
NAME          PROPERTY    VALUE      SOURCE
tank/sales    zoned       on         local

Si desea compartir un conjunto de datos desde la zona global, puede añadir un sistema de archivos ZFS montado con LOFS utilizando el comando zonecfg con el subcomando add fs. El administrador global se encarga de configurar y controlar las propiedades del conjunto de datos.

Para más información sobre ZFS, consulte el Capítulo 10, Temas avanzados de Oracle Solaris ZFS de Guía de administración de Oracle Solaris ZFS.

Zonas no globales como clientes NFS

Las zonas pueden ser clientes NFS. Se admiten las versiones 2, 3 y 4 de los protocolos. Para obtener información sobre estas versiones de NFS, consulte Features of the NFS Service de System Administration Guide: Network Services

La versión predeterminada es NFS versión 4. Puede habilitar otras versiones de NFS en un cliente mediante uno de los métodos siguientes:

Prohibición del uso de mknod en una zona

No se puede utilizar el comando mknod descrito en la página del comando man mknod(1M) para crear un archivo especial en una zona no global.

Recorrido de sistemas de archivos

El espacio de nombre del sistema de archivos de una zona es un subconjunto del espacio de nombre al que se puede acceder desde la zona global. Para que los procesos que no tienen privilegios en la zona global no puedan recorrer la jerarquía del sistema de archivos de una zona no global:

Tenga en cuenta que cualquier intento de acceder a los nodos de AutoFS montados para otra zona será fallido. El administrador global no debe tener asignaciones automáticas que desciendan a otras zonas.

Limitación del acceso a una zona no global desde la zona global

Una vez instalada una zona no global, no se podrá acceder directamente a la zona desde la zona global mediante ningún comando que no sea de las utilidades de copia de seguridad del sistema. Además, una zona no global ya no puede considerarse segura una vez se ha expuesto a un entorno desconocido. Un ejemplo sería una zona colocada en una red de acceso público, en la que sería posible poner en peligro la zona y modificar el contenido de sus sistemas de archivos. Si existe la posibilidad de que se haya puesto en peligro, el administrador debe tratar la zona como zona que no es de confianza.

No se debe utilizar ningún comando que acepte una raíz alternativa utilizando las opciones -R o -b (o equivalentes) cuando se den las siguientes condiciones:

Un ejemplo es la opción -R root_path de la utilidad pkgadd que se ejecuta desde la zona global con una ruta raíz de zona no global.

La lista de los comandos, programas y utilidades que hacen uso de -R con una ruta raíz alternativa incluye:

La lista de los comandos y programas que utilizan -b con una ruta raíz alternativa incluye:

Redes en zonas no globales de IP compartida

En un sistema Solaris con zonas instaladas, las zonas se pueden comunicar entre sí por la red. Todas las zonas tienen vínculos separados, o conexiones, y pueden ejecutar sus propios daemon de servidor. Estos daemons pueden escuchar a los mismos números de puerto sin que se produzca ningún conflicto. La pila IP resuelve los conflictos considerando las direcciones IP para las conexiones entrantes. Las direcciones IP identifican la zona.

Particiones de zonas de IP compartida

La pila IP de un sistema que admite zonas implementa la separación del tráfico de red entre zonas. Las aplicaciones que reciben tráfico IP sólo pueden recibir el tráfico que se envía a la misma zona.

Cada interfaz lógica del sistema pertenece a una zona específica, que es la zona global de modo predeterminado. Las interfaces de red lógicas asignadas a las zonas mediante la utilidad zonecfg se utilizan para las comunicaciones por la red. Cada flujo y conexión pertenece a la zona del proceso con el que se ha abierto.

Los vínculos entre los flujos de capa superior y las interfaces lógicas están limitados. Un flujo sólo puede establecer vínculos con las interfaces lógicas de la misma zona. Del mismo modo, los paquetes de una interfaz lógica sólo se pueden pasar a flujos de capa superior que se encuentren en la misma zona que la interfaz lógica.

Cada zona tiene su propio conjunto de vínculos. Cada zona puede ejecutar la misma aplicación que escucha el mismo número de puerto sin que los vínculos fallen porque la dirección ya está en uso. Cada zona puede ejecutar su propia versión de los siguientes servicios:

Las zonas que no sean la zona global tienen acceso limitado a la red. Están disponibles las interfaces de socket TCP y UDP estándar, pero las interfaces de socket SOCK_RAW están limitadas al Protocolo de mensajes de control de Internet (ICMP). Se necesita el protocolo ICMP para detectar y registrar las condiciones de error de la red o utilizar el comando ping.

Interfaces de red de IP compartida

Cada zona no global que requiere conectividad de red tiene una o más direcciones IP dedicadas. Estas direcciones están asociadas con interfaces de red lógicas que se pueden colocar en una zona utilizando el comando ifconfig. Las interfaces de red de la zona que configure el comando zonecfg se configurarán y colocarán automáticamente en la zona cuando se inicie. El comando ifconfig se puede utilizar para añadir o eliminar interfaces lógicas cuando la zona está en ejecución. Sólo el administrador global puede modificar la configuración de la interfaz y las rutas de red.

En una zona no global, sólo las interfaces de la zona estarán visibles para ifconfig.

Si desea más información, consulte las páginas del comando man ifconfig(1M) y if_tcp(7P).

Tráfico IP entre zonas de IP compartida en el mismo equipo

Sólo se admite la entrega de paquetes entre dos zonas del mismo equipo si hay una "ruta coincidente" para el destino y la zona en la tabla que realiza el envío.

La información de coincidencia se implementa del modo siguiente:

Filtro IP de Solaris en zonas de IP compartida

El filtro IP de Solaris proporciona un filtrado de paquetes con estado y traducción de direcciones de red (NAT). Un filtro de paquetes con estado puede supervisar el estado de las conexiones activas y utilizar la información obtenida para determinar qué paquetes de red se permiten a través del cortafuegos. El filtro IP de Solaris también incluye filtrado de paquetes sin estado y la posibilidad de crear y administrar agrupaciones de direcciones. Consulte el Capítulo 25, Filtro IP de Oracle Solaris (descripción general) de Guía de administración del sistema: servicios IP para obtener información adicional.

El filtro IP de Solaris se puede activar en las zonas no globales activando el filtrado en bucle tal como se describe en el Capítulo 26, Filtro IP de Oracle Solaris (tareas) de Guía de administración del sistema: servicios IP.

El filtro IP de Solaris se deriva de software de filtro IP de código abierto.

Múltiples rutas de redes IP en zonas de IP compartida

Las múltiples rutas de redes IP (IPMP) detectan los fallos en la interfaz física y conmutan por error el acceso a la red de forma transparente para un sistema con varias interfaces en el mismo vínculo IP. IPMP también permite repartir la carga de los paquetes para los sistemas con varias interfaces.

Toda la configuración de la red se lleva a cabo en la zona global. Puede configurar IPMP en la zona global, y luego ampliar la funcionalidad a las zonas no globales. La funcionalidad se amplía colocando la dirección de la zona en un grupo IPMP cuando configura la zona. A continuación, si falla una de las interfaces de la zona global, las direcciones de la zona no global se migrarán a otra tarjeta de interfaz de red. Una zona de IP compartida puede tener varias direcciones IP, puede formar parte de varios grupos IPMP, y varias zonas de IP compartida pueden utilizar un determinado grupo IPMP.

En una zona no global determinada, a través del comando ifconfig sólo se pueden ver las interfaces asociadas con la zona.

Consulte Cómo ampliar la funcionalidad de múltiples rutas de redes IP a las zonas no globales de IP compartida. El procedimiento de configuración de las zonas se describe en Cómo configurar la zona. Para obtener información sobre los componentes, el uso y las funciones de IPMP, consulte el Capítulo 30, Introducción a IPMP (descripción general) de Guía de administración del sistema: servicios IP.

Solaris 10 8/07: redes en zonas no globales de IP exclusiva

Una zona de IP exclusiva tiene sus propias variables de configuración y su estado relativos a la IP. La zona tiene asignado su propio conjunto de vínculos de datos cuando se configura.

Para obtener información sobre las funciones que se pueden utilizar en una zona no global de IP exclusiva, consulte Solaris 10 8/07: zonas no globales de IP exclusiva. Si desea información sobre la configuración de las variables IP ndd, consulte Oracle Solaris Tunable Parameters Reference Manual .

Particiones de zonas de IP exclusiva

Las zonas de IP exclusiva tienen pilas TCP/IP separadas, de modo que la separación alcanza a la capa del vínculo de datos. El administrador global asigna uno o más nombres de vínculos de datos, que pueden ser NIC o una VLAN en NIC, a una zona de IP exclusiva. El administrador de zona puede configurar la IP en dichos vínculos de datos con las mismas opciones y flexibilidad que en la zona global.

Interfaces de vínculos de datos de IP exclusiva

Debe asignarse un nombre de vínculo de datos a una única zona de forma exclusiva.

El comando dladm show-link puede utilizarse para visualizar los vínculos de datos asignados a las zonas en ejecución.

Para mas información, consulte dladm(1M)

Tráfico IP entre zonas de IP exclusiva en el mismo equipo

No hay bucles internos de paquetes IP entre las zonas de IP exclusiva. Todos los paquetes se envían al vínculo de datos. Normalmente, esto significa que los paquetes se envían en una interfaz de red. A continuación, los dispositivos como los conmutadores Ethernet o enrutadores IP pueden enviar paquetes a su destino, que podría ser una zona diferente del mismo equipo que el remitente.

Filtro IP de Solaris en zonas de IP exclusiva

La funcionalidad del filtro IP es la misma que en la zona global de una zona de IP exclusiva. El filtro IP también se configura del mismo modo en las zonas de IP exclusiva y en la zona global.

Múltiples rutas de redes IP en zonas de IP exclusiva

Las múltiples rutas de redes IP (IPMP) detectan los fallos en la interfaz física y conmutan por error el acceso a la red de forma transparente para un sistema con varias interfaces en el mismo vínculo IP. Además de la tolerancia a fallos, IPMP también proporciona propagación de carga de paquetes para los sistemas con varias interfaces.

La configuración de vínculos de datos se lleva a cabo en la zona global. En primer lugar, se asignan varias interfaces de vínculos de datos a una zona utilizando zonecfg. Las diferentes interfaces de vínculos de datos deben conectarse a la misma subred IP. A continuación, el administrador de zona puede configurar IPMP desde una zona de IP exclusiva. Es posible asignar varios grupos IPMP a una determinada zona de IP exclusiva, pero estos grupos IPMP no se pueden compartir con otras zonas.

Uso de dispositivos en zonas no globales

El conjunto de dispositivos disponible en la zona está limitado para evitar que un proceso de una zona interfiera con la ejecución de procesos en otras zonas. Por ejemplo, un proceso de una zona no puede modificar la memoria del núcleo o el contenido del disco raíz. Por tanto, sólo hay disponibles algunos pseudodispositivos que se consideran seguros para utilizar en una zona de modo predeterminado. Pueden ponerse a disposición dispositivos adicionales en zonas específicas utilizando el comando zonecfg.

/dev y el espacio de nombres /devices

El sistema Solaris utiliza el sistema de archivos devfs que se describe en la página del comando man devfs(7FS) para administrar /devices. Cada elemento de este espacio de nombres representa la ruta física a un dispositivo de hardware, pseudodispositivo o dispositivo de nexo. El espacio de nombres es un reflejo del árbol de dispositivos. Como tal, el sistema de archivos se completa mediante una jerarquía de directorios y archivos de dispositivos especiales.

La jerarquía de archivos /dev, que actualmente forma parte del sistema de archivos / (raíz), se compone de vínculos simbólicos, o rutas lógicas, a las rutas físicas que hay en /devices. Las aplicaciones hacen referencia a la ruta lógica de un dispositivo presentado en /dev. El sistema de archivos /dev se monta en bucle en la zona utilizando un montaje de sólo lectura.

La jerarquía de archivos /dev se administra mediante un sistema que se compone de:


Precaución – Precaución –

Los subsistemas que dependen de nombres de ruta /devices no pueden ejecutarse en zonas no globales hasta que se establezcan los nombres de ruta /dev.


Dispositivos de uso exclusivo

Quizá tenga dispositivos que desee asignar a zonas específicas. Si se permite a los usuarios sin privilegios acceder a los dispositivos de bloques, éstos se podrían utilizar para crear una situación crítica del sistema, reiniciar el bus u otras acciones malintencionadas. Antes de realizar tales asignaciones, tenga en cuenta lo siguiente:

Administración de controladores de dispositivos

En una zona no global, puede utilizar el comando modinfo que se describe en la página del comando man modinfo(1M) para examinar la lista de módulos de núcleo cargados.

La mayoría de las operaciones relativas a la administración del núcleo, los dispositivos y las plataformas no funcionan dentro de una zona no global porque la modificación de las configuraciones del hardware de la plataforma va en contra del modelo de seguridad de la zona. Estas operaciones incluyen:

Utilidades que no funcionan o se han modificado en las zonas no globales

Utilidades que no funcionan en zonas no globales

Las utilidades siguientes no funcionan en una zona porque dependen de dispositivos que normalmente no están disponibles:

SPARC: utilidad modificada para utilizar en una zona no global

La utilidad eeprom permite ver la configuración en una zona. No obstante, no puede utilizarse para cambiar la configuración. Si desea más información, consulte las páginas del comando man eeprom(1M) y openprom(7D).

Ejecución de aplicaciones en zonas no globales

En general, todas las aplicaciones pueden ejecutarse en una zona no global. Sin embargo, es posible que los siguientes tipos de aplicaciones no sean adecuados para este entorno:

Controles de recursos utilizados en zonas no globales

Para obtener información adicional sobre el uso de una función de administración de recursos en una zona, consulte también el capítulo en el que se describe la función en la parte 1 de esta guía.

Todos los atributos y controles de recursos que se describen los capítulos relativos a la administración de recursos se pueden configurar en el servicio de directorios LDAP, la asignación NIS y el archivo /etc/project de la global y la zona no global. Esta configuración para una zona concreta sólo afecta a dicha zona. Un proyecto que se ejecuta de forma autónoma en diferentes zonas puede tener los controles configurados de forma individual para cada zona. Por ejemplo, el proyecto A de la zona global se puede configurar como project.cpu-shares=10 mientras que el proyecto A de una zona no global se puede configurar como project.cpu-shares=5. Es posible ejecutar varias instancias de rcapd en el sistema; cada una de ellas funciona sólo en su zona.

Los atributos y controles de recursos que se utilizan en una zona para controlar los proyectos, tareas y procesos de esa zona están sujetos a los requisitos adicionales sobre las agrupaciones y los controles de recursos de la zona.

En todas las zonas no globales se aplica una regla de "una agrupación por zona". Varias zonas no globales pueden compartir los recursos de una agrupación. No obstante, los procesos de la zona global pueden estar vinculados por un proceso con suficientes privilegios a cualquier agrupación. El controlador de recursos poold sólo se ejecuta en la zona global, en la que hay más de una agrupación en la que puede funcionar. Si la utilidad poolstat se ejecuta en una zona no global muestra sólo información sobre la agrupación asociada con la zona. El comando pooladm ejecutado sin argumentos en una zona no global muestra sólo información sobre la agrupación asociada con la zona.

Los controles de recursos de la zona no surten efecto si se configuran en el archivo project. Los controles de recursos de la zona se configuran mediante la utilidad zonecfg.

Programador de reparto justo en un sistema Solaris con zonas instaladas

En esta sección se describe cómo utilizar el programador de reparto justo (FSS) con zonas.

División de recursos compartidos de FSS en una zona no global

Los recursos compartidos de la CPU de FSS de una zona son jerárquicos. El administrador global configura los recursos compartidos de la zona global y las zonas no globales mediante el control de recursos de la zona zone.cpu-shares. El control de recursos project.cpu-shares se puede definir para cada proyecto en la zona para subdividir aún más los recursos compartidos configurados con el control de la zona.

Para asignar recursos compartidos de la zona utilizando el comando zonecfg, consulte Cómo configurar zone.cpu-shares en la zona global. Para mas información sobre project.cpu-shares, consulte Controles de recursos disponibles. Consulte también Uso del programador de reparto justo en un sistema Solaris con zonas instaladas para ver algunos procedimientos de ejemplo que muestran cómo configurar temporalmente los recursos compartidos.

Equilibrio compartido entre zonas

Puede utilizar zone.cpu-shares para asignar recursos compartidos de FSS en la zona global y las zonas no globales. Si FSS es el programador predeterminado en el sistema y no hay recursos compartidos asignados, de modo predeterminado se asigna un recurso compartido a cada zona, incluida la zona global. Si tiene una zona no global en el sistema y le asigna dos recursos compartidos mediante zone.cpu-shares, se define la proporción de CPU que recibirá la zona no global en relación con la zona global. La proporción de la CPU entre dos zonas es de 2:1.

Contabilidad ampliada en un sistema Solaris con zonas instaladas

El subsistema de contabilidad ampliada recopila y registra la información para todo el sistema (incluidas las zonas no globales) cuando se ejecuta en la zona global. El administrador global también puede determinar el consumo de recursos por zonas.

El subsistema de contabilidad ampliada permite diferentes archivos y configuraciones de cuentas por zona para las cuentas basadas en procesos y tareas. Los registros de exacct se pueden etiquetar con el nombre de zona EXD PROC ZONENAME para los procesos y el nombre de zona EXD TASK ZONENAME para las tareas. Los registros de cuentas se realizan en los archivos de cuentas de la zona global, así como en los archivos de cuentas de cada zona. Los registros de EXD TASK HOSTNAME, EXD PROC HOSTNAME y EXD HOSTNAME contienen el valor uname -n para la zona en la que se ha ejecutado el proceso o la tarea, en lugar del nombre de nodo de la zona global.

Para obtener información sobre las cuentas de flujo IPQoS, consulte el Capítulo 36, Uso de control de flujo y recopilación de estadísticas (Tareas) de Guía de administración del sistema: servicios IP.

Privilegios en una zona no global

Los procesos se limitan a un subconjunto de privilegios. La limitación de privilegios impide que una zona lleve a cabo operaciones que podrían afectar a otras zonas. El conjunto de privilegios limita las funciones de los usuarios con privilegios en la zona. La utilidad ppriv permite ver la lista de los privilegios disponibles en una zona.

La tabla siguiente enumera todos los privilegios de Solaris y el estado de cada privilegio con respecto a las zonas. Los privilegios opcionales no forman parte del conjunto de privilegios predeterminado, pero se pueden especificar con la propiedad limitpriv. Los privilegios necesarios deben incluirse en el conjunto de privilegios resultante. Los privilegios prohibidos no se pueden incluir en el conjunto de privilegios resultante.

La propiedad limitpriv está disponible a partir de Solaris 10 11/06.

Tabla 27–1 Estado de los privilegios en las zonas

Privilegio 

Estado 

Notas 

cpc_cpu

OPCIONAL 

Acceso a determinados contadores cpc(3CPC)

dtrace_proc

OPCIONAL 

Proveedores fasttrap y pid; plockstat(1M)

dtrace_user

OPCIONAL 

Proveedores profile y syscall

graphics_access

OPCIONAL 

Acceso ioctl(2) a agpgart_io(7I)

graphics_map

OPCIONAL 

Acceso mmap(2) a agpgart_io(7I)

net_rawaccess

Opcional en zonas de IP compartida. 

Predeterminado en zonas de IP exclusiva. 

Acceso de paquetes básico PF_INET/PF_INET6

proc_clock_highres

OPCIONAL 

Uso de temporizadores de alta resolución 

proc_priocntl

OPCIONAL 

Control de planificación; priocntl(1)

sys_ipc_config

OPCIONAL 

Tamaño de búfer de cola de mensajes IPC creciente 

sys_time

OPCIONAL 

Manipulación del tiempo del sistema; xntp(1M)

dtrace_kernel

Prohibido 

No se admite actualmente 

proc_zone

Prohibido 

No se admite actualmente 

sys_config

Prohibido 

No se admite actualmente 

sys_devices

Prohibido 

No se admite actualmente 

sys_linkdir

Prohibido 

No se admite actualmente 

sys_net_config

Prohibido 

No se admite actualmente 

sys_res_config

Prohibido 

No se admite actualmente 

sys_suser_compat

Prohibido 

No se admite actualmente 

proc_exec

Requerido, predeterminado 

Se utiliza para iniciar init(1M )

proc_fork

Requerido, predeterminado 

Se utiliza para iniciar init(1M )

sys_mount

Requerido, predeterminado 

Se necesita para montar los sistemas de archivos necesarios 

sys_ip_config

Requerido, predeterminado en zonas de IP exclusiva 

Prohibido en zonas de IP compartida 

Se necesita para iniciar la zona e iniciar las redes IP en una zona de IP exclusiva 

contract_event

Predeterminado 

Lo utiliza el sistema de archivos de contrato 

contract_observer

Predeterminado 

Cumplimiento de contratos al margen de UID 

file_chown

Predeterminado 

Cambios de propiedad de archivos 

file_chown_self

Predeterminado 

Cambios de propietario/grupo para los propios archivos 

file_dac_execute

Predeterminado 

Acceso de ejecución al margen del modo/LCA 

file_dac_read

Predeterminado 

Acceso de lectura al margen del modo/LCA 

file_dac_search

Predeterminado 

Acceso de búsqueda al margen del modo/LCA 

file_dac_write

Predeterminado 

Acceso de escritura al margen del modo/LCA 

file_link_any

Predeterminado 

Acceso de vínculos al margen del propietario 

file_owner

Predeterminado 

Otro acceso al margen del propietario 

file_setid

Predeterminado 

Cambios de permisos para los archivos setid, setgid, setuid

ipc_dac_read

Predeterminado 

Acceso de lectura IPC al margen del modo 

ipc_dac_owner

Predeterminado 

Acceso de escritura IPC al margen del modo 

ipc_owner

Predeterminado 

Otro acceso IPC al margen del modo 

net_icmpaccess

Predeterminado 

Acceso al paquete ICMP: ping(1M)

net_privaddr

Predeterminado 

Vinculación a puertos con privilegios 

proc_audit

Predeterminado 

Generación de registros de auditoría 

proc_chroot

Predeterminado 

Cambio del directorio root

proc_info

Predeterminado 

Examen de procesos 

proc_lock_memory

Predeterminado 

Bloqueo de memoria; shmctl(2) y mlock(3C)

Si el administrador de zona asigna este privilegio a una zona no global, debe considerar también la configuración del control de recurso zone.max-locked-memory para evitar que la zona bloquee toda la memoria.

proc_owner

Predeterminado 

Control de procesos al margen del propietario 

proc_session

Predeterminado 

Control de procesos al margen de la sesión 

proc_setid

Predeterminado 

Configuración de ID de usuario/grupo según sea preciso 

proc_taskid

Predeterminado 

Asignación de ID de tareas al programa de llamada 

sys_acct

Predeterminado 

Administración de cuentas 

sys_admin

Predeterminado 

Tareas de administración del sistema simples 

sys_audit

Predeterminado 

Administración de auditoría 

sys_nfs

Predeterminado 

Compatibilidad con cliente NFS 

sys_resource

Predeterminado 

Manipulación de límites de recursos 

En la tabla siguiente se enumeran todos los privilegios de Solaris Trusted Extensions y el estado de cada privilegio con respecto a las zonas. Los privilegios opcionales no forman parte del conjunto de privilegios predeterminado, pero se pueden especificar con la propiedad limitpriv.


Nota –

Estos privilegios sólo se interpretan si el sistema está configurado con Solaris Trusted Extensions.


Tabla 27–2 Estado de los privilegios de Solaris Trusted Extensions en zonas

Privilegio de Solaris Trusted Extensions 

Estado 

Notas 

file_downgrade_sl

OPCIONAL 

Ajusta la etiqueta de sensibilidad del archivo o directorio a una etiqueta de sensibilidad que no domina la etiqueta de sensibilidad existente 

file_upgrade_sl

OPCIONAL 

Ajusta la etiqueta de sensibilidad del archivo o directorio a una etiqueta de sensibilidad que domina la etiqueta de sensibilidad existente 

sys_trans_label

OPCIONAL 

Traslada etiquetas no controladas por la etiqueta de seguridad 

win_colormap

OPCIONAL 

Modifica restricciones de asignaciones de color 

win_config

OPCIONAL 

Configura o destruye recursos que conserva el servidor X de forma permanente 

win_dac_read

OPCIONAL 

Lee el recurso de ventana que no es propiedad del ID de usuario del cliente 

win_dac_write

OPCIONAL 

Lee o crea el recurso de ventana que no es propiedad del ID de usuario del cliente 

win_devices

OPCIONAL 

Lleva a cabo operaciones en los dispositivos de entrada. 

win_dga

OPCIONAL 

Utiliza las extensiones del protocolo X de acceso a gráficos directo; se necesitan privilegios de búfer de trama 

win_downgrade_sl

OPCIONAL 

Cambia la etiqueta de seguridad del recurso de ventana a una nueva etiqueta controlada por la etiqueta existente 

win_fontpath

OPCIONAL 

Añade una ruta de fuente adicional 

win_mac_read

OPCIONAL 

Lee el recurso de ventana con una etiqueta que controla la etiqueta del cliente 

win_mac_write

OPCIONAL 

Escribe en el recurso de ventana con una etiqueta diferente a la del cliente 

win_selection

OPCIONAL 

Solicita movimientos de datos sin intervención del confirmador 

win_upgrade_sl

OPCIONAL 

Cambia la etiqueta de seguridad del recurso de ventana a una nueva etiqueta no controlada por la etiqueta existente 

net_bindmlp

Predeterminado 

Permite la vinculación a un puerto multinivel (MLP) 

net_mac_aware

Predeterminado 

Permite la lectura mediante NFS 

Para modificar los privilegios de una configuración de zona no global, consulte Configuración, verificación y confirmación de una zona.

Para examinar los conjuntos de privilegios, consulte Uso de la utilidad ppriv. Para obtener más información acerca de los privilegios, consulte la página del comando man ppriv(1) y System Administration Guide: Security Services.

Uso de arquitectura de seguridad IP en zonas

La arquitectura de seguridad de protocolo de Internet (IPsec), que protege los datagramas IP, se describe en el Capítulo 19, Arquitectura de seguridad IP (descripción general) de Guía de administración del sistema: servicios IP. El protocolo de intercambio de claves de Internet (IKE) se utiliza para administrar automáticamente el material de claves necesario para la autenticación y el cifrado.

Para obtener más información, consulte las páginas de comando man ipsecconf(1M) y ipseckey(1M).

Arquitectura de seguridad IP en zonas de IP compartida

IPsec se puede utilizar en la zona global. Sin embargo, IPsec en una zona no global no puede utilizar IKE. Por lo tanto, debe administrar las directivas y claves IPsec para las zonas no globales mediante el protocolo de intercambio de claves de Internet (IKE) en la zona global. Utilice la dirección de origen que corresponda a la zona no global que esté configurando.

Solaris 10 8/07: arquitectura de seguridad IP en zonas de IP exclusiva

IPsec se puede utilizar en zonas de IP exclusiva.

Uso de auditorías de Solaris en zonas

Las auditorías de Solaris se describen en el Capítulo 28, Oracle Solaris Auditing (Overview) de System Administration Guide: Security Services. Para conocer las consideraciones de zonas relativas a la auditoría, consulte las secciones siguientes:

Un registro de auditoría describe un evento, como el inicio de sesión en un sistema o la escritura en un archivo. El registro se compone de símbolos, que son conjuntos de datos de auditoría. El símbolo zonename permite configurar la auditoría de Solaris para identificar los eventos de auditoría por zona. Asimismo, zonename permite crear la información siguiente:

Configuración de auditorías en la zona global

Los finales de auditoría de Solaris se configuran en la zona global. La política de auditoría se configura en la zona global y se aplica a los procesos de todas las zonas. Los registros de auditoría se pueden marcar con el nombre de la zona en la que ha tenido lugar el evento. Para incluir los nombres de zonas en los registros de auditoría, debe editar el archivo /etc/security/audit_startup antes de instalar zonas no globales. La selección del nombre de zona distingue entre mayúsculas y minúsculas.

Para configurar la auditoría en la zona global para que incluya todos los registros de auditoría de la zona, añada esta línea al archivo /etc/security/audit_startup:


/usr/sbin/auditconfig -setpolicy +zonename

Como administrador global de la zona global, ejecute la utilidad auditconfig:


global# auditconfig -setpolicy +zonename

Si desea información adicional, consulte las páginas del comando man audit_startup(1M) y auditconfig(1M), así como la sección sobre cómo configurar archivos de auditoría (mapa de tareas) de la System Administration Guide: Security Services.

Configuración de las características de auditoría del usuario en una zona no global

Cuando se instala una zona no global, los archivos audit_control y audit_user de la zona global se copian en el directorio /etc/security de la zona. Es posible que tenga que modificar estos archivos para que reflejen las necesidades de auditoría de la zona.

Por ejemplo, cada zona se puede configurar para que audite algunos usuarios de un modo distinto a los demás. Para aplicar un criterio de selección previa distinto por usuario, debe editarse tanto el archivo audit_control como el archivo audit_user. Es posible que el archivo audit_user de la zona no global también deba revisarse para que refleje la base de usuarios para la zona, si es preciso. Dado que cada zona se puede configurar de un modo distinto en lo que se refiere a los usuarios de la auditoría, es posible que el archivo audit_user esté vacío.

Para obtener información adicional, consulte las páginas del comando man audit_control(4) y audit_user(4).

Registros de auditoría para una zona no global específica

Al incluir el símbolo zonename tal como se describe en Configuración de auditorías en la zona global, los registros de auditoría de Solaris se pueden categorizar por zona. A continuación, los registros de diferentes zonas se pueden recopilar utilizando el comando auditreduce para crear registros para una zona específica.

Para obtener más información, consulte las páginas del comando man audit_startup(1M) y auditreduce(1M).

Archivos principales en zonas

El comando coreadm se utiliza para especificar el nombre y la ubicación de los archivos principales producidos por procesos que finalizan de forma anómala. Las rutas de los archivos principales que incluyen el nombre_zona de la zona en la que se ejecuta el proceso se pueden producir mediante la especificación de la variable %z. El nombre de ruta es relativo al directorio raíz de la zona.

Si desea más información, consulte las páginas del comando man coreadm(1M) y core(4).

Ejecución de DTrace en una zona no global

Los programas de DTrace que sólo requieren los privilegios dtrace_proc y dtrace_user se pueden ejecutar en una zona no global. Para añadir estos privilegios al conjunto de privilegios disponibles en la zona no global, utilice la propiedad zonecfg limitpriv. Para obtener instrucciones, consulte Cómo utilizar DTrace.

Los proveedores que se admiten mediante dtrace_proc son fasttrap y pid. Los proveedores que se admiten mediante dtrace_user son profile y syscall. El ámbito de los proveedores y las acciones de DTrace se limita a la zona.

Consulte también Privilegios en una zona no global para obtener información adicional.

Cómo realizar copias de seguridad de un sistema Solaris con zonas instaladas

Puede realizar copias de seguridad en zonas no globales individuales, o realizar una copia de seguridad de todo el sistema desde la zona global.

Cómo realizar copias de seguridad de los directorios del sistema de archivos en bucle

Dado que muchas zonas no globales comparten archivos con la zona global mediante el uso de montajes de sólo lectura del sistema de archivos en bucle (normalmente /usr, /lib, /sbin y /platform), debe utilizar un método de copia de seguridad de la zona global para llevar a cabo la copia de seguridad de los directorios lofs.


Precaución – Precaución –

No realice una copia de seguridad de los sistemas de archivos lofs compartidos con la zona global en zonas no globales. Si el administrador de zona no global intenta restaurar un sistema de archivos lofs desde una zona no global, puede producirse un error grave.


Copia de seguridad del sistema desde la zona global

Puede realizar copias de seguridad desde la zona global en los siguientes casos:

Copia de seguridad de zonas no globales individuales en el sistema

Puede llevar a cabo copias de seguridad en las zonas no globales en los siguientes supuestos:

Cómo determinar qué se debe guardar en una copia de seguridad en las zonas no globales

Puede realizar una copia de seguridad de todo lo que incluye la zona no global. Dado que la configuración de una zona no cambia con mucha frecuencia, también puede realizar la copia de seguridad sólo de los datos de la aplicación.

Copia de seguridad sólo de los datos de la aplicación

Si los datos de la aplicación se guardan en una parte específica del sistema de archivos, puede realizar copias de seguridad regulares sólo de estos datos. No es necesario realizar una copia de seguridad del sistema de archivos raíz de la zona tan a menudo, ya que cambia con menos frecuencia.

Es necesario especificar dónde colocará la aplicación sus archivos. Las ubicaciones donde se pueden guardar los archivos incluyen:

Si el administrador de la aplicación conoce dónde se guardan los datos, puede crear un sistema en el que haya disponible para cada zona un directorio en el que se pueda escribir. En tal caso, cada zona puede guardar sus propias copias de seguridad, y el administrador global puede utilizar esta ubicación como uno de los lugares del sistema en los que realizar las copias de seguridad.

Operaciones de copia de seguridad de bases de datos generales

Si los datos de aplicación de las bases de datos no se encuentran en su propio directorio, se aplican las reglas siguientes:

Copias de seguridad de cintas

Cada zona no global puede realizar una instantánea de sus sistemas de archivos privados cuando se considere oportuno para dicha zona y la aplicación lleve un momento desactivada. Más tarde, la zona global puede realizar una copia de seguridad de cada una de las instantáneas y colocarlas en cintas una vez que la aplicación vuelve a estar operativa.

Este método presenta las ventajas siguientes:

Restauración de zonas no globales

En el caso de una restauración en la que las copias de seguridad se llevan a cabo desde la zona global, el administrador global puede volver a instalar las zonas afectadas y luego restaurar los archivos de la zona. Se da por sentado que:

De lo contrario, la restauración podría sobrescribir algunos archivos que deberían fusionarse manualmente.

Por ejemplo, podría necesitar fusionar los archivos manualmente si se ha aplicado un parche a una zona global después de la copia de seguridad, pero antes de la restauración de la zona no global. En ese caso, debe tener cuidado al restaurar los archivos de una zona de los que se realizó una copia de seguridad, dado que el archivo de la copia de seguridad podría no ser compatible con la zona que se acaba de instalar, que se creó después de aplicar los parches a la zona global. De ser así, debe examinar los archivos uno a uno y compararlos con las copias de la zona que se acaba de instalar. En la mayoría de los casos, podrá copiar directamente el archivo, pero en ocasiones es necesario fusionar los cambios que se hicieron originalmente en el archivo en la copia que acaba de instalar o a la que acaba de aplicar un parche en la zona.


Nota –

Si se pierden todos los sistemas de archivos de la zona global y se restaura toda la zona global, se restauran también las zonas no globales, ya que los sistemas de archivos raíz respectivos de las zonas no globales se incluyeron en la copia de seguridad.


Comandos utilizados en un sistema Solaris con zonas instaladas

Los comandos que se identifican en la Tabla 27–3 proporcionan la interfaz administrativa principal para las funciones de zonas.

Tabla 27–3 Comandos utilizados para la administración de zonas

Referencia de comando 

Descripción 

zlogin(1)

Inicia sesión en una zona no global 

zonename(1)

Imprime el nombre de la zona actual 

zoneadm(1M)

Administra zonas en un sistema 

zonecfg(1M)

Se utiliza para configurar una zona 

getzoneid(3C)

Se utiliza para asignar un ID y nombre de zona 

zones(5)

Proporciona una descripción de la función de zonas 

zcons(7D)

Controlador de dispositivos de consola de zona 

El daemon zoneadmd es el proceso principal para administrar la plataforma virtual de la zona. La página del comando man para el daemon zoneadmd es zoneadmd(1M). El daemon no constituye una interfaz de programación.

Los comandos de la tabla siguiente se utilizan con el daemon de límite de recursos.

Tabla 27–4 Comandos utilizados con rcapd

Referencia de comando 

Descripción 

rcapstat(1)

Supervisa el uso de recursos de los proyectos limitados. 

rcapadm(1M)

Configura el daemon de límite de recursos, muestra el estado actual del daemon de límite de recursos si se ha configurado y habilita o inhabilita el límite de recursos. También se utiliza para definir un límite de memoria temporal.  

rcapd(1M)

El daemon de límite de recursos. 

Los comandos identificados en la siguiente tabla se han modificado para utilizar en un sistema Solaris con zonas instaladas. Estos comandos tienen opciones que son específicas de zonas o presentan la información de un modo distinto. Los comandos se enumeran por sección de la página del comando man.

Tabla 27–5 Comandos modificados para utilizar en un sistema operativo Solaris con zonas instaladas

Referencia de comando 

Descripción 

ipcrm(1)

Se ha añadido la opción -z zona. Esta opción sólo es útil cuando se ejecuta el comando en la zona global.

ipcs(1)

Se ha añadido la opción -z zona. Esta opción sólo es útil cuando se ejecuta el comando en la zona global.

pgrep(1)

Se ha añadido la opción -z lista_ID_zona. Esta opción sólo es útil cuando se ejecuta el comando en la zona global.

ppriv(1)

Se ha añadido la expresión zone para utilizar con la opción -l para enumerar todos los privilegios disponibles en la zona actual. También se utiliza la opción - v after zone para obtener un listado detallado.

priocntl(1)

El ID de zona se puede utilizar en lista_ID e -i tipo_ID para especificar procesos. Puede utilizar el comando priocntl - i ID_zona para mover procesos en ejecución a una clase de planificación diferente en una zona no global.

proc(1)

Se ha añadido la opción -z zona sólo a ptree. Esta opción sólo es útil cuando se ejecuta el comando en la zona global.

ps(1)

Se ha añadido nombre_zona e ID_zona a la lista de nombres de format reconocidos que se utilizan con la opción -o.

Se ha añadido -z lista_zonas para enumerar sólo los procesos en las zonas especificadas. Las zonas se pueden especificar por nombre o ID de zona. Esta opción sólo es útil cuando se ejecuta el comando en la zona global.

Se ha añadido -Z para imprimir el nombre de la zona asociada con el proceso. El nombre se imprime bajo el encabezado de la columna adicional, ZONE.

renice(1)

Se ha añadido ID_zona a la lista de argumentos válidos que se utilizan con la opción -i.

sar(1)

Si se ejecuta en una zona no global en la que está activada la función de agrupaciones, las opciones -b, -c -g, -m, - p, -u, -w e -y muestran valores sólo para los procesadores que se encuentran en el conjunto de procesadores de la agrupación a la que está vinculada la zona.

auditconfig(1M)

Se ha añadido el símbolo zonename.

auditreduce(1M)

Se ha añadido la opción -z nombre_zona. Se ha añadido la posibilidad de obtener un registro de auditoría de una zona.

coreadm(1M)

Se ha añadido la variable %z para identificar la zona en la que se ejecutan los procesos.

df(1M)

Se ha añadido la opción -Z para ver los montajes en todas las zonas visibles.

ifconfig(1M)

Se ha añadido la opción zone para el uso de la zona global (predeterminado) y -zone nombre_zona para el uso de zonas no globales.

iostat(1M)

Si se ejecuta en una zona no global en la que está activa la función de agrupaciones, sólo se proporciona información para los procesadores que se encuentran en el conjunto de procesadores de la agrupación a la que está vinculada la zona. 

kstat(1M)

Si se ejecuta en la zona global, se muestran los valores de kstat para todas las zonas. Si se ejecuta en una zona no global, sólo se muestran los valores de kstat con un ID_zona coincidente.

mpstat(1M)

Si se ejecuta en una zona no global en la que está activa la función de agrupaciones, el comando sólo muestra líneas para los procesadores que se encuentran en el conjunto de procesadores de la agrupación a la que está vinculada la zona. 

ndd(1M)

Cuando se utiliza en la zona global, muestra información para todas las zonas. ndd en los módulos TCP/IP de una zona de IP exclusiva sólo muestra información para esa zona.

netstat(1M)

Muestra información sólo para la zona actual. 

nfsstat(1M)

Muestra las estadísticas sólo de la zona actual. 

poolbind(1M)

Se ha añadido la lista ID_zona. Consulte también Agrupaciones de recursos utilizadas en zonas para obtener información sobre el uso de zonas con agrupaciones de recursos.

prstat(1M)

Se ha añadido la opción -z lista_ID_zona. Se ha añadido también la opción -Z.

Si se ejecuta en una zona no global en la que está activa la función de agrupaciones, el porcentaje de tiempo de la CPU reciente que utilizan los procesadores sólo se muestra para los procesadores del conjunto de procesadores de la agrupación a la que está vinculada la zona. 

El resultado de las opciones -a, -t, -T, - J y -Z muestra una columna SWAP (Intercambio) en lugar de SIZE (Tamaño). El intercambio que se registra es el intercambio total que consumen los montajes tmpfs y los procesos de la zona. Este valor ayuda a supervisar el intercambio reservado para cada zona, que se puede utilizar para elegir una configuración adecuada para zone.max-swap.

psrinfo(1M)

Si se ejecuta en una zona no global, sólo se muestra información sobre los procesadores visibles en la zona. 

traceroute(1M)

Cambio de uso. Cuando se especifica desde una zona no global, la opción -F no surte efecto porque siempre se configura el bit “don't fragment” (no desfragmentar).

vmstat(1M)

Si se ejecuta en una zona no global en la que está activa la función de agrupaciones, sólo se muestran las estadísticas para los procesadores que se encuentran en el conjunto de procesadores de la agrupación a la que está vinculada la zona. Se aplica al resultado de la opción -p y los campos de informes page, faults y cpu.

auditon(2)

Se ha añadido AUDIT_ZONENAME para generar un símbolo de ID de zona con cada registro de auditoría.

priocntl(2)

Se ha añadido el argumento P_ZONEID id.

processor_info(2)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

p_online(2)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

pset_bind(2)

Se ha añadido P_ZONEID como tipo_ID. Se ha añadido la zona a las posibles opciones de la especificación P_MYID. Se ha añadido P_ZONEID a una lista de tipo_ID válida en la descripción de errores EINVAL.

pset_info(2)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

pset_list(2)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

pset_setattr(2)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

sysinfo(2)

Se ha cambiado PRIV_SYS_CONFIG a PRIV_SYS_ADMIN.

umount(2)

Se devuelve ENOENT si el archivo al que apunta archivo no es una ruta absoluta.

getloadavg(3C)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, el comportamiento es equivalente a llamar con un psetid de PS_MYID.

getpriority(3C)

Se han añadido ID de zona a los procesos de destino que se pueden especificar. Se ha añadido el ID de zona a la descripción del error EINVAL.

priv_str_to_set(3C)

Se ha añadido la cadena "zone" para el conjunto de todos los privilegios disponibles en la zona del autor de la llamada. 

pset_getloadavg(3C)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, pero el procesador no se encuentra en el conjunto de procesadores de la agrupación a la que está vinculada la zona, se genera un error. 

sysconf(3C)

Si el autor de la llamada se encuentra en una zona no global y la función de agrupaciones está activa, sysconf(_SC_NPROCESSORS_CONF) y sysconf(_SC_NPROCESSORS_ONLN) devuelven el número de procesadores del conjunto de procesadores de la agrupación a la que está vinculada la zona.

ucred_get(3C)

Se ha añadido la función ucred_getzoneid(), que devuelve el ID de zona del proceso o -1 si el ID de zona no está disponible.

core(4)

Se ha añadido n_type: NT_ZONENAME. Esta entrada contiene una cadena que describe el nombre de la zona en la que se estaba ejecutando el proceso.

pkginfo(4)

Ahora proporciona parámetros opcionales y una variable de entorno como complemento para las zonas. 

proc(4)

Se ha añadido la capacidad de obtener información sobre los procesos que se ejecutan en las zonas. 

audit_syslog(5)

Se ha añadido el campo in<nombre_zona > que se utilizaba si la política de auditoría zonename estaba configurada.

privileges(5)

Se ha añadido PRIV_PROC_ZONE, que permite a un proceso controlar o enviar señales a procesos de otras zonas. Consulte zones(5).

if_tcp(7P)

Se han añadido las llamadas de zona ioctl().

cmn_err(9F)

Se ha añadido el parámetro de zona. 

ddi_cred(9F)

Se ha añadido crgetzoneid(), que devuelve el ID de zona de la credencial de usuario a la que apunta cr.

Capítulo 28 Administración de zonas de Solaris (tareas)

En este capítulo se describen las tareas de administración generales y se incluyen ejemplos de uso.

Novedades de este capítulo

En esta sección se describen las novedades de los productos y se identifican las mejoras de la documentación en esta guía.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

Novedades de este capítulo para Solaris 10 1/06

Se ha añadido un nuevo procedimiento para el acceso a los medios. Consulte Cómo añadir acceso a medios de CD o DVD en una zona no global.

Se han incluido nuevos procedimientos para hacer copias de seguridad y restaurar archivos de zonas. Consulte Copia de seguridad de un sistema Solaris con zonas instaladas y Restauración de una zona no global.

Novedades de este capítulo para Solaris 10 6/06

Se han incorporado nuevos procedimientos. Consulte Cómo montar un sistema de archivos desde la zona global en una zona no global y Cómo añadir un directorio grabable en /usr en una zona no global.

Novedades de este capítulo para 10 8/07

Se han incorporado nuevos procedimientos. Consulte Cómo utilizar DTrace, Solaris 10 8/07: administración de vínculos de datos en zonas no globales de IP exclusiva, Comprobación del estado de los servicios SMF en una zona no global.

Uso de la utilidad ppriv

La utilidad ppriv permite mostrar los privilegios de la zona.

ProcedureCómo enumerar los privilegios de Solaris en la zona global

La utilidad ppriv con la opción -l permite enumerar los privilegios disponibles en el sistema.

  1. En el indicador, escriba ppriv -l zone para ver el conjunto de privilegios disponibles en la zona.


    global# ppriv -l zone
    

    Aparecerá una pantalla similar a la siguiente:


    contract_event
    contract_observer
    cpc_cpu
    .
    .
    .

ProcedureCómo enumerar el conjunto de privilegios de la zona no global

La utilidad ppriv con la opción -l y la expresión zone permiten enumerar los privilegios de la zona.

  1. Inicie sesión en la zona no global. En este ejemplo se utiliza una zona denominada mi_zona.

  2. En el indicador, escriba ppriv - l zone para ver el conjunto de privilegios disponibles en la zona.


    my-zone# ppriv -l zone
    

    Aparecerá una pantalla similar a la siguiente:


    contract_event
    contract_observer
    file_chown
    
    .
    .
    .

ProcedureCómo enumerar un conjunto de privilegios de una zona no global con un listado detallado

La utilidad ppriv con la opción -l, la expresión zone y la opción -v permiten enumerar los privilegios de la zona.

  1. Inicie sesión en la zona no global. En este ejemplo se utiliza una zona denominada mi_zona.

  2. En el indicador, escriba ppriv - l -v zone para ver el conjunto de privilegios disponibles en la zona, con una descripción de cada privilegio.


    my-zone# ppriv -l -v zone
    

    Aparecerá una pantalla similar a la siguiente:


    contract_event
            Allows a process to request critical events without limitation.
            Allows a process to request reliable delivery of all events on
            any event queue.
    contract_observer
            Allows a process to observe contract events generated by
            contracts created and owned by users other than the process's
            effective user ID.
            Allows a process to open contract event endpoints belonging to
            contracts created and owned by users other than the process's
            effective user ID.
    file_chown
            Allows a process to change a file's owner user ID.
            Allows a process to change a file's group ID to one other than
            the process' effective group ID or one of the process'
            supplemental group IDs.
    .
    .
    .

Uso de DTrace en una zona no global

Lleve a cabo los siguientes pasos para utilizar la función DTrace tal como se describe en Ejecución de DTrace en una zona no global.

ProcedureCómo utilizar DTrace

  1. Utilice la propiedad zonecfg limitpriv para añadir los privilegios dtrace_proc y dtrace_user.


    global# zonecfg -z my-zone
    zonecfg:my-zone> set limitpriv="default,dtrace_proc,dtrace_user"
    zonecfg:my-zone> exit
    

    Nota –

    En función de cuáles sean sus requisitos, puede añadir cualquiera de los privilegios, o ambos.


  2. Inicie la zona.


    global# zoneadm -z my-zone boot
    
  3. Inicie una sesión en la zona.


    global# zlogin my-zone
    
  4. Ejecute el programa DTrace.


    my-zone# dtrace -l
    

Comprobación del estado de los servicios SMF en una zona no global

Para comprobar el estado de los servicios SMF en una zona nativa no global, utilice el comando zlogin.

ProcedureCómo comprobar el estado de los servicios SMF desde la línea de comandos

  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. En la línea de comandos, escriba lo siguiente para ver todos los servicios, incluidos los desactivados.


    global# zlogin my-zone svcs -a
    
Véase también

Para obtener más información, consulte el Capítulo 22Registro en zonas no globales (tareas) y svcs(1).

ProcedureCómo comprobar el estado de los servicios SMF desde una zona

  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. Inicie una sesión en la zona.


    global# zlogin my-zone
    
  3. Ejecute el comando svcs con la opción -a para mostrar todos los servicios, incluidos los desactivados.


    my-zone# svcs -a
    
Véase también

Para obtener más información, consulte el Capítulo 22Registro en zonas no globales (tareas) y svcs(1).

Cómo montar los sistemas de archivos en zonas no globales en ejecución

Puede montar sistemas de archivos en una zona no global en ejecución. Se tratan los siguientes procedimientos.

ProcedureCómo importar dispositivos básicos y de bloques utilizando zonecfg

Este procedimiento utiliza el controlador de archivos lofi, que exporta un archivo como dispositivo de bloques.

  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. Cambie los directorios a /usr/tmp.


    global# cd /usr/tmp
    
  3. Cree un sistema de archivos UFS nuevo.


    global# mkfile 10m fsfile
    
  4. Conecte el archivo como dispositivo de bloques.

    Se utiliza la primera ranura disponible, que es /dev/lofi/1 si no se ha creado ningún otro dispositivo lofi.


    global# lofiadm -a `pwd`/fsfile
    

    También obtendrá el dispositivo de caracteres necesario.

  5. Importe los dispositivos a la zona my-zone.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/rlofi/1
    zonecfg:my-zone:device> end
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/lofi/1
    zonecfg:my-zone:device> end
    
  6. Reinicie la zona.


    global# zoneadm -z my-zone boot
    
  7. Inicie sesión en la zona y compruebe que los dispositivos se hayan importado correctamente.


    my-zone# ls  -l /dev/*lofi/*
    

    Aparecerá una pantalla similar a la siguiente:


    brw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/lofi/1
    crw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/rlofi/1
Véase también

Para obtener más información, consulte las páginas del comando man lofiadm(1M) y lofi(7D).

ProcedureCómo montar el sistema de archivos manualmente

Debe ser el administrador de zona y tener el perfil de administración de zonas para llevar a cabo este procedimiento. Este procedimiento utiliza el comando newfs, que se describe en la página del comando man newfs(1M).

  1. Conviértase en superusuario, o adquiera los derechos de administración de zonas en la lista de perfiles.

  2. En la zona my-zone, cree un nuevo sistema de archivos en el disco.


    my-zone# newfs /dev/lofi/1
    
  3. Responda afirmativamente en el indicador.


    newfs: construct a new file system /dev/rlofi/1: (y/n)? y
    

    Aparecerá una pantalla similar a la siguiente:


    /dev/rlofi/1:   20468 sectors in 34 cylinders of 1 tracks, 602 sectors
            10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9664, 19296,
  4. Compruebe si hay errores en el sistema de archivos.


    my-zone# fsck -F ufs /dev/rlofi/1
    

    Aparecerá una pantalla similar a la siguiente:


    ** /dev/rlofi/1
    ** Last Mounted on 
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    2 files, 9 used, 9320 free (16 frags, 1163 blocks, 0.2% fragmentation)
  5. Monte el sistema de archivos.


    my-zone# mount -F ufs /dev/lofi/1 /mnt
    
  6. Compruebe el montaje.


    my-zone# grep /mnt /etc/mnttab
    

    Aparecerá una pantalla similar a la siguiente:


    /dev/lofi/1     /mnt    ufs
    rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001
    1073503869

ProcedureCómo colocar un sistema de archivos en /etc/vfstab para que se monte cuando se inicie la zona

Este procedimiento se utiliza para montar el dispositivo de bloques /dev/lofi/1 en la ruta del sistema de archivos /mnt. El dispositivo de bloques contiene un sistema de archivos UFS. Se utilizan las opciones siguientes:

  1. Conviértase en superusuario, o adquiera los derechos de administración de zonas en la lista de perfiles.

  2. En la zona my-zone, añada la línea siguiente a /etc/vfstab:


    /dev/lofi/1 /dev/rlofi/1  /mnt   ufs  2  yes logging

ProcedureCómo montar un sistema de archivos desde la zona global en una zona no global

Supongamos que una zona tiene como zonepath /export/home/my-zone. Desea montar el disco /dev/lofi/1 desde la zona global en /mnt en la zona no global.

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. Para montar el disco en /mnt en la zona no global, escriba lo siguiente desde la zona global:


    global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt
    
Véase también

Para obtener información sobre lofi, consulte las páginas del comando man lofiadm(1M) y lofi(7D).

Cómo añadir acceso de zona no global a sistemas de archivos específicos de la zona global

ProcedureCómo añadir acceso a medios de CD o DVD en una zona no global

Este procedimiento permite añadir acceso de sólo lectura a medios de CD o DVD en una zona no global. El sistema de archivos Gestión de volúmenes se utiliza en la zona global para montar los medios. A continuación, podrá utilizar un CD o DVD para instalar un producto en la zona no global. En este procedimiento se utiliza un DVD denominado jes_05q4_dvd.

  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. Determine si el sistema de archivos Gestión de volúmenes está ejecutándose en la zona global.


    global# svcs volfs
    STATE          STIME    FMRI
    online         Sep_29   svc:/system/filesystem/volfs:default
  3. (Opcional) Si el sistema de archivos Gestión de volúmenes no se está ejecutando en la zona global, inícielo.


    global# svcadm volfs enable
    
  4. Inserte el soporte.

  5. Compruebe el medio en la unidad.


    global# volcheck
    
  6. Compruebe si el DVD es de montaje automático.


    global# ls /cdrom
    

    Aparecerá una pantalla similar a la siguiente:


    cdrom   cdrom1   jes_05q4_dvd
  7. Monte en bucle el sistema de archivos con las opciones ro,nodevices (sólo lectura y sin dispositivos) en la zona no global.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/cdrom
    zonecfg:my-zone:fs> set special=/cdrom
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> add options [ro,nodevices]
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  8. Inicie de nuevo la zona no global.


    global# zoneadm -z my-zone reboot
    
  9. Utilice el comando zoneadm list con la opción -v para verificar el estado.


    global# zoneadm list -v
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  10. Inicie sesión en la zona no global.


    global# zlogin my-zone
    
  11. Compruebe el montaje de DVD-ROM.


    my-zone# ls /cdrom
    

    Aparecerá una pantalla similar a la siguiente:


    cdrom   cdrom1   jes_05q4_dvd
  12. Instale el producto tal como se describe en la guía de instalación del producto.

  13. Cierre la zona no global.


    my-zone# exit
    

    Consejo –

    Puede conservar el sistema de archivos /cdrom en la zona no global. El montaje siempre reflejará el contenido actual de la unidad de CD-ROM, o un directorio vacío si la unidad está vacía.


  14. (Opcional) Si desea eliminar el sistema de archivos /cdrom de la zona no global, utilice el procedimiento siguiente.


    global# zonecfg -z my-zone
    zonecfg:my-zone> remove fs dir=/cdrom
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    

ProcedureCómo añadir un directorio grabable en /usr en una zona no global

En una zona raíz dispersa, /usr se monta como de sólo lectura desde la zona global. Puede utilizar este procedimiento para añadir un directorio grabable, como /usr/local, en /usr en la zona.

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. Cree el directorio /usr/local en la zona global.


    global# mkdir -p /usr/local
    
  3. Especifique un directorio en la zona global para que actúe como almacenamiento de copia de seguridad del directorio /usr/local de la zona.


    global# mkdir -p /storage/local/my-zone
    
  4. Edite la configuración de la zona mi_zona.


    global# zonecfg -z my-zone
    
  5. Añada el sistema de archivos montado en bucle.


    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/usr/local
            zonecfg:my-zone:fs> set special=/storage/local/my-zone
            zonecfg:my-zone:fs> set type=lofs
            zonecfg:my-zone:fs> end
            zonecfg:my-zone> commit
            zonecfg:my-zone> exit
    
  6. Inicie la zona.

ProcedureCómo exportar directorios de inicio de la zona global a una zona no global

Este procedimiento se utiliza para exportar directorios de inicio u otros sistemas de archivos de la zona global a zonas no globales del mismo sistema.

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. Añada el sistema de archivos montado en bucle.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/export/home
    zonecfg:my-zone:fs> set special=/export/home
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> set options=nodevices
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  3. Añada la línea siguiente al archivo /etc/auto_home de la zona:


    $HOST:/export/home/&

Uso de rutas múltiples de redes IP en un sistema Solaris con zonas instaladas

ProcedureSolaris 10 8/07: cómo utilizar las rutas múltiples de redes IP en zonas no globales de IP exclusiva

Las rutas múltiples de redes IP (IPMP) de una zona de IP exclusiva se configuran como en la zona global.

Puede configurar una o más interfaces físicas en un grupo de múltiples rutas IP, o grupo IPMP. Después de configurar IPMP, el sistema supervisa automáticamente las interfaces del grupo IPMP para detectar posibles errores. Si una interfaz del grupo falla o se elimina para fines de mantenimiento, IPMP migra automáticamente o hace que fallen las direcciones IP de la interfaz. El destinatario de estas direcciones es una interfaz en funcionamiento del grupo IPMP de la interfaz fallida. La función de conmutación tras error de IPMP mantiene la conectividad e impide la interrupción de cualquier conexión. Asimismo, IPMP mejora el rendimiento global de la red al expandir automáticamente el tráfico de la red por un conjunto de interfaces del grupo IPMP. Este proceso se denomina expansión de carga.

  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. Configure los grupos IPMP tal como se describe en Configuración de grupos IPMP de Guía de administración del sistema: servicios IP.

ProcedureCómo ampliar la funcionalidad de múltiples rutas de redes IP a las zonas no globales de IP compartida

Utilice este procedimiento para configurar IPMP en la zona global y ampliar la funcionalidad de IPMP a las zonas no globales.

Cada dirección, o interfaz lógica, debe estar asociada con una zona no global cuando configura la zona. Consulte Uso del comando zonecfg y Cómo configurar la zona para obtener instrucciones al respecto.

Con este procedimiento:

En una zona en ejecución, puede utilizar el comando ifconfig para realizar la asociación. Consulte Interfaces de red de IP compartida y la página del comando man ifconfig(1M).

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. En la zona global, configure los grupos IPMP tal como se describe en Configuración de grupos IPMP de Guía de administración del sistema: servicios IP.

  3. Utilice el comando zonecfg para configurar la zona. Cuando configure el recurso net, añada la dirección 192.168.0.1, la interfaz física bge0 y una configuración de enrutador predeterminada a la zona mi_zona:


    zonecfg:my-zone> add net
    zonecfg:my-zone:net> set address=192.168.0.1
    zonecfg:my-zone:net> set physical=bge0
    zonecfg:my-zone:net> set defrouter=10.0.0.1
    zonecfg:my-zone:net> end
    

    Sólo estará visible bge0 en la zona no global mi_zona.

Si bge0 falla posteriormente

Si bge0 falla posteriormente y las direcciones de datos bge0 fallan en hme0 en la zona global, las direcciones mi_zona también se migran.

Si la dirección 192.168.0.1 se mueve a hme0, sólo estará visible hme0 en la zona no global mi_zona. Esta tarjeta estará asociada con la dirección 192.168.0.1 y bge0 dejará de estar visible.

Solaris 10 8/07: administración de vínculos de datos en zonas no globales de IP exclusiva

El comando dladm se utiliza desde la zona global para administrar vínculos de datos.

ProcedureCómo utilizar dladm show-linkprop

El comando dladm puede utilizarse con el subcomando show-linkprop para mostrar la asignación de vínculos de datos a las zonas de IP exclusiva en ejecución.

Para poder administrar vínculos de datos, debe ser el administrador global de la zona.

  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. Visualice la asignación de vínculos de datos en el sistema.


    global# dladm show-linkprop
    

Ejemplo 28–1 Uso de dladm con el subcomando show-linkprop

  1. En la primera pantalla, no se ha iniciado la zona 49bge, a la que se asigna bge0.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            --             --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --
  2. Se inicia la zona 49bge.


    global# zoneadm -z 49bge boot
    
  3. Se vuelve a ejecutar el comando dladm show-linkprop. Observe que el vínculo bge0 ahora está asignado a 49bge.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            49bge          --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --

ProcedureCómo utilizar dladm set-linkprop

El comando dladm puede utilizarse con el subcomando set-linkprop para asignar temporalmente vínculos de datos a las zonas de IP exclusiva en ejecución. Debe realizarse una asignación persistente mediante el comando zonecfg.

Para poder administrar vínculos de datos, debe ser el administrador global de la zona.

  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 dladm set-linkprop con la opción -t para añadir bge0 a una zona en ejecución denominada excl.


    global# dladm set-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Consejo –

    La opción -p genera una pantalla utilizando un formato de equipo analizable estable.


ProcedureCómo utilizar dladm reset-linkprop

El comando dladm puede utilizarse con el subcomando reset-linkprop para restablecer el valor de vínculo bge0 como no asignado.

  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 dladm reset-linkprop con la opción -t para deshacer la asignación de zona del dispositivo bge0.


    global# dladm reset-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Consejo –

    La opción -p genera una pantalla utilizando un formato de equipo analizable estable.


Errores más frecuentes

Si la zona en ejecución está utilizando el dispositivo, falla la reasignación y se muestra un mensaje de error. Consulte La zona de IP exclusiva está utilizando el dispositivo, de modo que falla dladm reset-linkprop.

Uso del programador de reparto justo en un sistema Solaris con zonas instaladas

Los límites especificados a través del comando prctl no son persistentes. Los límites sólo surten efecto cuando se reinicia el sistema. Para definir los recursos compartidos en una zona de forma permanente, consulte Cómo configurar la zona y Cómo configurar zone.cpu-shares en la zona global.

ProcedureCómo definir recursos compartidos de FSS en la zona global mediante el comando prctl

De modo predeterminado, la zona global tiene asignado un recurso compartido. Puede utilizar este procedimiento para cambiar la asignación predeterminada. Debe restablecer los recursos compartidos asignados mediante el comando prctl cada vez que reinicie el sistema.

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. La utilidad prctl permite asignar dos recursos compartidos a la zona global:


    # prctl -n zone.cpu-shares -v 2 -r -i zone global
    
  3. (Opcional) Para verificar el número de recursos compartidos asignados a la zona global, escriba:


    # prctl -n zone.cpu-shares -i zone global
    
Véase también

Para más información sobre la utilidad prctl, consulte la página del comando man prctl(1).

ProcedureCómo cambiar el valor de zone.cpu-shares en una zona dinámicamente

Este procedimiento se puede utilizar para cualquier zona, no sólo 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 el comando prctl para especificar un nuevo valor para cpu-shares.


    # prctl -n zone.cpu-shares -r -v value -i zone zonename
    

    tipo_ID es nombre_zona o ID_zona. valor es el nuevo valor.

Uso de perfiles de derechos en la administración de zonas

En esta sección se describen las tareas asociadas con el uso de perfiles de derechos en zonas no globales.

ProcedureCómo asignar el perfil de administración de zonas

El perfil de administración de zonas ofrece a un usuario la posibilidad de administrar todas las zonas no globales en el sistema.

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. Cree un rol que incluya el perfil de derechos de administración de zonas y asígnelo a un usuario.

Ejemplo: uso de shells de perfiles con comandos de zona

Puede ejecutar los comandos de zonas en un perfil utilizando el programa pfexec. El programa ejecuta los comandos con los atributos que especifican los perfiles del usuario en la base de datos exec_attr. Los shells de perfiles pfksh, pfcsh y pfsh invocan los shells de perfiles.

Utilice el programa pfexec para iniciar sesión en una zona, por ejemplo, my-zone.


machine$ pfexec zlogin my-zone

Copia de seguridad de un sistema Solaris con zonas instaladas

Se pueden utilizar los procedimientos siguientes para hacer una copia de seguridad de los archivos en las zonas. Recuerde que también debe hacer una copia de seguridad de los archivos de configuración de las zonas.

ProcedureCómo utilizar el comando ufsdump para realizar copias de seguridad

Puede realizar copias de seguridad completas o incrementales con el comando ufsdump. Con este procedimiento se realiza una copia de seguridad de la zona /export/mi_zona en /backup/my-zone.ufsdump, donde mi_zona se sustituye por el nombre de una zona del sistema. Puede tener un sistema de archivos independiente, por ejemplo, un sistema de archivos montado en /backup, para que incluya las copias de seguridad.

  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. (Opcional) Cierre la zona para colocarla en un estado inactivo y evitar la creación de copias de seguridad de sistemas de archivos compartidos.


    global# zlogin -S my-zone init 0
    
  3. Compruebe el estado de la zona.


    global# zoneadm list -cv
    

    Aparecerá una pantalla similar a la siguiente:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  4. Efectúe la copia de seguridad.


    global# ufsdump 0f /backup/my-zone.ufsdump /export/my-zone
    

    Aparecerá una pantalla similar a la siguiente:


    DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005
    DUMP: Date of last level 0 dump: the epoch
    DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/my-zone.ufsdump. 
    DUMP: Mapping (Pass I) [regular files]
    DUMP: Mapping (Pass II) [directories]
    DUMP: Writing 63 Kilobyte records
    DUMP: Estimated 363468 blocks (174.47MB).
    DUMP: Dumping (Pass III) [directories]
    DUMP: Dumping (Pass IV) [regular files]
    DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec
    DUMP: DUMP IS DONE
  5. Inicie la zona.


    global# zoneadm -z my-zone boot
    

ProcedureCómo crear una instantánea UFS con el comando fssnap

Este enfoque utiliza el comando fssnap, que crea una imagen temporal de un sistema de archivos para las operaciones de copia de seguridad.

Este método puede utilizarse para proporcionar una copia de seguridad limpia y coherente sólo de los archivos de zona, y se puede ejecutar mientras las zonas están en ejecución. Sin embargo, se recomienda suspender o crear un punto de control para las aplicaciones activas que están actualizando archivos cuando se crea la instantánea. Una aplicación que se encuentra actualizando archivos cuando se crea la instantánea podría dejar estos archivos en un estado incoherente internamente, truncados o inutilizables.

En el procedimiento de ejemplo siguiente, tenga en cuenta que:

Antes de empezar

La copia de seguridad de destino es /backup/my-zone.ufsdump. Debe crear el directorio backup en /.

  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. Cree la instantánea.


    global# fssnap -o bs=/export /export/home
    

    Aparecerá una pantalla similar a la siguiente:


    dev/fssnap/0
  3. Monte la instantánea.


    global# mount -o ro /dev/fssnap/0 /mnt
    
  4. Realice una copia de seguridad de my-zone desde la instantánea.


    global# ufsdump 0f /backup/my-zone.ufsdump /mnt/my-zone
    

    Aparecerá una pantalla similar a la siguiente:


    DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005
       DUMP: Date of last level 0 dump: the epoch
       DUMP: Dumping /dev/rfssnap/0 (pc2:/mnt) to /backup/my-zone.ufsdump.
       DUMP: Mapping (Pass I) [regular files]
       DUMP: Mapping (Pass II) [directories]
       DUMP: Writing 32 Kilobyte records
       DUMP: Estimated 176028 blocks (85.95MB).
       DUMP: Dumping (Pass III) [directories]
       DUMP: Dumping (Pass IV) [regular files]
       DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec
       DUMP: DUMP IS DONE
  5. Desmonte la instantánea.


    global# umount /mnt
    
  6. Elimine la instantánea.


    global# fssnap -d /dev/fssnap/0
    

    Tenga en cuenta que la instantánea también se elimina del sistema cuando éste se reinicia.

ProcedureCómo utilizar los comandos find y cpio para realizar copias de seguridad

  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. Cambie los directorios al directorio raíz.


    global# cd /
    
  3. Realice una copia de seguridad de los archivos my-zone que no están montados en bucle en /backup/my-zone.cpio.


    global# find export/my-zone -fstype lofs -prune -o -local
     | cpio -oc -O /backup/my-zone.cpio type as one line
    
  4. Compruebe los resultados.


    global# ls -l backup/my-zone.cpio
    

    Aparecerá una pantalla similar a la siguiente:


    -rwxr-xr-x   1 root     root     99680256 Aug 10 16:13 backup/my-zone.cpio

ProcedureCómo imprimir una copia de una configuración de zona

Debe crear archivos de copia de seguridad de las configuraciones de zona no globales. Puede utilizar las copias de seguridad para volver a crear las zonas más adelante, si es preciso. Cree la copia de la configuración de la zona una vez haya iniciado sesión en la zona por primera vez y haya respondido a las preguntas de sysidtool. Este procedimiento utiliza una zona denominada my-zone y un archivo de copia de seguridad denominado my-zone.config para ilustrar el proceso.

  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. Imprima la configuración de la zona my-zone en un archivo denominado my-zone.config.


    global# zonecfg -z my-zone export > my-zone.config
    

Restauración de una zona no global

ProcedureCómo restaurar una zona no global individual

Puede utilizar los archivos de copia de seguridad de las configuraciones de zonas no globales para restaurar las zonas no globales, si es necesario. Este procedimiento utiliza una zona denominada my-zone y un archivo de copia de seguridad denominado my-zone.config para ilustrar el proceso de restauración de una zona.

  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. Especifique el uso de my-zone.config como archivo de comando zonecfg para volver a crear la zona my-zone.


    global# zonecfg -z my-zone -f my-zone.config
    
  3. Instale la zona.


    global# zoneadm -z my-zone install
    
  4. Para evitar que el sistema muestre las preguntas del comando sysidtool al iniciar sesión en la zona, elimine el archivo zonepath /root/etc/.UNCONFIGURED, por ejemplo:


    global# rm /export/home/my-zone/root/etc/.UNCONFIGURED
    
  5. Si tiene archivos específicos de la zona para restaurar, como datos de aplicación, restaure manualmente (o combine manualmente) los archivos de una copia de seguridad en el sistema de archivos raíz de la zona que acaba de crear.

Capítulo 29 Actualización de un sistema Solaris 10 con zonas no globales instaladas

En este capítulo se describe cómo actualizar el sistema Solaris 10 a una versión posterior si ejecuta Zonas de Solaris. Se incluyen vínculos a documentos de instalación de Solaris relacionados.

Novedades de este capítulo para 10 8/07

El programa Actualización automática de Solaris ahora es compatible con un sistema que tenga zonas instaladas. La propiedad zonepath no puede encontrarse en ZFS.

Novedades de este capítulo para Solaris 10 10/08

A partir de esta versión, los sistemas con la propiedad zonepath en ZFS admiten Actualización automática de Solaris. Para una zona con la propiedad zonepath en ZFS, el sistema sólo se puede actualizar mediante Actualización automática de Solaris.

Puede utilizar la función Actualización automática de Solaris para migrar las zonas a un sistema de archivos raíz ZFS. Una zona de un sistema de archivos no compartido se migra de manera automática cuando el sistema de archivos raíz UFS se migra a un sistema de archivos raíz ZFS. Si la zona se encuentra en un sistema de archivos UFS compartido, debe actualizarla del mismo modo que en las versiones anteriores del sistema operativo Solaris. Para obtener más información, consulte Migración de un sistema de archivos raíz UFS a uno ZFS (Actualización automática de Oracle Solaris) de Guía de administración de Oracle Solaris ZFS.

Copia de seguridad del sistema antes de llevar a cabo una actualización

Debe realizar una copia de seguridad de las zonas globales y no globales en el sistema Solaris antes de efectuar la actualización. Consulte Cómo realizar copias de seguridad de un sistema Solaris con zonas instaladas y Copia de seguridad de un sistema Solaris con zonas instaladas para obtener más información.

Actualización de un sistema con zonas instaladas a Solaris 10 8/07 y a versiones de actualizaciones posteriores

Puede utilizar el programa Actualización automática de Solaris, el programa de instalación interactiva estándar de Solaris, o el programa de instalación JumpStart personalizado para actualizar un sistema Solaris con zonas instaladas. Para obtener información, consulte Upgrading With Non-Global Zones de Solaris 10 8/07 Installation Guide: Planning for Installation and Upgrade. Cuando la zonepath se encuentre en ZFS, consulte también Novedades de este capítulo para 10 8/07 y Novedades de este capítulo para Solaris 10 10/08.

Directrices para utilizar Actualización automática de Solaris con zonas de Solaris

Al utilizar Actualización automática de Solaris en un sistema con zonas instaladas hay que tener en cuenta una serie de puntos. Es fundamental evitar transiciones de estados de zonas durante las operaciones con los comandos lucreate y lumount.

Debido a que un administrador de zona no global puede controlar una zona no global, durante las operaciones con los comandos lucreate o lumount se recomienda detener todas las zonas.

Cuando se ejecutan operaciones de Actualización automática, la intervención del administrador de zona es fundamental. La actualización repercute en la forma de trabajar de los administradores, los cuales se encargarán de los cambios que haya como resultado de la actualización. Los administradores de zona deben asegurarse de la estabilidad de los paquetes locales durante la secuencia, ocuparse de todas las tareas posteriores a la actualización, como los ajustes en los archivos de configuración, y en general prever las interrupciones de suministro del sistema.

Actualización de un sistema con zonas instaladas a Solaris 10 6/06 o Solaris 10 11/06

Consulte Las zonas con un recurso fs definidas con un tipo de lofs no se pueden actualizar a Solaris 10 11/06 antes de actualizar el sistema.

Puede utilizar el programa de instalación interactiva estándar de Solaris o el programa de instalación JumpStart personalizado para actualizar el sistema Solaris con zonas instaladas. Esta versión no admite el programa Actualización automática de Solaris. Para obtener información, consulte Solaris 10 11/06 Installation Guide: Solaris Live Upgrade and Upgrade Planning y Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations.

Capítulo 30 Resolución de problemas relativos a las zonas de Solaris

Este capítulo es una novedad de la versión 10 6/06 de Solaris.

Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.

Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 y Solaris 10 5/08: no coloque el sistema de archivos raíz en una zona no global en ZFS

En estas versiones, zonepath de una zona no global no debe encontrarse en ZFS. Esta acción puede ocasionar problemas de parches y posiblemente impedir que el sistema se actualice a una versión posterior a Solaris 10.

Tenga en cuenta que, a partir de Solaris 10 10/08, el sistema de archivos raíz de una zona no global puede encontrarse en ZFS. De este modo, Actualización automática de Solaris se puede usar para actualizar el sistema.

La zona de IP exclusiva está utilizando el dispositivo, de modo que falla dladm reset-linkprop

Si aparece el mensaje de error siguiente:


dladm: warning: cannot reset link property 'zone' on 'bge0': operation failed

Según se indica en Cómo utilizar dladm reset-linkprop , el intento de utilizar dladm reset-linkprop ha fallado. La zona en ejecución excl está utilizando el dispositivo, que se asignó ejecutando el comando ifconfig bge0 plumb dentro de la zona.

Para restablecer el valor, utilice el procedimiento ifconfig bge0 unplumb dentro de la zona y vuelva a ejecutar el comando dladm.

Montaje del administrador de zona en el sistema de archivos completado por la zona global

La presencia de archivos en una jerarquía de sistema de archivos cuando se inicia por primera vez una zona no global indica que la zona global administra los datos del sistema de archivos. Cuando se instala la zona no global, una serie de archivos de empaquetado de la zona global se duplican en la zona. Estos archivos deben residir directamente en zonepath. Si los archivos residen en un sistema de archivos creado por un administrador de zona en dispositivos de disco o conjuntos de datos ZFS añadidos a la zona, pueden producirse errores de empaquetado y parches.

El problema del almacenamiento de cualquier dato del sistema de archivos administrado por la zona global en un sistema de archivos local de la zona se puede describir utilizando ZFS como ejemplo. Si se ha delegado un conjunto de datos ZFS a una zona no global, el administrador de zona no debería utilizar dicho conjunto de datos para almacenar ningún dato del sistema de archivos que administre la zona global. En tal caso, es posible que la configuración no se actualice o no se le apliquen los parches correctamente.

Por ejemplo, no debería utilizarse un conjunto de datos delegados de ZFS como sistema de archivos /var. El sistema operativo Solaris ofrece los paquetes principales que instalan componentes en /var. Estos paquetes tienen que acceder a /var cuando se actualizan o se les aplican parches, lo cual no es posible si /var está montado en un conjunto de datos ZFS delegado.

Se admiten montajes de sistemas de archivos en partes de la jerarquía controladas por la zona global. Por ejemplo, si hay un directorio /usr/local vació en la zona global, el administrador de zona puede montar otro contenido en ese directorio.

Puede utilizar un conjunto de datos ZFS delegado para sistemas de archivos a los que no se tenga que acceder durante la aplicación de parches o la actualización, como /export en la zona no global.

La zona no se detiene

En el caso de que el estado del sistema asociado con la zona no se pueda destruir, la operación de detener fallará. La zona se quedará en un estado intermedio, entre la ejecución y la instalación. En este estado, no hay procesos de usuario activos ni subprocesos de núcleo, y no se puede crear ninguno. Cuando la operación de detener falla, es necesario que el usuario complete el proceso manualmente.

La causa más común de error es la incapacidad del sistema de desmontar todos los sistemas de archivos. A diferencia del cierre del sistema Solaris tradicional, que destruye el estado del sistema, las zonas deben asegurarse de que, una vez se haya detenido la zona, no se realicen montajes mientras se inicia la zona o durante su funcionamiento. Aunque zoneadm se asegura de que no haya procesos ejecutándose en la zona, la operación de desmontar puede fallar si los procesos de la zona global tienen archivos abiertos en la zona. Utilice las herramientas que se describen en las páginas del comando man proc(1) (consulte pfiles) y fuser(1M) para encontrar estos procesos y emprender la acción oportuna. Una vez solucionada la cuestión de los procesos, la zona se detendrá por completo volviendo a invocar zoneadm halt.

Para una zona que no se pueda detener, a partir de la versión Solaris 10 10/09, puede migrar una zona que no se haya separado utilizando la opción zoneadm attach - F para forzar la conexión sin validación. El sistema de destino debe estar configurado correctamente para alojar la zona. Una configuración incorrecta podría conllevar un comportamiento inesperado. Además, no existe ninguna manera de conocer el estado de los archivos en la zona.

Conjunto de privilegios incorrecto especificado en la configuración de zona

Si el conjunto de privilegios de la zona contiene un privilegio no permitido, no tiene un privilegio obligatorio o incluye un nombre de privilegio desconocido, cualquier intento de verificar, configurar como lista o iniciar la zona generará un mensaje de error como el siguiente:


zonecfg:zone5> set limitpriv="basic"
.
.
.
global# zoneadm -z zone5 boot
 	required privilege "sys_mount" is missing from the zone's privilege set
 	zoneadm: zone zone5 failed to verify

Advertencia de netmasks al iniciar la zona

Si aparece el siguiente mensaje al iniciar la zona de acuerdo con lo descrito en Cómo iniciar una zona:


# zoneadm -z my-zone boot
zoneadm: zone 'my-zone': WARNING: hme0:1: no matching subnet
	found in netmasks(4) for 192.168.0.1; using default of
	255.255.255.0.

Este mensaje sólo es una advertencia y el comando se lleva a cabo correctamente. El mensaje indica que el sistema no ha podido encontrar netmask para utilizar con la dirección IP especificada en la configuración de la zona.

Para que esta advertencia no se muestre en los próximos reinicios, asegúrese de que las bases de datos netmasks correctas se enumeren en el archivo /etc/nsswitch.conf de la zona global y que al menos una de las bases de datos contenga la subred y netmasks que se utilizarán para la zona my-zone.

Por ejemplo, si se utilizan el archivo /etc/inet/netmasks y la base de datos NIS local para resolver netmasks en la zona global, la entrada apropiada en /etc/nsswitch.conf será:

netmasks: files nis

Se pueden añadir la subred y la información de máscara de red correspondiente para my-zone a /etc/inet/netmasks para usos posteriores.

Si desea más información sobre el comando netmasks, consulte la página del comando man netmasks(4).

Resolución de problemas con una operación zoneadm attach

ProcedureParches y paquetes que no están sincronizados

El sistema de destino debe ejecutar las mismas versiones de los siguientes parches y paquetes necesarios del sistema operativo que las instaladas en el host original.

  1. Si los parches y paquetes del host original y el nuevo son diferentes, puede que aparezca una pantalla similar a la siguiente:


    host2# zoneadm -z my-zone attach
    	These packages installed on the source system are inconsistent with this system:
                SUNWgnome-libs (2.6.0,REV=101.0.3.2005.12.06.20.27) version mismatch
                        (2.6.0,REV=101.0.3.2005.12.19.21.22)
                SUNWudaplr (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                SUNWradpu320 (11.10.0,REV=2005.01.21.16.34) is not installed
                SUNWaudf (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                NCRos86r (11.10.0,REV=2005.01.17.23.31) is not installed
    	These packages installed on this system were not installed on the source system:
                SUNWukspfw (11.11,REV=2006.01.03.00.45) was not installed
                SUNWsmcmd (1.0,REV=2005.12.14.01.53) was not installed
    	These patches installed on the source system are inconsistent with this system:
                120081 is not installed
                118844 is not installed
                118344 is not installed
    	These patches installed on this system were not installed on the source system:
                118669 was not installed
                118668 was not installed
                116299 was not installed
  2. Para migrar la zona correctamente, utilice uno de los métodos siguientes:

ProcedureVersiones de sistemas operativos que no coinciden

Para migrar la zona correctamente, instale la misma versión de Solaris que la que se ejecuta en el host original en un sistema con la misma arquitectura.

  1. Verifique qué versión del sistema operativo Solaris ejecuta el sistema original.


    host1# uname -a
    
  2. Instale la misma versión en el nuevo host.

    Consulte la documentación de instalación de Solaris en docs.sun.com.

ProcedureLas arquitecturas de los equipos no coinciden

Para migrar la zona correctamente, utilice la opción -u para zoneadm attach.

  1. Verifique la arquitectura del sistema en ambos sistemas.


    host1# uname -a
    
  2. Si las arquitecturas son distintas, utilice la opción -u con zoneadm attach para realizar la conexión.


    host2# zoneadm -z my-zone attach -u
    

    Para obtener más información, consulte Cómo migrar una zona no global.

Las zonas con un recurso fs definidas con un tipo de lofs no se pueden actualizar a Solaris 10 11/06


Nota –

Este problema se ha solucionado en la versión 10 8/07 de Solaris.


Si todas las zonas no globales que se configuran con recursos lofs fs son directorios de montaje que existen en la minirraíz, el sistema se puede actualizar de una versión anterior a Solaris 10 a Solaris 10 11/06 mediante la actualización estándar. Por ejemplo, un directorio /opt montado en lofs no presenta problemas de actualización.

Sin embargo, si alguna de las zonas no globales se configura con un montaje en lofs no estándar, por ejemplo un directorio /usr/local, se muestra en pantalla el siguiente mensaje de error:


The zones upgrade failed and the system needs to be restored
from backup.  More details can be found in the file
/var/sadm/install_data/upgrade_log on the upgrade root file
system.

Si bien este mensaje de error indica que el sistema debe restaurarse a partir de la copia de seguridad, de hecho el sistema se encuentra bien y se puede actualizar perfectamente mediante esta solución:

  1. Reinicie el sistema con el sistema operativo instalado.

  2. Vuelva a configurar las zonas; para ello, elimine los recursos de fs definidos con un tipo de lofs.

  3. Una vez eliminados dichos recursos, actualice el sistema a Solaris 10 11/06.

  4. Tras la actualización, configure de nuevo las zonas para restaurar los recursos de fs adicionales que se habían eliminado.