Come si comporta il tiering della cache Ceph? | Fornitore di soluzioni e servizi di storage Ceph. Software Full-Stack per Ceph.

Come si comporta il tiering della cache Ceph? | Fornitore di soluzioni e servizi di archiviazione Ceph. Software Full-Stack per Ceph.

Come si comporta il tiering della cache Ceph?

Come si comporta il tiering della cache Ceph?

Introduzione:
In questo post, condividiamo un test di benchmark per dimostrare come il tiering della cache Ceph possa migliorare le prestazioni di un pool HDD impostando un livello di cache supportato da un pool NVMe.


Che cos'è Ceph Cache Tier e come funziona

Il livello di cache Ceph consente di utilizzare dispositivi di archiviazione più veloci come cache per quelli più lenti. Questo comporta la creazione di un pool di dispositivi di archiviazione veloci/costosi (come gli SSD NVMe) configurati per fungere da livello di cache, e un pool di supporto più lento/economico di dispositivi codificati per cancellazione o più lenti (come gli HDD) configurati per fungere da livello di archiviazione economico. Il livello di cache memorizza i dati frequentemente accessibili dal livello di supporto e gestisce le richieste di lettura e scrittura dai client. L'agente di tiering della cache svuota o espelle periodicamente gli oggetti dal livello di cache in base a determinate politiche.

Demo di Ceph Cache Tier

In passato, quando si utilizzava l'SSD SATA come dispositivo di archiviazione per il livello di cache, il miglioramento delle prestazioni derivante dall'uso del livellamento della cache era insignificante. Oggigiorno, il costo degli SSD NVMe è notevolmente diminuito rispetto a diversi anni fa, e le prestazioni degli SSD NVMe sono di gran lunga più veloci rispetto agli HDD. Vogliamo sapere se l'uso dell'SSD NVMe come livello di cache può aiutare notevolmente un pool di HDD.

Per testare l'efficacia del livello di cache NVMe, abbiamo impostato un test per vedere se il livello di cache migliorava le prestazioni di un pool di archiviazione basato su HDD.

Configurazione del Cluster
Host NVME3 x Ambedded Mars500 Ceph Appliances
Specifiche di ciascun apparecchio Mars 500
CPU1x Ampere Altra Arm 64-Core 3.0 Ghz
Memoria96 GiB DDR4
Rete2 porte 25Gbps Mellanox ConnectX-6
Unità OSD8 x Micron 7400 960GB


Host HDD3 x Ambedded Mars400 Ceph Appliances
Specifiche di ciascun apparecchio Mars 400
CPU8 nodi Quad-Core Arm64 1.2 GHz
Memoria4GiB per nodo. 32 GiB per apparecchio
Rete2 x 2.5Gbps per nodo. 2x 10 Gb uplink tramite switch in chassis.
Unità OSD8 x 6 TB Seagate Exos HDD
Informazioni sul Cluster Ceph
  • 24 x OSD su NVMe SSD (3x Ambedded apparecchi Mars500)
  • 24x OSD su HDD (3x Ambedded apparecchi Mars400)
  • I server HDD e NVMe si trovano in radici CRUSH separate.
Client di Test
  • 2 x server fisici. 2x scheda di rete 25Gb
  • Ogni server esegue 7x VM.
  • Ogni VM ha 4x core e 8 GB di memoria
Configura il livello di cache tramite il gestore Ambedded UVS

 1. Crea un pool di base utilizzando l'HDD osd.

 2. Crea un pool NVMe utilizzando l'SSD NVMe osd.

 3. Aggiungi il pool NVMe come livello di cache del pool HDD.
      le configurazioni predefinite del livello di cache:

  • Modalità cache: writeback
  • hit_set_count = 12
  • hit_set_period = 14400 sec (4 ore)
  • target_max_byte = 2 TiB
  • target_max_objects = 1 milione
  • min_read_recency_for_promote & min_write_recency_for_promote = 2
  • cache_target_dirty_ratio = 0.4
  • cache_target_dirty_high_ratio = 0.6
  • cache_target_full_ratio = 0.8
  • cache_min_flush_age = 600 sec.
  • cache_min_evict_age = 1800 sec.

Abbiamo testato il pool HDD prima e dopo aver aggiunto il livello di cache, utilizzando fino a 14 client per generare carichi di test. Ogni cliente ha montato un RBD per il test fio. Il carico di test è iniziato con un cliente e ha aumentato il numero di clienti dopo il completamento di ogni lavoro di test. Ogni ciclo di test durava cinque minuti ed era controllato automaticamente da Jenkins. Le prestazioni di un lavoro di test erano la somma di tutti i risultati dei clienti. Prima di testare il tiering della cache, abbiamo scritto dati negli RBD fino a quando il pool della cache tier non è stato riempito oltre il rapporto di piena del target della cache ceph (0,8).

I diagrammi hanno mostrato che le prestazioni del pool HDD puro sono state significativamente migliorate dopo aver aggiunto un pool di cache NVMe.

Durante il test di livello cache, abbiamo osservato le statistiche del pool usando il comando CEPH OSD Pool Statists. La cache e le piscine di base avevano le attività di lavaggio, sfratto e promozione. Abbiamo catturato le statistiche del pool in momenti diversi durante il test di livello cache.

I dati sono stati scritti nella cache
id cache pool 84
client io 21 MiB/s scrittura, 0 op/s lettura, 5.49k op/s scrittura

id pool mars400_rbd 86
non sta succedendo nulla

La cache stava eseguendo promote ed evict
cache pool id 84
 client io 42 MiB/s wr, 0 op/s rd, 10.79k op/s wr
livello cache io 179 MiB/s evict, 17 op/s promote

pool mars400_rbd id 86
 client io 0 B/s rd, 1.4 MiB/s wr, 18 op/s rd, 358 op/s wr

La cache è in fase di svuotamento
id cache pool 84
client io 3.2 GiB/s rd, 830 op/s rd, 0 op/s wr
io tier cache 238 MiB/s svuotamento, 14 op/s promuovi, 1 PGs in svuotamento

id pool mars400_rbd 86
client io 126 MiB/s rd, 232 MiB/s wr, 44 op/s rd, 57 op/s wr

PG stava espellendo
id cache pool 84
io client 2.6 GiB/s rd, 0 B/s wr, 663 op/s rd, 0 op/s wr
io tier cache 340 MiB/s flush, 2.7 MiB/s evict, 21 op/s promote, 1 PGs espellendo (pieno)

id pool mars400_rbd 86
io client 768 MiB/s rd, 344 MiB/s wr, 212 op/s rd, 86 op/s wr

Flushing PG e IO client diretto al pool di base.(i client stavano scrivendo dati)
id cache pool 84
 io client 0 B/s scrittura, 0 op/s lettura, 1 op/s scrittura
 io livello cache 515 MiB/s svuotamento, 7.7 MiB/s espulsione, 1 PGs svuotamento

id pool mars400_rbd 86
 io client 613 MiB/s scrittura, 0 op/s lettura, 153 op/s scrittura

Dopo il test continuo, abbiamo fatto riposare il cluster per ore e abbiamo ripetuto il test di scrittura casuale da 4 kB. Abbiamo ottenuto prestazioni molto migliori. Questo è stato possibile perché lo spazio della cache è stato liberato per la nuova scrittura.
 
Da questo test, siamo certi che utilizzare il pool NVMe come livello di cache di un pool HDD può portare a un significativo miglioramento delle prestazioni.
 
Va notato che le prestazioni del livellamento della cache non possono essere garantite. Le prestazioni dipendono dalla condizione di hit della cache in quel momento, e le stesse prestazioni non possono essere ottenute ripetendo i test con la stessa configurazione e carichi di lavoro.
 
Se la tua applicazione ha bisogno di prestazioni costanti, utilizza un pool SSD NMMe puro.

Prodotti correlati
Mars500 NVME Tutto Flash Ceph Storage Appliance - Apparecchio di archiviazione Flash Ceph con 8 di NVME OSD per casi d'uso ad alte prestazioni
Mars500 NVME Tutto Flash Ceph Storage Appliance
Mars 500

L'apparecchio Mars 500 Ceph è progettato per soddisfare le esigenze di archiviazione dati ad alte prestazioni per il cloud. Utilizza l'ultima tecnologia...

Particolari
Apparecchiatura di archiviazione Ceph Mars 400PRO - Apparecchiatura di archiviazione Ceph Mars 400 front.
Apparecchiatura di archiviazione Ceph Mars 400PRO
Mars 400PRO

Mars 400 Ceph Appliance è progettato per soddisfare le esigenze di archiviazione dati native del cloud ad alta capacità. Utilizza HDD per beneficiare...

Particolari

Come si comporta il tiering della cache Ceph? | Fornitore di soluzioni e servizi di archiviazione Ceph. Software Full-Stack per Ceph.

Fondata a Taiwan nel 2013, Ambedded Technology Co., LTD. è un fornitore leader di soluzioni di archiviazione a blocchi, file e oggetti basate su storage definito dal software Ceph. Ci specializziamo nella fornitura di sistemi di archiviazione ad alta efficienza e scalabili per data center, imprese e istituzioni di ricerca. Le nostre offerte includono appliance di archiviazione basate su Ceph, integrazione di server, ottimizzazione dello storage e implementazione economica di Ceph con gestione semplificata.

Ambedded offre soluzioni di storage Ceph chiavi in mano e soluzioni software Ceph full-stack su misura per le organizzazioni B2B. La nostra piattaforma di archiviazione Ceph supporta l'archiviazione unificata di blocchi, file (NFS, SMB, CephFS) e oggetti compatibili con S3, riducendo il costo totale di proprietà (TCO) migliorando al contempo l'affidabilità e la scalabilità. Con la regolazione Ceph integrata, un'interfaccia web intuitiva e strumenti di automazione, aiutiamo i clienti a ottenere uno storage ad alte prestazioni per carichi di lavoro AI, HPC e cloud.

Con oltre 20 anni di esperienza nell'IT aziendale e più di un decennio nella distribuzione di storage Ceph, Ambedded ha realizzato oltre 200 progetti di successo a livello globale. Offriamo consulenza esperta, progettazione di cluster, supporto alla distribuzione e manutenzione continua. Il nostro impegno per un supporto professionale a Ceph e un'integrazione senza soluzione di continuità garantisce che i clienti ottengano il massimo dalla loro infrastruttura di storage basata su Ceph — su larga scala, con rapidità e nel rispetto del budget.