6.8 KiB
🐳 Gestionnaire LXC Proxmox VE
📋 Description
Script bash interactif pour la gestion complète des conteneurs LXC sur Proxmox VE. Cette interface en ligne de commande offre une alternative conviviale aux commandes natives pct avec des fonctionnalités de sécurité avancées.
✨ Fonctionnalités
- ✅ Gestion complète des conteneurs : création, démarrage, arrêt, redémarrage, suppression
- 🔒 Système de protection : double confirmation pour les opérations critiques
- 💾 Gestion des sauvegardes : sauvegarde, restauration, suppression
- 🐑 Clonage de conteneurs : avec options de snapshot
- ⚙️ Configuration avancée : nesting, FUSE, NFS, CIFS
- 📊 Visualisation : affichage coloré des informations
- 🔧 Modification en temps réel : options de conteneurs sans redémarrage
- 🛡️ Validation stricte : vérification des entrées utilisateur
🚀 Installation
- Copiez le script sur votre serveur Proxmox VE :
curl -o /usr/local/bin/lxc-manager.sh https://raw.githubusercontent.com/votre-repo/lxc-manager/main/script.sh
chmod +x /usr/local/bin/lxc-manager.sh
- Créez un alias pour une utilisation facile :
echo 'alias lxc-manager="/usr/local/bin/lxc-manager.sh"' >> ~/.bashrc
source ~/.bashrc
📖 Utilisation
Lancement
sudo lxc-manager.sh
Ou via l'alias (si configuré) :
sudo lxc-manager
Menu Principal
Le script présente un menu interactif avec les options suivantes :
| Option | Description | Commande équivalente |
|---|---|---|
| 1 | Lister les conteneurs | pct list |
| 2 | Créer un conteneur | pct create |
| 3 | Démarrer un conteneur | pct start |
| 4 | Arrêter un conteneur | pct stop / pct shutdown |
| 5 | Redémarrer un conteneur | pct reboot |
| 6 | Supprimer un conteneur | pct destroy |
| 7 | Déverrouiller un conteneur | pct unlock |
| 8 | Sauvegarder un conteneur | vzdump |
| 9 | Restaurer une sauvegarde | pct restore |
| 10 | Supprimer des sauvegardes | pvesm free |
| 11 | Afficher les informations | pct config + pct status |
| 12 | Entrer dans un conteneur | pct enter |
| 13 | Cloner un conteneur | pct clone |
| 14 | Modifier les options | pct set --features |
| 15 | Gérer la protection | pct set --protection |
| 16 | Mode protection global | Configuration interne |
| 0 | Quitter | Exit |
🔧 Configuration
Options avancées
Le script permet de configurer les fonctionnalités LXC suivantes :
- Nesting : Permet l'exécution de Docker dans LXC
- FUSE : Support des systèmes de fichiers utilisateur
- NFS : Montage de partages NFS
- CIFS/SMB : Montage de partages Windows
Mode Protection
Le système de protection offre deux niveaux :
- Protection globale : Requiert des confirmations spécifiques pour les opérations critiques
- Protection par conteneur : Empêche la suppression accidentelle (équivalent à
--protection 1)
🛠️ Fonctions détaillées
Création de conteneur
- Validation des VMID (100-999999999)
- Validation des noms d'hôte
- Validation des adresses IP
- Sélection de template interactif
- Configuration des ressources (RAM, CPU, stockage)
- Options réseau (DHCP/Statique)
- Mode privilégié/non-privilégié
Sauvegarde
- Support de multiples algorithmes de compression (gzip, lzo, zstd)
- Différents modes de sauvegarde (snapshot, stop, suspend)
- Sélection de stockage dédié
Clonage
- Clonage de conteneurs en cours d'exécution
- Options de snapshot pour plus de rapidité
- Attribution automatique de nouveau VMID
🔐 Sécurité
Validations
- VMID : format numérique, plage valide, unicité
- Noms d'hôte : conformité RFC 1123
- Adresses IP : format CIDR valide
- Mots de passe : minimum 8 caractères
Protections
- Contrôle des privilèges root
- Vérification de l'environnement Proxmox
- Confirmations pour les opérations destructives
- Protection contre la suppression accidentelle
🎨 Interface
Couleurs
- 🔴 Rouge : erreurs, avertissements critiques
- 🟢 Vert : succès, confirmations
- 🟡 Jaune : avertissements, informations
- 🔵 Bleu : menus, informations générales
- 🟣 Magenta : options spéciales
Logo
Affichage d'un en-tête stylisé avec :
- Nom du gestionnaire
- Version du script
- État de la protection
⚠️ Limitations
- Nécessite un serveur Proxmox VE
- Doit être exécuté en tant que root
- Dépend des commandes
pct,pvesm,vzdump - Certaines fonctionnalités nécessitent ZFS/LVM
🔄 Dépendances
- Proxmox VE 6.x ou supérieur
- Bash 4.4 ou supérieur
- Outils Proxmox :
pct,pvesm,vzdump
📝 Journalisation
Le script n'implémente pas de journalisation interne mais utilise les logs système de Proxmox. Toutes les opérations sont tracées dans :
/var/log/syslog/var/log/pve/tasks/
🚨 Dépannage
Erreurs courantes
-
"Ce script doit être exécuté sur un serveur Proxmox VE"
- Vérifiez que les commandes
pctetpvesmsont disponibles - Assurez-vous d'être sur un nœud Proxmox
- Vérifiez que les commandes
-
"VMID invalide"
- Utilisez un nombre entre 100 et 999999999
- Vérifiez que le VMID n'existe pas déjà
-
Échec de sauvegarde
- Vérifiez les permissions sur le stockage
- Assurez-vous que le stockage accepte les backups
- Vérifiez l'espace disponible
Mode debug
Ajoutez set -x au début du script pour activer le mode debug :
#!/bin/bash
set -x # Ajoutez cette ligne
# ... reste du script
🤝 Contribution
Les contributions sont les bienvenues ! Veuillez :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Tester vos modifications
- Soumettre une pull request
📄 Licence
Ce script est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🔗 Ressources
Note : Ce script est un outil de gestion et ne remplace pas une bonne compréhension de l'administration Proxmox. Toujours tester les opérations critiques dans un environnement de développement avant la production.
Note : Ce script est fourni "tel quel", sans garantie d'aucune sorte. Testez toujours sur un environnement de test avant de l'utiliser en production.
Hébergé sur : git.h3campus.fr