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:
193
lxc/README-LXC.md
Normal file
193
lxc/README-LXC.md
Normal 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
|
||||
Reference in New Issue
Block a user