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í.
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
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:
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.
Si le añadimos el parámetro -v veremos por separado el uso de memoria de cada container.
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