Ajout version LXC et restructuration complète du projet

🚀 NOUVELLES FONCTIONNALITÉS :
- Version LXC complète pour Proxmox avec installation automatisée
- Script d'installation LXC avec interface colorée et vérifications
- Service systemd avec configuration sécurisée
- Script de désinstallation avec sauvegarde de config

📁 RESTRUCTURATION :
- Séparation Docker/LXC dans des dossiers dédiés
- Documentation spécialisée pour chaque version
- Guide d'installation unifié (INSTALL.md)
- README principal avec comparaison des versions

🐳 AMÉLIORATIONS DOCKER :
- docker-compose.yml optimisé avec healthcheck
- Documentation Docker détaillée
- Configuration par variables d'environnement clarifiée

📦 FONCTIONNALITÉS LXC :
- Installation en une commande
- Intégration systemd native
- Gestion des permissions et sécurité
- Logs intégrés avec journalctl
- Configuration via fichier d'environnement

🔧 OUTILS INCLUS :
- Scripts d'installation/désinstallation
- Healthchecks pour les deux versions
- Documentation de dépannage
- Comparatif des deux approches

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-31 11:00:00 +02:00
parent 3a96167120
commit ced296a296
15 changed files with 1410 additions and 26 deletions

193
lxc/README-LXC.md Normal file
View File

@@ -0,0 +1,193 @@
# Installation LXC pour Proxmox
Ce guide vous explique comment installer le contrôleur de ventilateurs Dell iDRAC dans un container LXC Proxmox.
## Prérequis
### 1. Container LXC Proxmox
- Template Ubuntu 22.04 LTS
- Container **privilégié** (requis pour l'accès IPMI)
- Accès réseau configuré
### 2. Configuration Proxmox
Dans l'interface Proxmox ou en ligne de commande :
```bash
# Rendre le container privilégié
pct set <VMID> -privilege 1
# Activer nesting si nécessaire
pct set <VMID> -features nesting=1
# Configuration des ressources (exemple)
pct set <VMID> -memory 512 -cores 1
```
### 3. Accès IPMI
**Option A - iDRAC local (dans le container sur l'hôte physique) :**
```bash
# Ajouter l'accès au périphérique IPMI dans la configuration LXC
echo "lxc.cgroup2.devices.allow: c 10:* rwm" >> /etc/pve/lxc/<VMID>.conf
echo "lxc.mount.entry: /dev/ipmi0 dev/ipmi0 none bind,optional,create=file" >> /etc/pve/lxc/<VMID>.conf
```
**Option B - iDRAC distant :**
Aucune configuration matérielle supplémentaire requise.
## Installation
### 1. Téléchargement
```bash
# Dans le container LXC
cd /tmp
wget -O - https://github.com/votre-repo/archive/main.tar.gz | tar -xz
cd Dell_iDRAC_fan_controller-main/lxc
```
### 2. Installation automatique
```bash
chmod +x install-lxc.sh
./install-lxc.sh
```
Le script va :
- Installer ipmitool
- Créer la structure de répertoires
- Copier les fichiers
- Configurer le service systemd
- Créer le fichier de configuration
## Configuration
### 1. Édition de la configuration
```bash
nano /opt/idrac-fan-controller/config/environment
```
### 2. Paramètres principaux
```bash
# Connexion iDRAC
IDRAC_HOST=local # ou IP pour iDRAC distant
IDRAC_USERNAME=root # si iDRAC distant
IDRAC_PASSWORD=calvin # si iDRAC distant
# Seuils de température (°C)
CPU_TEMPERATURE_1=30
CPU_TEMPERATURE_2=40
CPU_TEMPERATURE_3=50
CPU_TEMPERATURE_4=60
# Vitesses correspondantes (%)
FAN_SPEED_1=10
FAN_SPEED_2=30
FAN_SPEED_3=60
FAN_SPEED_4=80
# Seuil de sécurité
CPU_TEMPERATURE_THRESHOLD=70
```
## Utilisation
### Gestion du service
```bash
# Démarrer
systemctl start idrac-fan-controller
# Arrêter
systemctl stop idrac-fan-controller
# Redémarrer
systemctl restart idrac-fan-controller
# Statut
systemctl status idrac-fan-controller
# Activer au démarrage (déjà fait par l'installation)
systemctl enable idrac-fan-controller
```
### Surveillance
```bash
# Logs en temps réel
journalctl -u idrac-fan-controller -f
# Logs récents
journalctl -u idrac-fan-controller -n 50
# Test de santé
/opt/idrac-fan-controller/healthcheck.sh
```
## Dépannage
### Vérification IPMI
```bash
# Test de base
ipmitool fru
# Si erreur "Could not open device"
ls -la /dev/ipmi*
# Doit montrer /dev/ipmi0 ou similaire
# Vérifier les permissions
id
# Doit être root dans le container
```
### Erreurs communes
**"Could not open device at /dev/ipmi0"**
- Vérifier que le container est privilégié
- S'assurer que l'accès IPMI est configuré dans Proxmox
- Redémarrer le container après les changements
**Service qui ne démarre pas**
```bash
# Vérifier la syntaxe du fichier de configuration
systemctl status idrac-fan-controller
# Tester manuellement
cd /opt/idrac-fan-controller
sudo -u root bash Dell_iDRAC_fan_controller.sh
```
## Désinstallation
```bash
cd /tmp/Dell_iDRAC_fan_controller-main/lxc
chmod +x uninstall-lxc.sh
./uninstall-lxc.sh
```
## Comparaison Docker vs LXC
| Aspect | Docker | LXC |
|--------|---------|-----|
| **Installation** | Pull image | Script d'installation |
| **Configuration** | Variables ENV | Fichier de config |
| **Gestion** | docker-compose | systemctl |
| **Logs** | docker logs | journalctl |
| **Ressources** | Container isolé | Container système |
| **Accès hardware** | Device mapping | Accès direct |
| **Maintenance** | Image updates | Package updates |
| **Backup** | Image + volumes | Snapshot LXC |
## Avantages LXC
- **Performance** : Pas d'overhead Docker
- **Intégration** : Gestion native avec Proxmox
- **Accès hardware** : Plus direct et simple
- **Ressources** : Utilisation optimale
- **Logs** : Intégrés avec systemd
- **Maintenance** : Mise à jour avec le système