VM - Debian 12 KVM
Introducción
Este artículo describe el proceso de creación de una máquina virtual (VM) basada en Debian 12 ("Bookworm") en Proxmox utilizando una imagen preinstalada. Se incluyen detalles sobre la descarga de la imagen, configuración de la VM, instalación de software adicional y ajustes finales.
guia rapida cuando repites
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
qm importdisk <ID_VM> <nombre_imagen.qcow2> zfs0
apt install qemu-guest-agent -y
Descarga de la imagen
- Accede a la página de descargas de imágenes de Debian Cloud: https://www.debian.org/distrib/ -> https://cloud.debian.org/images/cloud/ (revisado26/3/2024)
- Selecciona la versión "Debian 12 (Bookworm)".
- En la sección "Tipo de imagen", elige "genericcloud". Esta imagen es compatible con QEMU y se adapta a entornos virtualizados como Proxmox.
- Descarga la imagen QEMU (.qcow2) que mejor se adapte a tu arquitectura (amd64, arm64, etc.).
azure: Optimized for the Microsoft Azure environment
ec2: Optimized for the Amazon EC2
generic: Should run in any environment using cloud-init, for e.g. OpenStack, DigitalOcean and also on bare metal.
genericcloud: Similar to generic. Should run in any virtualized environment. Is smaller than `generic` by excluding drivers for physical hardware.
nocloud: Mostly useful for testing the build process itself. Doesn't have cloud-init installed, but instead allows root login without a password.
Para proxmox nos conviene la
generic: Should run in any environment using cloud-init, for e.g. OpenStack, DigitalOcean and also on bare metal..https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 (enlace 26/3/2024)
Configuración de la VM
- Accede a la interfaz web de Proxmox y selecciona "Crear VM".
- Introduce un nombre para la VM y selecciona el nodo Proxmox donde deseas alojarla.
- En "Sistema operativo", selecciona "Linux" y "Debian 12".
- Asigna recursos de hardware a la VM, como CPU, memoria y cantidad de discos virtuales.
- En "Opciones de arranque", selecciona "UEFI" como tipo de firmware y configura el orden de arranque para que la imagen QEMU sea la primera opción.
- Revisa la configuración y haz clic en "Finalizar" para crear la VM.
VM inicial primer paso
agent: 1
bios: ovmf
boot: order=virtio9;net0
cores: 1
efidisk0: zfs0:vm-2024-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
hotplug: disk,network,memory,cpuide2: zfs0:vm-2024-cloudinit,media=cdrom
machine: q35
memory: 2048
meta: creation-qemu=7.2.0,ctime=
name: Plantilla-DEBIAN12
net0: virtio=8E:3D:4B::EE:DB,bridge=vmbr0,firewall=1
numa: 1
ostype: l26
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=475c5bb3-40ca52c6ecd
sockets: 1
virtio9: zfs0:vm-2024-disk-1,iothread=1,size=2G
vmgenid: 0eb8b247-f54cce1b3a
Sigue el asistente y al final, quitais el cdrom y agregais:Cloud-init, Serial Port. He dejado el disco 0 libre para incorporar nuestra imagen.
Importación de la imagen QEMU
- Descarga la imagen QEMU a tu servidor Proxmox.
- Inicia una sesión SSH en el servidor Proxmox.
- Importa la imagen QEMU a la VM utilizando el comando
qm importdisk.
qm importdisk <ID_VM> <nombre_imagen.qcow2> zfs0
En este momento agregamos la imagen qcow que nos hemos bajado
root@ns:~# qm importdisk 2024 debian-12-genericcloud-arm64.qcow2 zfs0
importing disk 'debian-12-genericcloud-arm64.qcow2' to VM 2024 ...
transferred 0.0 B of 2.0 GiB (0.00%)
transferred 20.5 MiB of 2.0 GiB (1.00%)
transferred 1.9 GiB of 2.0 GiB (96.13%)
transferred 1.9 GiB of 2.0 GiB (97.13%)
transferred 2.0 GiB of 2.0 GiB (98.13%)
transferred 2.0 GiB of 2.0 GiB (99.19%)
transferred 2.0 GiB of 2.0 GiB (100.00%)
transferred 2.0 GiB of 2.0 GiB (100.00%)
Successfully imported disk as 'unused0:zfs0:vm-2024-disk-2'
root@ns:~#
Después de esta maniobra el disco aparece como "unused", lo incorporamos y configuramos el boot, que arranque desde este disco, "Options->boot order")
En este punto deberías poder ver el arranque, yo os recomiendo la consola serial, mucho mas comoda que la directa VNC
Para el primer login debéis corregir la contraseña en "Cloud-init"
Para aplicar el cambio hay que reiniciar el VM,
Instalación de software adicional
- Instala el paquete
qemu-guest-agentpara mejorar la integración entre la VM y Proxmox.
apt install qemu-guest-agent -y
- Actualiza el sistema operativo y los paquetes instalados.
apt -y update; apt -y dist-upgrade
Si no hemos ampliado el disco dará error, te recomiendo subirle 8G, para dejarlo en 10Gb, no mucho mas, el espacio importante lo dejaremos en otros discos que mapearemos más tarde
Al tener cloud-init al arrancar hace cosas, como actualizar la red,cambios de password, aplicar certificados. Si aumentas el tamaño del disco, desde proxmox debes reiniciar para que en el arranque te reubique el espacio y lo encuentres en el sistema
Si ves la ip como en la imagen es que vamos bien. Sino revisar los pasos anteriores.
Pasos finales.
Agregamos discos adicionales.
- SWAP (lo excluírsenos del backup)
- /var/log (lo podemos excluir del backup)
- /var/lib/psa/dumps (si instalas plesk te lor ecomiendo)
- /var/lib/mysql (plesk - si llenan el disco no petara)
- /var/www (plesk - asi separas las web del correo)
agregamos los discos que nos hagan falta, mejor darles valores pequeños y luego ir creciendo cuando sea necesario, bajar el tamaño no es imposible, pero es arriesgado.
formatear SWAP y /var/log
Yo no hago particiones, solo las del root que suele ser complicado, en el resto, 1 disco es por sí mismo una partición, así me ahorro pasos cómo reconstruir la partición cuando hay jaleo.
root@Plantilla-DEBIAN12:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 4M 0 rom
vda 254:0 0 12G 0 disk
├─vda1 254:1 0 11.9G 0 part /
├─vda14 254:14 0 3M 0 part
└─vda15 254:15 0 124M 0 part /boot/efi
vde 254:64 0 1G 0 disk
vdf 254:80 0 2G 0 disk
root@Plantilla-DEBIAN12:~# mkswap /dev/vdf
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=170df83d-56db-4f98-8c45-4679198f21ca
root@Plantilla-DEBIAN12:~# mkfs.ext4 /dev/vde
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: f4c21d14-86f3-449d-b857-7bf76893cf58
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
Si durante el proceso perdeis los UUID de los discos puedes localizarlo con lsblk. Al final debería quedar algo parecido a esto.
# cat /etc/fstab
# /etc/fstab: static file system information
UUID=03d27ae1-9e98-4d21-bc19-e76bcc9aeca6 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
UUID=F5B8-B4DC /boot/efi vfat defaults 0 0
UUID=170df83d-56db-4f98-8c45-4679198f21ca none swap sw 0 0
# <file system> <dir> <type> <options> <dump> <pass>
UUID=f4c21d14-86f3-449d-b857-7bf76893cf58 /var/lib/psa/dumps ext4 defaults 1 2
UUID=9aa666b9-b283-43bb-a137-b6a3ea357b42 /var/log ext4 defaults 1 2
UUID=f0b6b8a2-dba1-46e3-b3e5-dfdefa2f0a25 /var/lib/mysql ext4 defaults 0 1
UUID=24158e6d-f227-46e3-9ddd-f5211063dc9e /var/www ext4 defaults 0 1
Ajustar uso de SWAP
Aplicar esto: https://es.wikipedia.org/wiki/Swappiness con valor 0
/etc/sysctl.conf
vm.swappiness = 0
FAQ:
¿qué hacer si aparece algo asi?
casi seguro que se debe a que habéis bajado la imagen "genericcloud', bajate la correcta y ajustalo todo.
¿Qué hacer si aparece un error al arrancar la VM?
- Asegúrate de que la imagen QEMU esté descargada correctamente y no esté corrupta.
- Verifica la configuración de la VM, especialmente el orden de arranque.
- Consulta la documentación de Proxmox para obtener información sobre errores específicos.
¿Puedo usar una imagen diferente a "genericcloud"?
Sí, puedes usar una imagen diferente, pero es posible que necesites realizar configuraciones adicionales para que funcione correctamente en Proxmox.




No Comments