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

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