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.
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 NVME | 3 x Ambedded Mars500 Ceph Appliances |
Specifiche di ogni apparecchio Mars 500 | |
CPU | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
Memoria | 96 GiB DDR4 |
Rete | 2 porte 25Gbps Mellanox ConnectX-6 |
Dischi OSD | 8 x Micron 7400 960GB |
Host HDD | 3 x Ambedded Mars400 Ceph Appliances |
Specifiche di ogni dispositivo Mars 400 | |
CPU | 8 nodi Quad-Core Arm64 1.2 GHz |
Memoria | 4GiB per nodo. 32 GiB per dispositivo |
Rete | 2 x 2.5Gbps per nodo. 2x collegamento ascendente da 10 Gb tramite switch in-chassis. |
Dischi OSD | 8 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
Cache stava promuovendo e sfrattando
ID cache del pool 84
client io 42 MiB/s wr, 0 op/s rd, 10,79 k op/s wr
livello cache io 179 MiB/s eliminato, 17 operazioni/s promosso
piscina 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 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
La PG stava sfrattando
ID cache del pool 84
client io 2,6 GiB/s rd, 0 B/s wr, 663 op/s rd, 0 op/s wr
livello cache io 340 MiB/s eliminazione, 2,7 MiB/s eliminazione, 21 operazioni/s promozione, 1 PG eliminazione (completa)
piscina mars400_rbd id 86
client io 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
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...
ParticolariApparecchiatura 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
Dispositivo di archiviazione Ceph
Scheda dati HW & SW dell'appliance di storage Ceph Mars 400.
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.