Principes Fondamentaux du Matériel Serveur
Comprendre le métal sous la virtualisation.
Pourquoi le Matériel est Important
Même pour les Admins Cloud
Comprendre le matériel vous aide à :
- Diagnostiquer les goulots d'étranglement de performance
- Dimensionner correctement les instances cloud
- Comprendre pourquoi les "noisy neighbors" affectent les VMs
- Optimiser pour le coût vs performance
- Dépanner les déploiements bare-metal
Alimentation & Énergie (PSU)
Redondance (2x PSU)
Les serveurs de production ont des alimentations doubles pour la tolérance aux pannes.
┌─────────────────────────────────────────┐
│ SERVEUR │
│ ┌─────────┐ ┌─────────┐ │
│ │ PSU 1 │ │ PSU 2 │ │
│ └────┬────┘ └────┬────┘ │
│ │ │ │
└───────┼─────────────────────┼───────────┘
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ PDU A │ │ PDU B │
│(Circuit)│ │(Circuit)│
└─────────┘ └─────────┘
Pourquoi des PSU doubles :
| Scénario | PSU Simple | PSU Double |
|---|---|---|
| Panne de PSU | Serveur arrêté | Continue de fonctionner |
| Disjonction du circuit | Serveur arrêté | Continue de fonctionner |
| Maintenance | Temps d'arrêt requis | Remplacement à chaud possible |
Active-Active vs Active-Standby
- Active-Active : Les deux PSU partagent la charge (plus efficace)
- Active-Standby : Un PSU inactif jusqu'à la panne (plus simple)
Efficacité (Certification 80 Plus)
Les PSU gaspillent de l'énergie sous forme de chaleur. Les classifications d'efficacité indiquent quelle quantité d'énergie atteint les composants.
| Certification | Efficacité @ 50% de Charge | Usage Typique |
|---|---|---|
| 80 Plus | 80% | Budget |
| Bronze | 85% | Serveurs d'entrée de gamme |
| Silver | 88% | Serveurs standard |
| Gold | 90% | Enterprise |
| Platinum | 92% | DC haute densité |
| Titanium | 94% | Premium/HPC |
Exemple : Serveur 1000W avec PSU Gold - Consomme ~1111W du secteur (90% efficace) - Gaspille 111W en chaleur
À grande échelle (1000 serveurs) : - Bronze : 176kW gaspillés - Titanium : 64kW gaspillés - Économies : 112kW → ~100k$/an
Connecteurs d'Alimentation
| Connecteur | Usage | Puissance Typique |
|---|---|---|
| 24-pin ATX | Carte mère principale | N/A (requis) |
| 8-pin EPS | Alimentation CPU | 150-300W par |
| 6-pin PCIe | GPU | 75W |
| 8-pin PCIe | GPU | 150W |
| 6+2 pin PCIe | GPU (flexible) | 75-150W |
# Vérifier la consommation électrique sur Linux
cat /sys/class/power_supply/*/power_now # Portables
ipmitool sensor | grep -i watt # Serveurs avec IPMI
Stratégies de Refroidissement
Refroidissement par Air
Standard pour la plupart des serveurs. Les ventilateurs poussent l'air à travers les dissipateurs thermiques.
ENTRÉE (Froid) ÉCHAPPEMENT (Chaud)
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ ████ │ CPU │ RAM │ RAM │ PSU │ ████ │
│ FANS │ ▓▓▓ │ │ │ │ FANS │
│ ████ │ ▓▓▓ │ │ │ │ ████ │
└─────────────────────────────────────────┘
──────────────────►
FLUX D'AIR
Push vs Pull :
| Config | Description | Cas d'Usage |
|---|---|---|
| Push | Ventilateurs avant le dissipateur | Standard |
| Pull | Ventilateurs après le dissipateur | Espaces restreints |
| Push-Pull | Des deux côtés | CPU haute TDP |
Refroidissement par Eau/Liquide
Utilisé pour les environnements haute densité et HPC.
Avantages :
- Transfert de chaleur 1000x meilleur que l'air
- Fonctionnement plus silencieux
- Densité plus élevée possible
- Peut gérer des CPU de 300W+
Inconvénients :
- Coût
- Complexité
- Risque de fuite
- Maintenance
Échelle Datacenter (Allée Chaude/Froide)
ALLÉE FROIDE ALLÉE CHAUDE ALLÉE FROIDE
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ │ │ │ │ │
│ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │
│ │RACK│ │RACK│ │ │ │RACK│ │RACK│ │ │ │RACK│ │RACK│ │
│ │ │ │ │ │ │ │ ◄──┼──┼──► │ │ │ │ │ │ │ │
│ │ ► │ │ ► │ │ │ │ │ │ │ │ │ │ ◄ │ │ ◄ │ │
│ └────┘ └────┘ │ │ └────┘ └────┘ │ │ └────┘ └────┘ │
│ │ │ │ │ │
│ ▲ AIR FROID ▲ │ │ ▲ AIR CHAUD ▲ │ │ ▲ AIR FROID ▲ │
└──────────────────┘ └──────────────────┘ └──────────────────┘
▲ │ ▲
│ ▼ │
│ ┌──────────┐ │
└─────────────────│ CRAC │──────────────────┘
│ (A/C) │
└──────────┘
Stratégies de confinement :
- Confinement d'allée froide (enfermer le froid)
- Confinement d'allée chaude (enfermer le chaud, plus courant)
- Armoires cheminées
Performance vs Économie
C-States (États de Veille CPU)
Les CPU peuvent entrer dans des états de veille pour économiser l'énergie—mais le réveil ajoute de la latence.
| État | Nom | Puissance | Latence de Réveil |
|---|---|---|---|
| C0 | Actif | 100% | 0 |
| C1 | Halt | ~70% | ~1μs |
| C1E | Enhanced Halt | ~60% | ~10μs |
| C3 | Sleep | ~30% | ~50μs |
| C6 | Deep Sleep | ~10% | ~100-200μs |
Charges de Travail Sensibles à la Latence
Les C-States profonds peuvent causer des pics de latence :
- Systèmes de trading
- Audio/vidéo en temps réel
- Serveurs de jeux
- Transactions de base de données
ACPI (Advanced Configuration & Power Interface)
Le standard qui permet à Linux de contrôler la gestion d'alimentation du matériel.
# Vérifier la fréquence CPU actuelle
cat /proc/cpuinfo | grep MHz
# Voir les governors disponibles
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# Governor actuel
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# Définir le mode performance
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Vérifier la résidence des C-states
cat /sys/devices/system/cpu/cpu0/cpuidle/state*/name
cat /sys/devices/system/cpu/cpu0/cpuidle/state*/time
Governors CPU :
| Governor | Comportement | Cas d'Usage |
|---|---|---|
performance |
Fréquence max toujours | Faible latence, HPC |
powersave |
Fréquence min toujours | Batterie/efficacité |
ondemand |
Échelle avec la charge (rapide) | Usage général |
conservative |
Échelle avec la charge (graduel) | Portables |
schedutil |
Basé sur le planificateur du noyau | Défaut moderne |
Optimisation pour la Performance
Désactiver les C-States (BIOS ou Kernel) :
# Paramètre de démarrage du noyau (GRUB)
# Éditer /etc/default/grub
GRUB_CMDLINE_LINUX="intel_idle.max_cstate=0 processor.max_cstate=0"
# Appliquer
sudo update-grub
sudo reboot
Forcer le Governor Performance :
# Temporaire
sudo cpupower frequency-set -g performance
# Persistant (systemd)
# /etc/systemd/system/cpu-performance.service
[Unit]
Description=Set CPU Governor to Performance
[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower frequency-set -g performance
[Install]
WantedBy=multi-user.target
Désactiver le Turbo Boost (pour la cohérence) :
# Intel
echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
# AMD
echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost
Outils de Surveillance
# Fréquence CPU et governor
cpupower frequency-info
watch -n1 "cat /proc/cpuinfo | grep MHz"
# Consommation électrique (Intel)
sudo turbostat --Summary --show Busy%,Bzy_MHz,PkgWatt
# Température
sensors # paquet lm-sensors
cat /sys/class/thermal/thermal_zone*/temp
# Capteurs IPMI (serveurs)
ipmitool sensor list
ipmitool sdr list
Référence Rapide
| Tâche | Commande |
|---|---|
| Vérifier fréquence CPU | cat /proc/cpuinfo \| grep MHz |
| Voir les governors | cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors |
| Définir performance | echo performance \| sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor |
| Vérifier température | sensors |
| Surveillance puissance | sudo turbostat |
| Capteurs IPMI | ipmitool sensor list |
| Désactiver turbo (Intel) | echo 1 \| sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo |