Ceph : le stockage distribué
Cours ponctuel — Bloc 2 - SISR 2 Prérequis conseillé : la fiche "Le cluster Proxmox VE"
1. Le problème que résout Ceph
Sur un cluster de plusieurs serveurs, une question centrale se pose rapidement : où stocker les disques des machines virtuelles ? Si chaque VM est stockée uniquement sur le disque local du nœud qui l'exécute, plusieurs limites apparaissent :
- impossible de faire de la migration à chaud vers un autre nœud sans déplacer physiquement les données ;
- en cas de panne du nœud, les données de la VM sont perdues ou inaccessibles ;
- pas de répartition automatique de la charge de stockage entre les serveurs.
Ceph est une solution de stockage distribué : les données sont réparties et répliquées automatiquement sur plusieurs serveurs, formant un espace de stockage unique, résilient et accessible depuis n'importe quel nœud du cluster.
2. Les composants de l'architecture Ceph
| Composant | Rôle |
|---|---|
| OSD (Object Storage Daemon) | Processus gérant le stockage effectif des données sur un disque physique donné |
| MON (Monitor) | Maintient la carte de l'état du cluster Ceph (quels OSD sont actifs, où sont les données...) |
| MGR (Manager) | Fournit des statistiques, un tableau de bord, et des interfaces de supervision |
| MDS (Metadata Server) | Nécessaire uniquement pour CephFS (système de fichiers), gère les métadonnées des fichiers |
Schéma de principe simplifié
[ MON ] [ MON ] [ MON ] ← surveillent l'état du cluster
│ │ │
┌────┴────────┴────────┴────┐
│ Cluster Ceph │
└────┬────────┬────────┬────┘
│ │ │
[ OSD ] [ OSD ] [ OSD ] ← stockent réellement les données
(disque) (disque) (disque)
Nœud 1 Nœud 2 Nœud 3
3. Les pools et la réplication
Les données dans Ceph sont organisées en pools — des espaces logiques dans lesquels sont stockés des objets de données. Chaque pool est configuré avec une politique de réplication, qui définit combien de copies de chaque donnée sont conservées, et sur combien d'OSD différents.
Exemple : réplication à 3 exemplaires (configuration courante en production)
Donnée X → copie 1 sur OSD (nœud 1)
→ copie 2 sur OSD (nœud 2)
→ copie 3 sur OSD (nœud 3)
Si un nœud tombe en panne, les deux copies restantes suffisent à garantir l'accès à la donnée, sans aucune interruption de service.
4. Ceph et la tolérance aux pannes
Lorsqu'un OSD (ou un nœud entier) tombe en panne, Ceph réagit automatiquement :
- Le cluster détecte la perte de l'OSD concerné (via les MON)
- Les données qui n'avaient plus leur nombre de copies requis sont automatiquement re-répliquées vers d'autres OSD disponibles
- Une fois la reconstruction terminée, le niveau de réplication cible est de nouveau respecté
Ce mécanisme est entièrement automatique et ne nécessite aucune intervention manuelle immédiate — c'est l'un des grands intérêts de Ceph par rapport à une solution de stockage classique.
5. Ceph comme fondation de la haute disponibilité
Ceph est très souvent utilisé comme stockage partagé dans un cluster Proxmox, précisément parce qu'il permet :
- la migration à chaud de VM entre nœuds (le disque de la VM est déjà accessible depuis tous les nœuds) ;
- la haute disponibilité (voir la fiche dédiée) : si un nœud tombe en panne, une VM peut redémarrer automatiquement sur un autre nœud, puisque son disque est déjà disponible ailleurs, sans nécessiter de copie préalable.
6. Glossaire
| Terme | Définition |
|---|---|
| Ceph | Système de stockage distribué, résilient et évolutif |
| OSD | Object Storage Daemon — processus stockant réellement les données sur un disque |
| MON | Monitor — maintient l'état global du cluster Ceph |
| Pool | Espace logique de stockage au sein d'un cluster Ceph |
| Réplication | Duplication automatique des données sur plusieurs OSD, pour la tolérance aux pannes |
| CephFS | Système de fichiers distribué basé sur Ceph, nécessitant un MDS |
7. Vérifiez vos connaissances
1. Quel composant Ceph stocke réellement les données sur un disque physique ?
2. Quel est le rôle principal des MON dans un cluster Ceph ?
3. Que se passe-t-il automatiquement quand un OSD tombe en panne dans un cluster correctement répliqué ?
4. Quelle réplication minimale est recommandée en production ?
5. Pourquoi Ceph est-il souvent utilisé comme fondation de la haute disponibilité dans un cluster Proxmox ?