Proxmox - Création de templates de VM KVM
Objectif : créer des templates de VM pour Proxmox
L'objectif est de constituer des templates de VM de manière à pouvoir créer rapidement de nouvelles machines virtuelles en ligne de commande ou par l'interface web Proxmox
Ces templates utiliseront l'outil cloud-init (https://pve.proxmox.com/wiki/Cloud-Init_Support et https://pve.proxmox.com/wiki/Cloud-Init_FAQ) pour mettre en place le paramétrage de base.
Préparation
1 - Sur le serveur Proxmox : récupération de l'image Openstack Debian 11 au format qcow2
cd /var/lib/vz/template/iso/ wget --no-check-certificate https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2
2 - Création de la VM 9000 à partir de l'image téléchargée
qm create 9000 --memory 1024 --net0 virtio,bridge=vmbr0 qm importdisk 9000 /var/lib/vz/template/iso/debian-12-genericcloud-amd64.qcow2 local-lvm
3 - Suite du paramétrage de la VM 9000
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0 # on associe le disque scsi0 au LV vm-9000-disk-0 qm set 9000 --boot c --bootdisk scsi0 # on définit le disque scsi0 comme disque de démarrage qm set 9000 --ide2 local-lvm:cloudinit # on joint le volume CDROM cloudinit utilisé pour le démarrage qm set 9000 --serial0 socket --vga serial0 # on définit une console série qu'on utilise comme affichage qm template 9000 # on définit la VM 9000 comme template
4 - Clonage d'une machine
On clone la machine 9001 à partir de la machine 9000, on la nomme debxx
On lui associe ensuite une clé publique SSH ainsi qu'une adresse IP/passerelle qui seront pris en charge par le module cloud-init
qm clone 9000 9001 --name debxx qm set 9001 --sshkeys ~/.ssh/id_rsa.pub qm set 9001 --ipconfig0 ip=192.168.0.101/24,gw=192.168.0.1
Note: Le clonage peut également s'effectuer par l'interface web dans laquelle on peut modifier les paramètres cloud-init
5 - Agrandissement du disque
On ajoute 8 Go au disque scsi0 de 2 Go :
qm resize 9001 scsi0 8G
6 - Lancement de la machine clonée
Elle peut se lancer au moyen de l'interface web ou bien en ligne de commande :
qm start 9001 qm list VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID 9001 debxx running 1024 8.00 2886
L'accès s'effectue uniquement par clé publique avec comme utilisateur le nom de la distribution : debian, ubuntu, à moins de le spécifier dans les paramètres cloud-init
ssh debian@192.168.0.101
L'utilisation de sudo est requise pour les droits d'administration