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

Capítulo 33 Configuración de las zonas con marca lx (tareas)

En este capítulo se describe cómo configurar una zona con marca lx en los sistemas basados en x64 o x86. El proceso es básicamente el mismo que el procedimiento que se sigue para configurar una zona de Solaris. Para configurar una zona con marca, no es necesario configurar algunas de las propiedades.

Planificación y configuración de zonas con marca lx (mapa de tareas)

Antes de poder 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 lx.

Tarea 

Descripción 

Para obtener instrucciones 

Planificar la estrategia de zona. 

  • Determine qué aplicaciones desea ejecutar en las zonas.

  • Evalúe la disponibilidad de espacio en el disco para contener los archivos 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.

  • Si utiliza agrupaciones de recursos, configure las agrupaciones si es preciso.

Consulte Requisitos de espacio y sistema y Agrupaciones de recursos utilizadas en zonas.

Determinar el nombre y la ruta de la zona. 

Establezca el nombre de la zona basándose en las convenciones de asignación de nombres. Se recomienda una ruta en Zetabyte File System (ZFS). 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.

Consulte Tipos de propiedades y recursos y Guía de administración de Oracle Solaris ZFS.

Obtener o configurar 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. 

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

Determinar si desea montar los sistemas de archivos 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 Tipos de propiedades y recursos y Privilegios en una zona no global.

Configurar la zona. 

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

Consulte Cómo configurar, verificar y confirmar la zona con marca lx.

Verificar y confirmar la zona configurada. 

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

Consulte Cómo configurar, verificar y confirmar la zona con marca lx.

Cómo configurar la zona con marca lx

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


Consejo –

Si sabe que va a utilizar CD o DVD para instalar aplicaciones en una zona con marca lx, utilice add fs para añadir un acceso de sólo lectura al medio 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.


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 con marca lx 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 mostrar la configuración de una zona con marca.


Consejo –

Una vez configurada la zona con marca, se recomienda realizar una copia de la configuración de la zona. 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 lx-zone en un archivo. En este ejemplo se utiliza un archivo denominado lx-zone.config.


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

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


ProcedureCómo configurar, verificar y confirmar la zona con marca lx

Tenga en cuenta que no puede utilizar las zonas con marca lx en un sistema Solaris de confianza que tenga etiquetas activas. El comando zoneadm no verificará la configuració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. Configure una zona con el nombre que ha elegido.

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


    global# zonecfg -z lx-zone
    

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


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


    zonecfg:lx-zone> create -t SUNWlx
    

    También puede crear una zona vacía y configurar la marca de forma explícita:


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  4. Defina la ruta de zona (/export/home/lx-zone en este procedimiento).


    zonecfg:lx-zone> set zonepath=/export/home/lx-zone
    
  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:lx-zone> set autoboot=true
    
  6. Defina los argumentos de inicio persistentes para una zona.


    zonecfg:lx-zone> set bootargs="-i=altinit"
    
  7. Si hay agrupaciones de recursos activas en el sistema, asocie la agrupación con la zona.

    Este ejemplo utiliza la agrupación predeterminada, pool_default.


    zonecfg:lx-zone> set pool=pool_default
    

    Dado que una agrupación de recursos puede tener una asignación de clase de planificación opcional, puede utilizar la función de agrupaciones para configurar un planificador predeterminado que no sea el del sistema para una zona no global. Para ver instrucciones, consulte Cómo asociar una agrupación con una clase de planificación y Creación de la configuración.

  8. Revise el conjunto de privilegios predeterminado.


    zonecfg:lx-zone> set limitpriv="default,proc_priocntl"
    

    El privilegio proc_priocntl se utiliza para ejecutar procesos en la clase en tiempo real.

  9. Defina cinco recursos compartidos de CPU.


    zonecfg:lx-zone> set cpu-shares=5
    
  10. Añada un límite de memoria.


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


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


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


      zonecfg:lx-zone:capped-memory> set locked=30m
      
    4. Finalice la especificación.


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


    zonecfg:lx-zone> add fs
    
    1. Defina el punto de montaje para el sistema de archivos (/export/linux/local en este procedimiento).


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


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

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

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


      zonecfg:lx-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:lx-zone:fs> end
      

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

  12. Añada una interfaz de red virtual.


    zonecfg:lx-zone> add net
    
    1. Defina la dirección IP con el formato dirección IP de zona/máscara_red. En este procedimiento, se utiliza 10.6.10.233/24.


      zonecfg:lx-zone:net> set address=10.6.10.233/24
      
    2. Defina el tipo de dispositivo físico para la interfaz de red (el dispositivo bge en este procedimiento).


      zonecfg:lx-zone:net> set physical=bge0
      
    3. Finalice la especificación.


      zonecfg:lx-zone:net> end
      

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

  13. Active el dispositivo de audio de la zona global en esta zona utilizando el tipo de recurso attr.


    zonecfg:lx-zone> add attr
    
    1. Defina el nombre como audio.


      zonecfg:lx-zone:attr> set name=audio
      
    2. Defina el tipo como boolean.


      zonecfg:lx-zone:attr> set type=boolean
      
    3. Defina el valor como true.


      zonecfg:lx-zone:attr> set value=true
      
    4. Finalice la especificación del tipo de recurso attr.


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


    zonecfg:lx-zone> verify
    
  15. Confirme la configuración de zona para la zona.


    zonecfg:lx-zone> commit
    
  16. Cierre el comando zonecfg.


    zonecfg:lx-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 lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone"

Dónde proseguir

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

Secuencia para configurar varias zonas con marca lx

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" || -z "$4" ]]; then
    echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir> <template zone>"
    exit 2
fi
if [[ ! -d $3 ]]; then
    echo "$3 is not a directory"
    exit 1
fi
state=`zoneadm -z $4 list -p 2>/dev/null | cut -f 3 -d ":"`
if [[ -z "$state" || $state != "installed" ]]; then
    echo "$4 must be an installed, halted zone"
    exit 1
fi

template_zone=$4

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 clone $template_zone > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create -t SUNWlx" > $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 -s -d /path/to/ISOs > /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
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 mostrar la configuración de una zona con marca

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
    

Cómo modificar, restablecer o eliminar configuraciones de zonas

Las secciones siguientes contienen procedimientos para modificar, restablecer o eliminar una configuración de zona.