Salta al contenuto
Rackone

STRUMENTI · CEPH

Calcolatore PG Ceph

Calcola pg_num per ogni pool con la regola di PGCalc o prepara le impostazioni per l'autoscaler, stima quante istanze PG ospita ogni OSD prima e dopo la perdita di un nodo e copia i comandi ceph e pveceph generati dalla stessa tabella.

Calcola i PG dei tuoi pool

Si parte dall'installazione di base, come nel calcolatore Ceph: 3 nodi con 4 NVMe e un pool RBD in replica 3. La regola dà 512 PG, perché 100 × 12 / 3 fa 400 e la potenza di 2 più vicina è 512. Cambia i dati o parti da un esempio.

Calcola i PG dei tuoi pool

Parti da un esempio modificabile:
Pool e PG calcolati
Pool Protezione Classe Quota del pool nei dati della classe pg_num Istanze PG per OSD, di questo pool Azioni
% 512 128,0 istanze per OSD

PG calcolati: pool vm-disks: 512. Massimo stimato di istanze per OSD: 128, sotto mon_max_pg_per_osd 250.

Istanze PG per OSD, NVMe media 128, massimo 128, limite 250

Dopo la perdita di un nodo i nodi rimasti non bastano per tutte le istanze: 512 restano senza collocazione. Il massimo stimato è sotto mon_max_pg_per_osd (250); il limite rigido del singolo OSD è 750. Il confronto del massimo stimato con mon_max_pg_per_osd è un controllo prudente: l'avviso TOO_MANY_PGS di Ceph usa la media del cluster. La scala arriva al limite rigido del singolo OSD.

ceph osd crush rule create-replicated rep-nvme default host nvme
ceph osd pool create vm-disks 512 512 replicated rep-nvme
ceph osd pool set vm-disks size 3
ceph osd pool set vm-disks min_size 2
ceph osd pool application enable vm-disks rbd
ceph osd pool set vm-disks pg_autoscale_mode warn
In questa pagina
  1. Come si calcola pg_num
  2. PGCalc o autoscaler
  3. Istanze PG per OSD: media e massimo
  4. Comandi pronti
  5. Formule e fonti

Ti serve un secondo parere sui tuoi pool?

Rivediamo pool, regole CRUSH e PG di un cluster Ceph esistente, oppure li definiamo nella progettazione di un cluster nuovo.

Domande frequenti sul calcolatore PG

Che cosa sono i placement group di Ceph?

I placement group, o PG, sono i gruppi in cui Ceph divide gli oggetti di un pool: ogni PG vive su un insieme di OSD, uno per copia o per frammento, e Ceph sposta, recupera e bilancia i dati PG per PG. Con troppo pochi PG i dati si distribuiscono male, con troppi crescono memoria e CPU usate dagli OSD.

Perché pg_num è una potenza di 2?

Ceph assegna ogni oggetto di un pool a un PG con un hash: con pg_num potenza di 2 ogni PG riceve in media la stessa quota di oggetti, con un valore diverso alcuni PG ne ricevono il doppio degli altri. Per questo la regola di PGCalc arrotonda sempre a una potenza di 2.

100 o 200 PG per OSD?

In Ceph 100 PG per OSD è il default di mon_target_pg_per_osd e va bene per un cluster che non crescerà. La regola di PGCalc usa 200 quando il numero di OSD può raddoppiare, così non serve aumentare pg_num dei pool poco dopo averli creati. Restare sotto mon_max_pg_per_osd, 250 di default, conta più del valore esatto.

Cosa fa l'autoscaler dei PG e quando spegnerlo?

L'autoscaler dei PG di Ceph regola pg_num di ogni pool in base ai dati presenti, a target_size_ratio e a target_size_bytes, e con bulk fa partire da molti PG i pool grandi. Mettilo in warn (solo avvisi) o in off quando vuoi decidere pg_num a mano, ad esempio per evitare spostamenti di dati non pianificati.

Cos'è mon_max_pg_per_osd?

In Ceph mon_max_pg_per_osd vale 250 di default in Squid e Tentacle e si applica alla media di istanze PG per OSD del cluster: oltre, Ceph segnala TOO_MANY_PGS e rifiuta i pool che la supererebbero. Il limite del singolo OSD è il triplo, con osd_max_pg_per_osd_hard_ratio a 3: oltre, l'OSD non crea nuovi PG. Il calcolatore confronta con mon_max_pg_per_osd anche il massimo stimato sul singolo OSD, prima e dopo la perdita di un nodo, come controllo prudente.

Quanti PG dare a un pool Ceph in erasure coding?

In un pool Ceph in erasure coding ogni PG ha k+m istanze, una per frammento: la regola di PGCalc divide quindi per k+m invece che per il numero di copie. Un EC 8+3 su 288 OSD, con l'80% dei dati della classe e obiettivo 100, ha 2.048 PG.

Che differenza c'è con il PG Calc della documentazione Ceph?

Il PG Calc nella documentazione di Ceph applica la stessa regola, ma solo ai pool in replica. Questo calcolatore aggiunge l'erasure coding, le classi di dispositivo, la stima delle istanze su ogni OSD prima e dopo la perdita di un nodo e i comandi per pveceph; il vecchio indirizzo ceph.com/pgcalc oggi risponde con un errore 404.

  • 700+ clienti attivi
  • H24 supporto in italiano
  • GDPR dati in Italia

Progettiamo il tuo cluster Ceph

Dimensioniamo dischi, rete, block.db e protezione sul tuo carico e, prima della produzione, verifichiamo come il cluster reagisce ai guasti.

Parla con un sistemista

0421 1885889 · sales@rackone.it

Parliamo del tuo progetto

Lasciaci i tuoi recapiti: ti ricontatta un sistemista, non un commerciale.

Privacy policy

Nessuno spam. Se sei già cliente e ti serve assistenza, apri un ticket: il link è nei recapiti.

Questo sito è protetto da reCAPTCHA: si applicano le Norme sulla privacy e i Termini di servizio di Google.

Telefono
+39 0421 1885889
Orari
Lun-Ven 9:00-18:00 · Supporto H24 per i clienti

Supporto Emergenze H24

Cluster fermo o attacco in corso: chiama subito

0421 1880420
Chiama Parla con un esperto