proxmox_-_creation_de_templates_de_vm_kvm

Proxmox - Création de templates de VM KVM

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.

1 - Sur le serveur Proxmox : récupération de l'image Openstack Debian 12 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

Divers

La commande qm cloudinit dump <id> permet d'afficher et contrôler la configuration cloudinit d'une VM.

pour la partie network
qm cloudinit dump 9001 network
version: 1
config:
    - type: physical
      name: eth0
      mac_address: 'bc:24:11:dc:49:fd'
      subnets:
      - type: static
        address: '192.168.0.101'
        netmask: '255.255.255.0'
        gateway: '192.168.0.1'
    - type: nameserver
      address:
      - '192.168.0.1'
      search:
      - 'sio.lan'
pour la partie user
qm cloudinit dump 9001  user
#cloud-config
hostname: debxx
manage_etc_hosts: true
fqdn: ca
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDSEwbALJWAuKEFq7ZdtdkXScpTTfpmU188Fzmcy9APidkzVqV8OGMu5GMBOKfxHDj0tYaU8VlDk2q8Jb7H6u++rLj0v1rJ2EIApXqcnaQhVxkKzc1Ai1703vq/WM5Vo5RpqOuZn4iCGWYzSvDvMMWazDM0gKLLDxzOAj3eS3sl9kaAFM2ONT0/gHyVo1IKgt/vVJFEjJ0eQLRBvtV0Nh8tlMNNzjpf6FIFU17diWwGAuAjsL11agcMVk0JwLe/p3vuJmlS7JKxpeZSarpucr/dMY5FZBpfoZQmpAYpblL3BzCyu5knA6cSZjXklpJ3S8Mi9RG0jHv43gWR2FD9+QSjwgWCoRabOugNLC+zv4S8D0FX8/iS/vmr+TJNUxJYR0TfgLWdZ/rhFlaJndNS9cTk6ftJbh7EFq1Ew2Ne+EpidKqxP+9bBrE/qD+XpYj6erU/7NuXSB5stf1O0Hx+nWFbTMFZWG3HJXttOv2fa9vYESDnhfri4IOUKNwqgOCcE= phil@st004
chpasswd:
  expire: False
users:
  - default
package_upgrade: true
  • proxmox_-_creation_de_templates_de_vm_kvm.txt
  • Dernière modification : 2025/02/19 12:25
  • de ps