Un script interactif pour créer des conteneurs LXC et des machines virtuelles en série sur Proxmox VE. Il détecte le réseau, propose les templates et les ISO disponibles, trouve un identifiant libre pour chaque machine et refuse toute valeur impossible avant de lancer la création.
« Créer dix conteneurs dans l'interface web, c'est dix fois les mêmes écrans et les mêmes erreurs possibles. »
En cours, on monte régulièrement des maquettes réseau sur Proxmox : plusieurs conteneurs ou VM à configurer d'affilée. L'interface web est lente pour ça, et rien n'empêche de donner une IP déjà prise ou plus de RAM que le serveur n'en a.
Le script enchaîne les créations depuis le terminal avec pct et qm, et vérifie chaque réponse avant de toucher au serveur.
02Comment ça marche
Sous le capot.
Le script regarde ce qui est possible sur le serveur avant de proposer quoi que ce soit.
1
Un menu simple
Créer des conteneurs, créer des VM, lister les templates, lister les ISO, ou quitter.
2
Il regarde la machine
Passerelle et broadcast lus sur vmbr0, RAM libre (avec 512 Mo de marge) et espace disque du stockage choisi.
3
Il valide chaque réponse
Nom, stockage, RAM, disque, IP : chaque valeur est vérifiée, et la question revient tant qu'elle n'est pas valide.
4
Il crée en série
Un identifiant libre est trouvé à partir de 100, puis pct create ou qm create lance la machine. On recommence pour la suivante.
✦À toi de jouer
Lance le script
Une simulation qui reprend le menu et les contrôles du vrai script. Tape tes réponses et appuie sur Entrée : essaie de donner l'IP de la passerelle, pour voir.
!Les défis
Ce qui a résisté.
Des identifiants qui ne se marchent pas dessus
ProblèmeDeux machines ne peuvent pas avoir le même identifiant, et conteneurs et VM partagent la même numérotation.
SolutionUne fonction part de 100 et avance tant que l'ID est pris par un conteneur (pct status) ou une VM (qm status).
Ne pas demander l'impossible
ProblèmeOn peut réclamer plus de RAM ou de disque que le serveur n'en a.
SolutionLe script lit la RAM libre (moins 512 Mo de marge) et l'espace du stockage choisi, et refuse toute valeur au-delà.
Des IP qui ne cassent pas le réseau
ProblèmeUne faute de frappe sur une IP peut couper la passerelle de tout le réseau.
SolutionChaque IP est contrôlée : bon format, octets ≤ 255, ni la passerelle, ni le broadcast, ni une adresse en .0.
⏱Journal de bord
Comment c'est arrivé.
V1
Création de conteneurs en série.
V2 & V3
Machines virtuelles, templates et ISO.
V3.5.x
Réseau détecté automatiquement et choix du stockage.
V7
Version finale avec vérification des ressources et des IP.
→Et ensuite
La suite du projet.
Lire un fichier de configuration pour monter une maquette complète sans questions.
Supprimer en une commande les machines d'une maquette terminée.
Astuce : les flèches ←→ de ton clavier passent d'un projet à l'autre.