Files
iDRAC_fan_controller/README.md
Benoit ced296a296 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>
2025-08-31 11:00:00 +02:00

7.7 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

🚀 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
  1. 🚀 Deux versions disponibles
  2. Prérequis
  3. Installation rapide
  4. Paramètres
  5. Dépannage
  6. Exemple de logs

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

(back to top)

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é

(back to top)

Container console log example

image

(back to top)

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
  1. 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:

  1. 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
  1. 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

(back to top)

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, 60
  • FAN_SPEED_1 à FAN_SPEED_4 : vitesses des ventilateurs (0-100%) correspondant aux seuils. Défauts : 10, 30, 60, 80
  • CPU_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 : 60s
  • DISABLE_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 → vitesse FAN_SPEED_1
  • Si CPU_TEMPERATURE_1 < température ≤ CPU_TEMPERATURE_2 → vitesse FAN_SPEED_2
  • Si CPU_TEMPERATURE_2 < température ≤ CPU_TEMPERATURE_3 → vitesse FAN_SPEED_3
  • Si CPU_TEMPERATURE_3 < température ≤ CPU_TEMPERATURE_4 → vitesse FAN_SPEED_4
  • Si température > CPU_TEMPERATURE_4 → 100%
  • Si température > CPU_TEMPERATURE_THRESHOLD → mode Dell par défaut (sécurité)

(back to top)

Dépannage

Si votre serveur revient fréquemment au mode Dell par défaut :

  1. 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éfinir CPU_TEMPERATURE_THRESHOLD=60.

  2. Ajustez les seuils de température : Modifiez CPU_TEMPERATURE_1 à CPU_TEMPERATURE_4 selon votre environnement. Exemple pour un environnement plus chaud :

    CPU_TEMPERATURE_1=35
    CPU_TEMPERATURE_2=45
    CPU_TEMPERATURE_3=55
    CPU_TEMPERATURE_4=65
    
  3. Augmentez les vitesses de ventilation : Adaptez FAN_SPEED_1 à FAN_SPEED_4 pour améliorer le refroidissement :

    FAN_SPEED_1=15
    FAN_SPEED_2=35
    FAN_SPEED_3=70
    FAN_SPEED_4=90
    
  4. Si les problèmes persistent : Il peut être nécessaire de remplacer la pâte thermique de votre serveur.

(back to top)