Ver todos los artículos

Comandos para configurar zonas en Solaris

Desde el lanzamiento de la versión del sistema operativo Solaris 10 del año 2005, se pueden realizar virtualizaciones a través de software, esta funcionalidad se llama Solaris Zones (Zonas de Solaris).

Bueno, pero ¿Qué es una zona? La idea es crear a través de las zonas, un servidor aislado con una cantidad limitada de recursos de CPU, Memoria y Almacenamiento. Este servidor sería una instancia del servidor principal (que se denomina GLOBAL aquí se encuentra el sistema operativo instalado). Cada servidor virtualizado (zona) se ejecuta sobre la misma versión del kernel, pudiendo usar todos los recursos asignados hasta el límite de esa zona en el momento que está fue configurada.

Cada zona puede ejecutar diferentes aplicaciones, también una zona tiene su propio nombre, cantidad de memoria, procesadores, acceso a una interface de red sea física o virtual y su almacenamiento. Por seguridad, una zona no puede tener acceso a ningún proceso de otra zona.

El estado de una zona puede ser: configured, installed, incomplete, ready, running.

No obstante, ¿Cuál es la justificación para usar zonas? Las zonas son idóneas para entornos computacionales que consolidan varias aplicaciones en un único servidor y se necesitan tener un nivel de aislamiento entre las zonas.

Una consideración muy importante cuando trabajamos con infraestructura, es tener un plan de capacidad (capacity planning) para establecer nuestras necesidades de recursos computacionales y el uso que le vamos a dar a cada zona en nuestra empresa, siempre … siempre ... siempre debemos documentar en detalle la distribución/asignación de los recursos.

Aquí listo algunas de las tareas recomendadas por Oracle Corporation a la hora de crear las zonas:

  • Identificar las aplicaciones que desea ejecutar en las zonas.
  • Determinar cuántas zonas vamos a configurar.
  • Determinar si la zona utilizará agrupaciones de recursos o CPU asignadas para particionar los recursos del equipo.
  • Llevar a cabo tareas de pre-configuración.
  • Desarrollar configuraciones.
  • Como administrador global o un usuario con las autorizaciones adecuadas, verificar e instalar las zonas configuradas.
  • Como administrador global o un usuario con las autorizaciones adecuadas, iniciar las zonas no globales.
  • Preparar la zona nueva para uso de producción.

Entonces, en este pequeño artículo se encuentran los comandos más comunes de uso de Zonas en Solaris, esta es una guía resumida. Para una referencia completa usar la documentación de las zonas del sistema operativo Solaris.


Activar el servicio de zonas

Para poder utilizar las zonas, ejecutamos:

global#svcadm enable zones

Listar las zonas

Para obtener un listado de todas las zonas se usa el siguiente comando. En el resultado, la columna ID es la identificación de la zona (debemos considerar que GLOBAL siempre es 0). La columna STATUS indica el estado de la zona. La columna PATH es el directorio donde se encuentra el almacenamiento de los archivos de la zona correspondiente.

global#zoneadm list -icv

Verificar el almacenamiento disponible de una zona

Al ejecutar el comando a continuación desde la zona global, se puede obtener la cantidad de espacio que tiene asignado la zona (gigabytes), cuanto espacio esta siendo usado (gigabytes), cuanto espacio aún hay disponible (gigabytes) y el porcentaje de uso. Usamos el directorio del contenido de la columna PATH de la zona en la cual que estamos interesados en saber su almacenamiento. Donde nombre_directorio_zona es el directorio que asignamos a la zona en el parámetro zonepath.

global#df -kh nombre_directorio_zona

Crear una zona

Para crear una zona debemos considerar que el nombre empieza con un carácter alfanumérico; la longitud máxima es 64 caracteres; el nombre acepta alfanuméricos, subrayado, guiones y puntos; esta reservado el nombre global y no puede iniciar por SUNW; el nombre de la zona debe ser único y no existir previamente.

Entonces, para crear una zona seguimos los siguientes pasos:

  • Creamos el directorio donde va a queda el almacenamiento en la zona global.
  • Escoger el nombre de la zona, vamos a poner para este artículo mi-zona.
  • Creamos la zona con el nombre escogido (mi-zona).
  • Configuramos el directorio donde estará el almacenamiento /export/zonas/mi-zona.
  • Configuramos la interface de red.
  • Asignamos CPU dedicado.
  • Asignamos memoria.

A continuación, usando los siguientes comandos creamos la zona:

global#mkdir –p /export/zonas/mi-zona global#chmod 700 /export/zonas global#zonecfg -z mi-zona zonecfg:mi-zona> create zonecfg:mi-zona> set zonepath=/export/zonas/mi-zona zonecfg:mi-zona> set autoboot=false zonecfg:mi-zona> add net zonecfg:mi-zona:net> set address=10.1.1.10 zonecfg:mi-zona:net> set defrouter=10.1.1.1 zonecfg:mi-zona:net> set physical=hme0 zonecfg:mi-zona:net> end zonecfg:mi-zona> add dedicated-cpu zonecfg:mi-zona:dedicated-cpu> set ncpus=1-3 zonecfg:mi-zona:dedicated-cpu> set importance=2 zonecfg:mi-zona:dedicated-cpu> end zonecfg:mi-zona> add capped-memory zonecfg:mi-zona:capped-memory> set physical=500m zonecfg:mi-zona:capped-memory> set swap=100m zonecfg:mi-zona:capped-memory> set locked=50m zonecfg:mi-zona:capped-memory> end zonecfg:mi-zona> verify zonecfg:mi-zona> commit zonecfg:mi-zona> exit global#zoneadm -z mi-zona install global#zoneadm -z mi-zona boot 

Conectarse a una zona

Para conectarnos a una zona utilizamos el comando:

#zlogin mi-zona

Para arrancar una zona

Para arrancar una zona usamos el comando:

#zoneadm –z mi-zona boot

Para detener una zona

Para parar una zona usamos el comando:

#zoneadm –z mi-zona halt

Para reiniciar una zona

Para reiniciar una zona usamos el comando:

#zoneadm –z mi-zona reboot

Desinstalar una zona

Cuando se desinstala una zona pasa a STATUS configured.

#zoneadm -z mi-zona uninstall -F

Eliminar una zona

Eliminamos la zona con el comando:

#zonecfg -z mi-zona delete -F

Mostrar el nombre de la zona

Este comando imprime en la consola el nombre de la zona donde estamos actualmente:

#zonename