Come si comporta il tiering della cache di Ceph? | Soluzioni di storage Ceph per microserver ARM | Ambedded

Come si comporta il tiering della cache di Ceph? | Interfaccia di gestione di Ceph facile da usare

Come si comporta il tiering della cache di Ceph?

Come si comporta il tiering della cache di Ceph?

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


14 Apr, 2023 Ambedded
Cos'è Ceph Cache Tier e come funziona

Il livello di cache di Ceph consente l'utilizzo di dispositivi di archiviazione più veloci come cache per quelli più lenti. Questo implica la creazione di un pool di dispositivi di archiviazione veloci/costosi (come gli SSD NVMe) configurati per agire come livello di cache, e un pool di dispositivi più lenti/economici (come gli HDD) configurati per agire come livello di archiviazione economico, utilizzando la codifica a cancellazione o dispositivi più lenti. Il livello di cache memorizza i dati frequentemente accessati dal livello di supporto e gestisce le richieste di lettura e scrittura dai clienti. L'agente di tiering della cache periodicamente svuota o espelle gli oggetti dalla cache in base a determinate politiche.

Dimostrazione di Ceph Cache Tier

In passato, quando si utilizzava l'SSD SATA come dispositivo di archiviazione del livello di cache, il miglioramento delle prestazioni ottenuto mediante l'utilizzo del livello di cache era insignificante. Oggi, il costo degli SSD NVMe è diminuito molto rispetto a diversi anni fa e le prestazioni degli SSD NVMe sono molto più veloci rispetto agli HDD. Vogliamo sapere se l'utilizzo degli 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 ogni apparecchio Mars 500
CPU1x Ampere Altra Arm 64-Core 3.0 Ghz
Memoria96 GiB DDR4
Rete2 porte 25Gbps Mellanox ConnectX-6
Dischi OSD8 x Micron 7400 960GB


Host HDD3 x Ambedded Mars400 Ceph Appliances
Specifiche di ogni dispositivo Mars 400
CPU8 nodi Quad-Core Arm64 1.2 GHz
Memoria4GiB per nodo. 32 GiB per dispositivo
Rete2 x 2.5Gbps per nodo. 2x collegamento ascendente da 10 Gb tramite switch in-chassis.
Dischi OSD8 x 6 TB Seagate Exos HDD
Informazioni sul cluster Ceph
  • 24 x OSD su NVMe SSD (3x apparecchi Ambedded Mars500)
  • 24x OSD su HDD (3x apparecchi Ambedded Mars400)
  • I server HDD e NVMe sono situati in radici CRUSH separate.
Client di prova
  • 2 x server fisici. 2x scheda di rete 25Gb
  • Ogni server esegue 7x VM.
  • Ogni VM ha 4x core e 8 GB di memoria
Configurare il livello di cache tramite il gestore UVS Ambedded

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

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

 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 l'aggiunta del 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 prova è iniziato con un solo cliente e il numero di clienti è aumentato dopo il completamento di ogni lavoro di prova. Ogni ciclo di test durava cinque minuti ed era controllato automaticamente da Jenkins. La performance di un lavoro di prova è stata la somma dei risultati di tutti i clienti. Prima di testare la stratificazione della cache, abbiamo scritto i dati sui RBD fino a quando il pool della cache tier è stato riempito oltre il rapporto di riempimento target della cache di ceph (0.8).

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

Durante il test del livello di cache, abbiamo osservato le statistiche del pool utilizzando il comando ceph osd pool stats. I pool di cache e di base avevano attività di svuotamento, espulsione e promozione. Abbiamo registrato le statistiche del pool in diversi momenti durante il test del livello di cache.

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

ID pool mars400_rbd 86
 nessuna attività in corso

La cache stava eseguendo la promozione e l'eliminazione
ID cache pool 84
 IO client 42 MiB/s scrittura, 0 op/s lettura, 10.79k op/s scrittura
 IO cache tier 179 MiB/s eliminazione, 17 op/s promozione

ID pool mars400_rbd 86
 IO client 0 B/s lettura, 1.4 MiB/s scrittura, 18 op/s lettura, 358 op/s scrittura

La cache era in fase di svuotamento
ID cache del pool 84
 IO del client 3.2 GiB/s rd, 830 op/s rd, 0 op/s wr
 IO del livello cache 238 MiB/s flush, 14 op/s promote, 1 PGs in svuotamento

ID del pool mars400_rbd 86
 IO del client 126 MiB/s rd, 232 MiB/s wr, 44 op/s rd, 57 op/s wr

PG stava sfrattando
ID cache del pool 84
 IO del client 2.6 GiB/s rd, 0 B/s wr, 663 op/s rd, 0 op/s wr
 IO del livello cache 340 MiB/s flush, 2.7 MiB/s evict, 21 op/s promote, 1 PGs sfrattando (pieno)

ID del pool mars400_rbd 86
 IO del client 768 MiB/s rd, 344 MiB/s wr, 212 op/s rd, 86 op/s wr

Svuotamento PG e IO client diretti al pool di base.(i client stavano scrivendo dati)
ID cache pool 84
 I/O client 0 B/s scrittura, 0 op/s lettura, 1 op/s scrittura
 I/O cache tier 515 MiB/s flush, 7.7 MiB/s evict, 1 PGs flushin

ID pool mars400_rbd 86
 I/O client 613 MiB/s scrittura, 0 op/s lettura, 153 op/s scrittura

Dopo il test continuo, abbiamo lasciato riposare il cluster per alcune ore e abbiamo rifatto il test di scrittura casuale da 4 kB. Abbiamo ottenuto prestazioni molto migliori. Questo perché lo spazio della cache è stato liberato per la nuova scrittura.
 
Da questo test, siamo certi che l'uso del pool NVMe come livello di cache di un pool HDD può portare a un notevole miglioramento delle prestazioni.
 
È importante notare che le prestazioni del livello di cache non possono essere garantite. Le prestazioni dipendono dalle condizioni di hit della cache in quel momento, e non si possono ottenere le stesse prestazioni ripetendo i test con la stessa configurazione e carichi di lavoro.
 
Se la tua applicazione richiede prestazioni costanti, utilizza un pool SSD NMMe puro.

Prodotti correlati
Apparecchio di archiviazione Ceph Flash NVME Mars500 completamente flash - Apparecchio di archiviazione Flash Ceph con 8 di NVME OSD per casi d'uso ad alte prestazioni
Apparecchio di archiviazione Ceph Flash NVME Mars500 completamente flash
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
Dispositivo di archiviazione Mars 400PRO Ceph - Ceph Storage Appliance Mars 400 frontale.
Dispositivo di archiviazione Mars 400PRO Ceph
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

Apparecchio di archiviazione Ceph

Scheda tecnica dell'apparecchio di archiviazione Mars 400 Ceph HW & SW.

Come si comporta il tiering della cache di Ceph? | UVS Manager - Semplicifica l'implementazione di Ceph | Ambedded

Situate a Taiwan dal 2013, Ambedded Technology Co., LTD. è stata un fornitore di soluzioni di storage a blocchi e oggetti. La loro principale gestione di storage dati include la tecnologia di storage Ceph, l'integrazione di server ARM, lo storage definito dal software, l'ottimizzazione dello storage aziendale, il risparmio dei costi degli appliance Ceph, il software di gestione dello storage e le soluzioni di storage a blocchi e oggetti. Forniscono supporto professionale per Ceph, sistemi di storage scalabili con un'alta efficienza di storage nel data center.

Ambedded offre soluzioni di storage Ceph all'avanguardia su microserver ARM, su misura per acquirenti B2B che cercano di ottimizzare i loro sistemi di storage aziendali. I nostri appliance Ceph chiavi in mano riducono il costo totale di proprietà (TCO) e semplificano la gestione dello storage, supportando il blocco, il file system e lo storage oggetti in una piattaforma unificata. Con un impegno per l'innovazione e il supporto al cliente, Ambedded è il tuo partner di fiducia per soluzioni scalabili ed efficienti di SUSE Enterprise Storage Appliance. Sperimenta un'integrazione senza soluzione di continuità e un supporto professionale per sfruttare appieno il potenziale della tecnologia Ceph nella tua azienda.

Ambedded fornisce ai clienti sistemi di archiviazione scalabili e una gestione economica dello storage Ceph dal 2013, e con una tecnologia avanzata e 20 anni di esperienza, Ambedded garantisce che le esigenze di ogni cliente siano soddisfatte.