✨ NOUVELLE VERSION PROXMOX AUTONOME : - Script d'installation totalement autonome pour Proxmox VE - Création automatique du container LXC Ubuntu 22.04 - Configuration hardware et IPMI automatisée - Interface utilisateur avec ASCII art et couleurs - Compatible avec le pattern community-scripts 🛠️ FONCTIONNALITÉS AVANCÉES : - Outils d'administration intégrés (idrac-setup, idrac-status, etc.) - Scripts helpers avec interface colorée - Healthcheck et monitoring automatiques - Configuration par défaut optimisée pour Dell - Gestion des erreurs et diagnostics 📱 INTERFACE UTILISATEUR : - Menu de configuration avancée - Rapport d'installation détaillé - Instructions post-installation contextuelles - Scripts d'aide intégrés au container 🔗 MISE À JOUR REPOSITORY : - Toutes les URLs mises à jour avec git.benoitsz.com - Documentation cohérente sur toutes les versions - Liens Gitea pour issues et support 📚 DOCUMENTATION COMPLÈTE : - README-PROXMOX.md avec guide détaillé - Comparaison des 3 versions (Docker, LXC, Proxmox) - Instructions d'installation ultra-rapide - Guide de dépannage spécialisé ⚡ INSTALLATION EN 1 COMMANDE : bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
256 lines
8.4 KiB
Markdown
256 lines
8.4 KiB
Markdown
<div id="top"></div>
|
|
|
|
|
|
# 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
|
|
|
|
## 🚀 Trois versions disponibles
|
|
|
|
| **Docker** | **LXC Manuel** | **Proxmox Autonome** |
|
|
|------------|----------------|----------------------|
|
|
| 🐳 Container Docker | 📦 Container LXC | 🤖 Installation automatique |
|
|
| docker-compose | Installation manuelle | **1 seule commande** |
|
|
| Device mapping | systemctl | Auto-configuration |
|
|
| → [Docker](docker/) | → [LXC](lxc/) | → [**Proxmox**](proxmox/) |
|
|
|
|
### ⚡ Installation ultra-rapide Proxmox
|
|
```bash
|
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
|
```
|
|
*Créé automatiquement le container LXC, installe Ubuntu et configure l'application !*
|
|
|
|
<!-- TABLE OF CONTENTS -->
|
|
<details>
|
|
<summary>Table des matières</summary>
|
|
<ol>
|
|
<li><a href="#-deux-versions-disponibles">🚀 Deux versions disponibles</a></li>
|
|
<li><a href="#prérequis">Prérequis</a></li>
|
|
<li><a href="#installation-rapide">Installation rapide</a></li>
|
|
<li><a href="#paramètres">Paramètres</a></li>
|
|
<li><a href="#dépannage">Dépannage</a></li>
|
|
<li><a href="#container-console-log-example">Exemple de logs</a></li>
|
|
</ol>
|
|
</details>
|
|
|
|
## Installation rapide
|
|
|
|
### 🐳 Version Docker
|
|
|
|
```bash
|
|
# Télécharger la configuration
|
|
wget https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/docker/docker-compose.yml
|
|
|
|
# Modifier la configuration selon vos besoins
|
|
nano docker-compose.yml
|
|
|
|
# Lancer le container
|
|
docker-compose up -d
|
|
```
|
|
|
|
### 🤖 Version Proxmox Autonome (Recommandée)
|
|
|
|
```bash
|
|
# Installation complète en 1 commande depuis Proxmox
|
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
|
```
|
|
|
|
### 📦 Version LXC Manuel
|
|
|
|
```bash
|
|
# Dans un container LXC Ubuntu existant
|
|
wget -O - https://git.benoitsz.com/benoit/iDRAC_fan_controller/archive/main.tar.gz | tar -xz
|
|
cd Dell_iDRAC_fan_controller-main/lxc
|
|
chmod +x install-lxc.sh
|
|
./install-lxc.sh
|
|
```
|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
|
|
|
## 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é
|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
|
|
|
## Container console log example
|
|
|
|

|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
|
|
|
<!-- USAGE DÉTAILLÉ -->
|
|
## Configuration détaillée
|
|
|
|
### 🐳 Version Docker
|
|
|
|
**1. Utilisation avec iDRAC local :**
|
|
|
|
```bash
|
|
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 \
|
|
git.benoitsz.com/benoit/idrac_fan_controller:latest
|
|
```
|
|
|
|
2. with LAN iDRAC:
|
|
|
|
```bash
|
|
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> \
|
|
git.benoitsz.com/benoit/idrac_fan_controller:latest
|
|
```
|
|
|
|
`docker-compose.yml` examples:
|
|
|
|
1. to use with local iDRAC:
|
|
|
|
```yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
Dell_iDRAC_fan_controller:
|
|
image: git.benoitsz.com/benoit/idrac_fan_controller: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
|
|
```
|
|
|
|
2. to use with LAN iDRAC:
|
|
|
|
```yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
Dell_iDRAC_fan_controller:
|
|
image: git.benoitsz.com/benoit/idrac_fan_controller: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
|
|
```
|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
|
|
|
<!-- PARAMETERS -->
|
|
## 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é)
|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
|
|
|
<!-- TROUBLESHOOTING -->
|
|
## 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.
|
|
|
|
<p align="right">(<a href="#top">back to top</a>)</p> |