- Suppression du code mort et commenté (fonctions inutiles) - Correction du bug wait $SLEEP -> wait $SLEEP_PROCESS_PID - Suppression des fichiers de sauvegarde .default - Refonte complète du README en français avec : * Documentation des nouveaux paramètres de contrôle dynamique * Exemples Docker/docker-compose mis à jour * Section dépannage adaptée au système de seuils * Logique de fonctionnement détaillée 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
6.8 KiB
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
Table of Contents
Container console log example
Prerequisites
iDRAC version
This Docker container only works on Dell PowerEdge servers that support IPMI commands, i.e. < iDRAC 9 firmware 3.30.30.30.
Supported architectures
This Docker container is currently built and available for the following CPU architectures :
- AMD64
- ARM64
Usage
- with local iDRAC:
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.
