Skip to main content

Gestión de un contenedor LXC

En Proxmox, cada contenedor LXC tiene dos archivos de configuración. Uno define la asignación de recursos sin procesar, mientras que el otro, utilizado por Proxmox, se usa para definir un contenedor. El archivo de configuración del contenedor Proxmox se puede encontrar en la siguiente ubicación:

/etc/pve/local/lxc/<container_id>.conf

Por ejemplo supongamos un LXC on id 900

El archivo

/etc/pve/local/lxc/900.conf contiene:

arch: amd64
cores: 4
features: nesting=1
hostname: test
memory: 4096
nameserver: 1.1.1.1 9.9.9.9
net0: name=eth0,bridge=vmbr0,hwaddr=CA:A7:6E:28:7B:93,ip=dhcp,tag=18,type=veth
ostype: debian
rootfs: local-lvm:vm-900-disk-0,size=8G
searchdomain: ateinco.net
swap: 0
unprivileged: 1

El archivo de configuración del contenedor sin procesar se puede encontrar en la siguiente ubicación:

/var/lib/lxc/<container_id>/config

En nuestro caso en /var/lib/lxc/900/config contiene:

arch: amd64
cores: 4
features: nesting=1
hostname: test
memory: 4096
nameserver: 1.1.1.1 9.9.9.9
net0: name=eth0,bridge=vmbr0,hwaddr=CA:A7:6E:28:7B:93,ip=dhcp,tag=18,type=veth
ostype: debian
rootfs: local-lvm:vm-900-disk-0,size=8G
searchdomain: ateinco.net
swap: 0
unprivileged: 1
root@hv201:/etc/pve/local/lxc# pwd
/etc/pve/local/lxc
root@hv201:/etc/pve/local/lxc# cd /var/lib/lxc/
root@hv201:/var/lib/lxc# cd 900
root@hv201:/var/lib/lxc/900# cat config
lxc.cgroup.relative = 0
lxc.cgroup.dir.monitor = lxc.monitor/900
lxc.cgroup.dir.container = lxc/900
lxc.cgroup.dir.container.inner = ns
lxc.arch = amd64
lxc.include = /usr/share/lxc/config/debian.common.conf
lxc.include = /usr/share/lxc/config/debian.userns.conf
lxc.seccomp.profile = /var/lib/lxc/900/rules.seccomp
lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1
lxc.mount.auto = sys:mixed
lxc.monitor.unshare = 1
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536
lxc.tty.max = 2
lxc.environment = TERM=linux
lxc.uts.name = test
lxc.cgroup2.memory.max = 4294967296
lxc.cgroup2.memory.swap.max = 0
lxc.rootfs.path = /var/lib/lxc/900/rootfs
lxc.net.0.type = veth
lxc.net.0.veth.pair = veth900i0
lxc.net.0.hwaddr = CA:A7:6E:28:7B:93
lxc.net.0.name = eth0
lxc.net.0.script.up = /usr/share/lxc/lxcnetaddbr
lxc.cgroup2.cpuset.cpus = 11,14,17,21

Hay otro directorio para el sistema de archivos raíz que es un punto de montaje para el espacio de almacenamiento asignado dentro del contenedor. La ubicación del directorio es

/var/lib/lxc/<container_id>/rootfs/

Veamos pues que archivos y carpetas contiene nuestro contenedor:

root@hv201:/var/lib/lxc/900# ls -la
total 24
drwxr-xr-x  4 root root 4096 Mar 17 19:36 .
drwxr-xr-x 12 root root 4096 May 11 11:31 ..
drwxr-xr-x  2 root root 4096 Jan  6 12:43 apparmor
-rw-r--r--  1 root root  864 Mar 17 19:36 config
drwxr-xr-x  2 root root 4096 Dec 15 12:09 rootfs
-rw-r--r--  1 root root  265 Mar 17 19:36 rules.seccomp

Vemos que la carpeta rootfs está vacía.

root@hv201:/var/lib/lxc/900/rootfs# ls -la
total 8
drwxr-xr-x 2 root root 4096 Dec 15 12:09 .
drwxr-xr-x 4 root root 4096 Mar 17 19:36 ..

En Proxmox, este directorio no se utiliza para almacenar datos de contenedores. Para el almacenamiento local, se crea la imagen del disco virtual del contenedor en la carpeta:

/var/lib/vz/images/<container_id>/

Para el almacenamiento compartido, la imagen del disco virtual del contenedor se crea en:

/mnt/pve/<storage>/images/container_id/

Podemos ajustar los recursos asignados para un contenedor en tiempo real sin apagar y encender el contenedor. Esta característica se conoce como hotplug para máquinas virtuales KVM. Sin embargo, para los contenedores LXC, esta característica está integrada en la tecnología del contenedor sin necesidad de ninguna modificación de configuración adicional.

La RAM y la CPU se pueden modificar como hemos comentado sin apagar el contenedor, pero para el disco solo podemos aumentar el tamaño del almacenamiento asignado, pero no podemos disminuirlo. Podemos escribir un valor en GB o usar las flechas arriba y abajo para ajustar el tamaño. Es importante señalar aquí que el valor que seleccionaremos aquí no es el tamaño total del espacio asignado. Este valor se suma al espacio ya asignado. Por ejemplo, en nuestro contenedor de ejemplo #900, el espacio asignado actualmente es de 8 GB. Entonces, si queremos aumentar eso a un tamaño total de 10 GB, escribiremos 2 en el cuadro de diálogo, lo que aumentará el tamaño en 2 GB. Haz clic en el botón Cambiar tamaño de disco en el cuadro de diálogo para modificarlo.

Cambiar_disco_LXC.png