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

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