🚀 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>
Contrôleur de ventilateurs Dell iDRAC - Version modifiée
Fork de : https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker.git
Modifications apportées :
- Remplacement du contrôle statique par un contrôle dynamique basé sur la température
- Configuration de 4 seuils de température avec vitesses correspondantes
- Gestion progressive de la vitesse des ventilateurs selon la température du CPU
🚀 Deux versions disponibles
| Version Docker | Version LXC Proxmox |
|---|---|
| 🐳 Container Docker classique | 📦 Container LXC natif |
| Images versionnées | Installation directe |
docker-compose |
systemctl |
| Isolation forte | Performance native |
| → Documentation Docker | → Documentation LXC |
Table des matières
Installation rapide
🐳 Version Docker
# Télécharger la configuration
wget https://raw.githubusercontent.com/votre-repo/main/docker/docker-compose.yml
# Modifier la configuration selon vos besoins
nano docker-compose.yml
# Lancer le container
docker-compose up -d
📦 Version LXC (Proxmox)
# Dans le container LXC Ubuntu
wget -O - https://github.com/votre-repo/archive/main.tar.gz | tar -xz
cd Dell_iDRAC_fan_controller-main/lxc
chmod +x install-lxc.sh
./install-lxc.sh
Prérequis
Serveur Dell
- Dell PowerEdge avec iDRAC
- Support des commandes IPMI
- iDRAC 9 firmware < 3.30.30.30 (pour IPMI)
Environnement
- Docker : Docker + Docker Compose
- LXC : Proxmox avec container privilégié
Container console log example
Configuration détaillée
🐳 Version Docker
1. Utilisation avec iDRAC local :
docker run -d \
--name Dell_iDRAC_fan_controller \
--restart=unless-stopped \
-e IDRAC_HOST=local \
-e CPU_TEMPERATURE_THRESHOLD=<seuil de sécurité en °C> \
-e CHECK_INTERVAL=<secondes entre chaque vérification> \
-e CPU_TEMPERATURE_1=30 \
-e CPU_TEMPERATURE_2=40 \
-e CPU_TEMPERATURE_3=50 \
-e CPU_TEMPERATURE_4=60 \
-e FAN_SPEED_1=10 \
-e FAN_SPEED_2=30 \
-e FAN_SPEED_3=60 \
-e FAN_SPEED_4=80 \
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
--device=/dev/ipmi0:/dev/ipmi0:rw \
votre_image:latest
- with LAN iDRAC:
docker run -d \
--name Dell_iDRAC_fan_controller \
--restart=unless-stopped \
-e IDRAC_HOST=<adresse IP iDRAC> \
-e IDRAC_USERNAME=<nom d'utilisateur iDRAC> \
-e IDRAC_PASSWORD=<mot de passe iDRAC> \
-e CPU_TEMPERATURE_THRESHOLD=<seuil de sécurité en °C> \
-e CHECK_INTERVAL=<secondes entre chaque vérification> \
-e CPU_TEMPERATURE_1=30 \
-e CPU_TEMPERATURE_2=40 \
-e CPU_TEMPERATURE_3=50 \
-e CPU_TEMPERATURE_4=60 \
-e FAN_SPEED_1=10 \
-e FAN_SPEED_2=30 \
-e FAN_SPEED_3=60 \
-e FAN_SPEED_4=80 \
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
votre_image:latest
docker-compose.yml examples:
- to use with local iDRAC:
version: '3.8'
services:
Dell_iDRAC_fan_controller:
image: votre_image:latest
container_name: Dell_iDRAC_fan_controller
restart: unless-stopped
environment:
- IDRAC_HOST=local
- CPU_TEMPERATURE_THRESHOLD=70
- CHECK_INTERVAL=60
- CPU_TEMPERATURE_1=30
- CPU_TEMPERATURE_2=40
- CPU_TEMPERATURE_3=50
- CPU_TEMPERATURE_4=60
- FAN_SPEED_1=10
- FAN_SPEED_2=30
- FAN_SPEED_3=60
- FAN_SPEED_4=80
- DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=false
devices:
- /dev/ipmi0:/dev/ipmi0:rw
- to use with LAN iDRAC:
version: '3.8'
services:
Dell_iDRAC_fan_controller:
image: votre_image:latest
container_name: Dell_iDRAC_fan_controller
restart: unless-stopped
environment:
- IDRAC_HOST=192.168.1.100
- IDRAC_USERNAME=root
- IDRAC_PASSWORD=calvin
- CPU_TEMPERATURE_THRESHOLD=70
- CHECK_INTERVAL=60
- CPU_TEMPERATURE_1=30
- CPU_TEMPERATURE_2=40
- CPU_TEMPERATURE_3=50
- CPU_TEMPERATURE_4=60
- FAN_SPEED_1=10
- FAN_SPEED_2=30
- FAN_SPEED_3=60
- FAN_SPEED_4=80
- DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=false
Paramètres
Tous les paramètres sont optionnels car ils ont des valeurs par défaut.
Connexion iDRAC :
IDRAC_HOST: peut être défini sur "local" ou l'adresse IP de votre iDRAC distant. Défaut : "local"IDRAC_USERNAME: nécessaire uniquement pour un iDRAC distant. Défaut : "root"IDRAC_PASSWORD: nécessaire uniquement pour un iDRAC distant. Défaut : "calvin"
Contrôle dynamique des ventilateurs :
CPU_TEMPERATURE_1àCPU_TEMPERATURE_4: seuils de température en °C. Défauts : 30, 40, 50, 60FAN_SPEED_1àFAN_SPEED_4: vitesses des ventilateurs (0-100%) correspondant aux seuils. Défauts : 10, 30, 60, 80CPU_TEMPERATURE_THRESHOLD: seuil de sécurité au-delà duquel le mode Dell par défaut est activé. Défaut : 70°C
Autres paramètres :
CHECK_INTERVAL: temps en secondes entre chaque vérification. Défaut : 60sDISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE: désactive la réponse de refroidissement Dell pour les cartes PCIe tierces. Défaut : false
Logique de fonctionnement :
- Si la température CPU ≤
CPU_TEMPERATURE_1→ vitesseFAN_SPEED_1 - Si
CPU_TEMPERATURE_1< température ≤CPU_TEMPERATURE_2→ vitesseFAN_SPEED_2 - Si
CPU_TEMPERATURE_2< température ≤CPU_TEMPERATURE_3→ vitesseFAN_SPEED_3 - Si
CPU_TEMPERATURE_3< température ≤CPU_TEMPERATURE_4→ vitesseFAN_SPEED_4 - Si température >
CPU_TEMPERATURE_4→ 100% - Si température >
CPU_TEMPERATURE_THRESHOLD→ mode Dell par défaut (sécurité)
Dépannage
Si votre serveur revient fréquemment au mode Dell par défaut :
-
Vérifiez la Tcase de votre CPU : Consultez le site Intel Ark pour connaître la température de boîtier maximum de votre CPU et définissez
CPU_TEMPERATURE_THRESHOLDà une valeur légèrement inférieure. Exemple : pour un Intel Xeon E5-2630L v2 avec Tcase = 63°C, définirCPU_TEMPERATURE_THRESHOLD=60. -
Ajustez les seuils de température : Modifiez
CPU_TEMPERATURE_1àCPU_TEMPERATURE_4selon votre environnement. Exemple pour un environnement plus chaud :CPU_TEMPERATURE_1=35 CPU_TEMPERATURE_2=45 CPU_TEMPERATURE_3=55 CPU_TEMPERATURE_4=65 -
Augmentez les vitesses de ventilation : Adaptez
FAN_SPEED_1àFAN_SPEED_4pour améliorer le refroidissement :FAN_SPEED_1=15 FAN_SPEED_2=35 FAN_SPEED_3=70 FAN_SPEED_4=90 -
Si les problèmes persistent : Il peut être nécessaire de remplacer la pâte thermique de votre serveur.
