Un contenedor lxc funcionará en un host que tiene instalado proxmox, pero si queremos poder administrarlo cómodamente desde el interfaz de proxmox, tendremos que prepararlo para que lo entienda proxmox.
Inicialmente había probado de mover directamente los ficheros a los directorios correctos, pero de momento no veo como hacer que proxmox entienda un rootfs sin formato .raw, una de las cosas que no me gustó al ver trabajar a proxmox con lxc, con vz podías acceder desde el host directamente a los ficheros del contenedor :(
Lo primero será localizar el directorio rootfs de nuestra maquina lxc y comprimirlo en formato .tar.gz
root@blackhold:~# cd /root/silentwatcher/rootfs/ root@blackhold:~/silentwatcher/rootfs# tar cvzf /var/lib/vz/template/cache/correu.tar.gz ./
Ahora vamos a crear el contenedor con el comando pct, en esta maquina le vamos a añadir 2 interfaces y en la eth0 va a estar la ip de guifi y en la eth1 la ipv6.
root@blackhold:/etc/pve/lxc# pct create 102 /var/lib/vz/template/cache/correu.tar.gz -description Blackhold-correu -hostname Blackhold-correu -memory 1024 -nameserver 8.8.8.8 -net0 name=eth0,hwaddr=6E:70:C3:3A:D3:E6,bridge=vmbr0,ip=10.90.231.12/24,gw=10.90.231.1 -net1 name=eth1,hwaddr=CA:BD:FB:91:2F:A9,bridge=vmbr1,ip6=2a00:1508:6001::6a/64,gw6=2a00:1508:6001::1 -storage local -password lalalalala Formatting '/var/lib/vz/images/102/vm-102-disk-1.raw', fmt=raw size=4294967296 mke2fs 1.42.12 (29-Aug-2014) Discarding device blocks: done Creating filesystem with 1048576 4k blocks and 262144 inodes Filesystem UUID: 7231018e-23bf-45c0-87b8-276c4a0468b0 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Multiple mount protection is enabled with update interval 5 seconds. Writing superblocks and filesystem accounting information: done extracting archive '/var/lib/vz/template/cache/correu.tar.gz' Total bytes read: 3686256640 (3.5GiB, 41MiB/s) Detected container architecture: amd64 Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ... Creating SSH host key 'ssh_host_rsa_key' - this may take some time ... Creating SSH host key 'ssh_host_dsa_key' - this may take some time ... Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ... Creating SSH host key 'ssh_host_key' - this may take some time ...
/!\ ACTUALIZACIÓN /!\
Si queremos que no se cree el contenedor dentro de un fichero .raw, le diremos al crearlo que el tamaño del disco sea 0, por el interfaz web no podremos, así que sólo nos queda hacerlo por terminal (opción -rootfs local:0):
root@blackhold:~# pct create 102 /var/lib/vz/template/cache/correu.tar.gz -description Blackhold-correu -hostname Blackhold-correu -memory 1024 -nameserver 8.8.8.8 -net0 name=eth0,hwaddr=6E:70:C3:3A:D3:E6,bridge=vmbr0,ip=10.90.231.12/24,gw=10.90.231.1 -net1 name=eth1,hwaddr=CA:BD:FB:91:2F:A9,bridge=vmbr1,ip6=2a00:1508:6001::6a/64,gw6=2a00:1508:6001::1 -storage local -rootfs local:0 -password lalalalala extracting archive '/var/lib/vz/template/cache/correu.tar.gz' Total bytes read: 3686256640 (3.5GiB, 63MiB/s) Detected container architecture: amd64 Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ... Creating SSH host key 'ssh_host_key' - this may take some time ... Creating SSH host key 'ssh_host_rsa_key' - this may take some time ... Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ... Creating SSH host key 'ssh_host_dsa_key' - this may take some time ...
Atención, con este sistema, el contenedor no tiene cuotas de disco, así que el límite va a ser el espacio disponible en la partición donde tengamos los ficheros del contenedor.
Para poder acceder a los ficheros del contenedor, desde el host tendremos que hacer esto:
root@blackhold:~# mount -t auto /dev/loop1 /mnt/102
Nota: tengo 2 contenedores activos de un total de 3, que los loops se corresponderán al orden de inicio del contenedor virtual.
Cada uno de los /dev/loopX serán las particiones ext4 de cada uno de nuestros contenedores :) ¡duda resuelta!
La putada usando el .raw pero es que para redimensionar el disco tienes que parar la maquina, esto si, no necesitas ejecutar dentro del contenedor un resizefs como ocurre en vmware.
mount -o loop /your/image.raw /your/mount/point/
https://forum.proxmox.com/threads/proxmox-4-lxc-chroot-instead-of-raw-images.22881/