VM - Debian 12 KVM
Para crear un VM basado en debian, podemos bajarnos una plantilla preinstalada base que hay en debian
enlace pagina descargas: https://www.debian.org/distrib/ -> https://cloud.debian.org/images/cloud/ (revisado26/3/2024)
nos copiamos el enlace que nos conviene, ojo que hay una no-cloud, la que dice QEMU, la mas conveniente para entorno PROXMOX, aun siendo qemu, es la que dice openstack:
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 anyvirtualisedvirtualized 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.
genericcloud: Similar to generic. Should run in any virtualisedvirtualized environment. Is smaller than `generic` by excluding drivers for physical hardware.
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-arm64.qcow2 (enlace 26/3/2024)
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
Seguis el asistente y al final, quitais el cdrom y agregais:Cloud-init, Serial Port. He dejado el disco 0 libre para incorporar nuestra imagen.
En este momento agregamos la imagen qcow que nos hemos bajado
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,
apt install qemu-guest-agent -y
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:
¿quequé hacer si aparece algo asi?
casi seguro que se debe a que habéis bajado la imagen "genericcloud', bajate la correcta y ajustalo todo.



