Sizing Ceph : capacité utile, ratio de remplissage, tolérance de panne¶
La capacité que vous pouvez réellement remplir sur un cluster Ceph n'est pas le brut divisé par 3 : c'est la capacité qui reste sous le seuil nearfull (85 %) après la perte d'un nœud et la reconstruction de ses données. Cette page explique le calcul pas à pas, avec exactement les règles du calculateur Ceph.
Trois capacités à ne pas confondre¶
| Capacité | Définition | Où la lire |
|---|---|---|
| Brute | Somme des disques OSD, en To fabricant | ceph df (ligne RAW, en Tio) |
| Utile théorique | Brut divisé par le nombre de copies (réplica) ou × k/(k+m) (erasure coding) | Calcul ; ceph df colonne MAX AVAIL (qui tient déjà compte du remplissage et du déséquilibre) |
| Exploitable | Ce que vous pouvez remplir sans risque de blocage quand un nœud tombe | Calculateur ; c'est le chiffre à suivre en exploitation |
Les fabricants comptent en To décimaux, Linux et Ceph affichent des Tio : 1 To = 0,9095 Tio. Un disque de 3,84 To apparaît comme 3,49 Tio.
Les règles du calculateur¶
brut = nœuds × OSD par nœud × taille disque
utile = brut / size (réplica size/min_size)
= brut × k / (k + m) (erasure coding k+m)
utile(N-1) = (nœuds - 1) × OSD par nœud × taille disque × efficacité
si un nœud perdu peut être reconstruit ailleurs (nœuds > size, ou nœuds > k+m) :
exploitable = utile(N-1) × 0,85 (reste sous nearfull après reconstruction)
sinon (ex. 3 nœuds en réplica 3) :
exploitable = utile × 0,80 (le cluster reste dégradé, garder une marge)
PG conseillés = puissance de 2 la plus proche de (nombre d'OSD × 100 / size), 32 au minimum
size = nombre de copies en réplica, k + m en erasure coding
L'efficacité vaut 1/3 en réplica 3/2, 1/2 en réplica 2/1, k/(k+m) en erasure coding. Le détail est sur Comment on calcule.
Pourquoi 85 % et pourquoi 80 %¶
- Les seuils Ceph par défaut sont nearfull 85 %, backfillfull 90 %, full 95 % (RB-04). Un seul OSD plein bloque les écritures de tout le pool.
- Le cluster peut se reconstruire (au moins un hôte de plus que le nombre de copies) : quand un nœud tombe, ses données sont recopiées sur les nœuds restants. Il faut donc que toutes les données tiennent sur N-1 nœuds en restant sous 85 %.
- Le cluster ne peut pas se reconstruire (3 nœuds en réplica 3, ou exactement k+m nœuds en EC) : il reste dégradé sans se remplir davantage. Le calculateur garde alors 20 % de marge pour absorber le déséquilibre entre OSD, la croissance et la perte d'un disque (dont les données sont recopiées sur les autres disques du même hôte).
Exemples chiffrés (SSD entreprise de 3,84 To, 6 OSD par nœud)¶
| Cluster | Protection | Brut | Utile théorique | Exploitable | PG conseillés |
|---|---|---|---|---|---|
| 3 nœuds | Réplica 3/2 | 69,1 To | 23,0 To | 18,4 To (utile × 0,80) | 512 |
| 4 nœuds | Réplica 3/2 | 92,2 To | 30,7 To | 19,6 To (23,0 × 0,85) | 1024 |
| 5 nœuds | Réplica 3/2 | 115,2 To | 38,4 To | 26,1 To (30,7 × 0,85) | 1024 |
| 7 nœuds | EC 4+2 | 161,3 To | 107,5 To | 78,3 To (92,2 × 0,85) | 512 |
Lecture : passer de 3 à 4 nœuds n'ajoute qu'un peu de capacité exploitable (18,4 → 19,6 To), mais apporte la tolérance de panne : le cluster revient à active+clean après la perte d'un nœud. Le gain de capacité devient net à partir du 5e nœud.
Tolérance de panne selon la configuration¶
| Configuration | Perte d'un disque | Perte d'un nœud | Perte de deux nœuds |
|---|---|---|---|
| 3 nœuds, réplica 3/2 | Reconstruction sur l'hôte | Dégradé, I/O maintenues, pas de reconstruction | I/O bloquées (min_size 2 non atteint, quorum MON perdu) |
| 4 nœuds et plus, réplica 3/2 | Reconstruction | Reconstruction sur les nœuds restants | I/O bloquées sur les PG ayant perdu 2 copies jusqu'à reconstruction ; quorum MON à vérifier |
| EC 4+2 sur 7 nœuds | Reconstruction | Reconstruction | Pas de perte de données (m = 2), mais I/O suspendues sur les PG tombés sous min_size (k+1) le temps de la récupération |
| Réplica 2/1 | Une seule copie restante | Une seule copie restante | Perte de données |
Le réplica 2/1 est proscrit en production : Proxmox déconseille explicitement min_size 1.
Méthode MSP pour dimensionner¶
- Mesurer le volume réellement occupé des VMs à migrer (pas le provisionné), ajouter la croissance sur 3 ans.
- Saisir le matériel envisagé dans le calculateur Ceph et comparer la capacité exploitable au besoin à 3 ans.
- Traiter toutes les alertes du calculateur (moins de 3 nœuds, réplica 2, SSD grand public, réseau sous 25 Gb/s, 1 OSD par nœud).
- Copier le résumé et le joindre à la demande de validation dans iTop.
- En exploitation, suivre
ceph osd df tree: déclencher l'achat de disques ou d'un nœud quand l'occupation approche le plafond exploitable, pas à 85 % (voir Plan de capacité).
Pièges vus en support
- Vendre « 30 To bruts = 10 To » et remplir à 10 To : le cluster est à 100 % de l'utile, la première panne bloque les écritures.
- Oublier les snapshots de VM : ils consomment de l'espace Ceph tant qu'ils existent.
- Disques de tailles différentes : CRUSH pondère par la taille, les gros disques reçoivent plus de données et atteignent nearfull en premier.
- Thin provisioning sans discard : l'espace libéré dans les VMs n'est jamais rendu à Ceph.
- Compter le pool CephFS (ISO, templates) à part : il partage les mêmes OSD que
ceph-vm.
Testez-vous¶
-
Combien de To exploitables sur 3 nœuds de 6 SSD de 3,84 To en réplica 3/2 ?
Réponse
Brut 69,12 To, utile 23,04 To. Trois nœuds en réplica 3 ne peuvent pas se reconstruire après perte d'un nœud, donc exploitable = 23,04 × 0,80 ≈ 18,4 To.
-
Pourquoi le calculateur utilise-t-il N-1 nœuds pour un cluster de 4 nœuds ?
Réponse
Parce qu'après la perte d'un nœud, Ceph recopie ses données sur les 3 restants. Toutes les données doivent tenir sur ces 3 nœuds en restant sous le seuil nearfull de 85 %.
-
Le calculateur conseille 1024 PG. Faut-il créer le pool avec 1024 PG ?
Réponse
Non. C'est un ordre de grandeur pour le total des pools (environ 100 PG par OSD). Créez le pool avec l'autoscaler actif (
pg_autoscale_mode on) et, si besoin, untarget_size_ratio; Ceph ajuste ensuitepg_num. -
Votre cluster de 4 nœuds affiche 70 % d'occupation. Est-ce un problème ?
Réponse
Oui à moyen terme. Avec 4 nœuds, l'exploitable vaut 3/4 × 85 % ≈ 64 % du brut utile. À 70 %, la perte d'un nœud ferait dépasser nearfull pendant la reconstruction. Planifiez une extension et ouvrez une demande d'étude de capacité.