Administrar contenedores OpenVZ

En el artículo anterior definimos lo que eran los Linux Container y OpenVZ. De éste último vimos cómo instalarlo sobre un sistema CentOS 6.6, y la importación y configuración de los contenedores. Hoy ampliaremos conocimientos, hablaremos sobre la administración de contenedores OpenVZ.

Si queréis consultar el artículo anteriores lo podéis hacer desde aquí.

openvz-logo-200

Administración de contenedores OpenVZ

En el capítulo anterior creamos un contenedor usando una plantilla de un sistema Debian 8 Jessie

Recordemos que para ver los contenedores en nuestro sistema utilizaremos el comando vzlist

OpenVZ-vzlist

Tal y como vemos en la imagen anterior, el comando lista los contenedores que están funcionando, si queremos también mostrar los que están apagados añadiremos el parámetro -a, es decir, “vzlist -a

Otro comando importante, quizás el más importante es “vzctl”, que nos permitirá realizar tareas importantes.

Vemos algunos ejemplos:

  • vzctl start, para encender el contenedor.
  • vzctl stop, para apagar el contenedor.
  • vzctl restart, para reiniciarlo
  • vzctl suspend, para dejarlo en estado suspendido
  • vzctl mount, monta el contenedor
  • vzctl umount, desmonta el contedor
  • vzctl destroy, para eliminar el contenedores

Otra ventaja de OpenVZ es uso de cuotas, podemos añadir cuotas para el sistema de ficheros o el número de inos disponibles.

Para activar las cuota usaremos el siguiente comando vzctl quotaon 101

Para desactivar las cuota usaremos el comando vzctl quotaoff 101

Un ejemplo de uso, asignando cuota de disco:

vzctl set 101 –diskspace 2000000:2000000 –save

Otra función importante de vzctl, es el parámetro set, que nos permitirá modificar la configuración de los contenedores.

Veamos varios ejemplos:

  • –onboot , éste parámetro ya lo vimos en el capítulo anterior, indicamos si queremos que el contenedor se encienda al iniciar el servidor OpenVZ
    Ejemplo: vzctl set 101 –onboot
  • –bootorder, indicamos la prioridad del contenedor en el arranque. Cuanto mayor sea el valor más prioridad tendrá respecto al resto de contenedores.
    Ejemplo: vzctl set 101 –bootorder 8 –save
  • –userpasswd, éste parámetro también lo tratamos en el capítulo anterior. Nos permitirá definir la contraseña de usuario del contenedor.
    Ejemplo: vzctl set 101 –userpasswd admin:nuestra-contraseña
  • -name, tal y como se duduce es para asignar un nombre al contenedor:
    Ejemplo: vzctl set 101 –name Debian8 –save
  • –description, al igual que con el parámetro anterior, añadiremos otro rasgos descriptivo al contenedor.
    Ejemplo: vzctl set 101 –description “Contenedor con SO Debian 8” –save
  • –ipadd, añade una dirección IP estática al contenedor.
    Ejemplo: vzctl set 101 –ipadd 192.168.3.180 –save
  • –ipdel, la antítesis del parámetro anterior. Ahora podremos eliminar la asignación de la IP estática.
    Ejemplo: vzctl set 101 –ipdel 192.168.3.180 –save
  • –hostname, añadimos un nombre de hostname al contenedor.
    Ejemplo: vzctl set 101 –hostname Debian8.localdomain.com –save
  • –disable, con éste parámetro indicamos que no queremos que se inicie el contenedor en el arranque
    Ejemplo: vzctl set 101 –disable
  • –ram, indicamos la memoria ram que queremos que tenga el contenedor.
    Ejemplo: vzctl set 101 –ram 3G –save
  • –swap, marcamos la memoria swap que queremos que use el contenedor.
    Ejemplo: vzctl set 101 –swap 1G –save

Otros comandos importantes

Para el uso de la CPU

El comando vzcpucheck

Este comando nos muestra información sobre el uso de la CPU

También podemos indicar las unidades de CPU y el límite de núcleos de CPU

Un ejemplo: vzctl set 101 –cpuunits 1500 –cpulimit 2 –save

En la imagen podemos ver un ejemplo de lo explicado:

OpenVZ-vzcpucheck

En vez de indicar el núcleo máximo que puede usar, le podemos fijar un número de núcleos “fijo”

Ejemplo: vzctl set 101 –cpus 2 –save

Por último el comando vzmemcheck, que nos mostrará el uso de la memoria por parte de los contenedores en el sistema.

OpenVZ-vzmemcheck

Si le añadimos el parámetro -v veremos por separado el uso de memoria de cada container.

OpenVZ-vzmemcheck-v

En el próximo artículo hablaremos del panel Web de OpenVZ, que nos permitirá gestionar los contenedores, tanto su configuración y estado, de manera gráfica.

Siguiente capítulo: Trabajando con el Web Panel de OpenVZ