¿Cómo funciona el escalonamiento de caché de Ceph?
Introducción:
En esta publicación, compartimos una prueba de referencia para demostrar cómo el escalonamiento de caché de Ceph puede mejorar el rendimiento de un grupo HDD al configurar un nivel de caché respaldado por un grupo NVMe.
¿Qué es Ceph Cache Tier y cómo funciona?
La capa de caché de Ceph permite utilizar dispositivos de almacenamiento más rápidos como caché para los más lentos. Esto implica crear un conjunto de dispositivos de almacenamiento rápidos/costosos (como SSD NVMe) configurados para actuar como una capa de caché, y un conjunto de respaldo más lento/más barato de dispositivos codificados por borrado o más lentos (como HDD) configurados para actuar como una capa de almacenamiento económica. La capa de caché almacena datos de acceso frecuente desde la capa de respaldo y atiende solicitudes de lectura y escritura de los clientes. El agente de nivelación de caché periódicamente vacía o elimina objetos de la capa de caché según ciertas políticas.
Demostración de Ceph Cache Tier
En el pasado, cuando se utilizaba el SSD SATA como dispositivo de almacenamiento en caché, la mejora de rendimiento al utilizar la jerarquía de caché era insignificante. Hoy en día, el costo del SSD NVMe ha disminuido mucho en comparación con hace varios años, y el rendimiento del SSD NVMe es mucho más rápido que el HDD. Queremos saber si utilizar el SSD NVMe como capa de caché puede ayudar en gran medida a un grupo de HDD.
Para probar la eficacia del nivel de caché NVMe, configuramos una prueba para ver si el nivel de caché mejoraba el rendimiento de un grupo de almacenamiento basado en HDD.
Configuración del Clúster
Anfitriones NVME | 3 x Ambedded Mars500 Ceph Appliances |
Especificación de cada dispositivo Mars 500 | |
CPU | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
Memoria | 96 GiB DDR4 |
Red | 2 puertos de 25Gbps Mellanox ConnectX-6 |
Unidades de OSD | 8 x Micron 7400 de 960GB |
Hosts de HDD | 3 x Ambedded Mars400 Ceph Appliances |
Especificación de cada aparato Mars 400 | |
CPU | 8 nodos de Quad-Cores Arm64 a 1.2 GHz |
Memoria | 4GiB por nodo. 32 GiB por aparato |
Red | 2 x 2.5Gbps por nodo. 2x enlace ascendente de 10 Gb a través del switch en el chasis. |
Unidades de OSD | 8 x HDD Seagate Exos de 6 TB |
Información del clúster de Ceph
- 24 x OSD en NVMe SSD (3x aparatos Mars500 Ambedded)
- 24x OSD en HDD (3x aparatos Mars400 Ambedded)
- Los servidores HDD y NVMe están ubicados en raíces CRUSH separadas.
Clientes de prueba
- 2 x servidores físicos. 2x tarjeta de red de 25Gb
- Cada servidor ejecuta 7x MVs.
- Cada MV tiene 4x núcleos y 8 GB de memoria
Configurar la capa de caché por medio del gestor UVS Ambedded
1. Crea un pool base utilizando el osd de HDD.
2. Crear un grupo NVMe utilizando el osd NVMe SSD.
3. Agrega el grupo de NVMe como nivel de caché del grupo de HDD.
las configuraciones predeterminadas del nivel de caché:
- Modo de caché: writeback
- hit_set_count = 12
- hit_set_period = 14400 seg (4 horas)
- target_max_byte = 2 TiB
- target_max_objects = 1 millón
- 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 seg.
- cache_min_evict_age = 1800 seg.
Probamos el grupo de HDD antes y después de agregar la capa de caché, utilizando hasta 14 clientes para generar cargas de prueba. Cada cliente montó un RBD para la prueba de fio. La carga de prueba comenzó con un cliente y se aumentó el número de clientes después de que se completara cada trabajo de prueba. Cada ciclo de prueba duró cinco minutos y fue controlado automáticamente por Jenkins. El rendimiento de un trabajo de prueba fue la suma de los resultados de todos los clientes. Antes de probar la jerarquía de caché, escribimos datos en los RBD hasta que el grupo de caché de nivel estuviera lleno por encima de la proporción completa objetivo de caché de ceph (0.8).
Los diagramas demostraron que el rendimiento del conjunto de HDD puros mejoró significativamente después de añadir un conjunto de caché NVMe.
Durante la prueba de la capa de caché, observamos las estadísticas del pool usando el comando ceph osd pool stats. Los pools de caché y base tuvieron actividades de vaciado, expulsión y promoción. Capturamos las estadísticas del pool en diferentes momentos durante la prueba de la capa de caché.
Los datos se escribieron en la caché
id de caché de la piscina 84
cliente io 21 MiB/s escritura, 0 op/s lectura, 5.49k op/s escritura
id de mars400_rbd de la piscina 86
no está pasando nada
La caché estaba realizando promoción y expulsión
piscina de caché id 84
io del cliente 42 MiB/s wr, 0 op/s rd, 10.79k op/s wr
io de nivel de caché 179 MiB/s expulsar, 17 op/s promover
piscina mars400_rbd id 86
io del cliente 0 B/s rd, 1.4 MiB/s wr, 18 op/s rd, 358 op/s wr
La caché se estaba purgando
piscina de caché id 84
cliente io 3.2 GiB/s rd, 830 op/s rd, 0 op/s wr
caché de nivel de caché 238 MiB/s flush, 14 op/s promover, 1 PGs purgando
piscina mars400_rbd id 86
cliente io 126 MiB/s rd, 232 MiB/s wr, 44 op/s rd, 57 op/s wr
Se estaba expulsando el PG
piscina de caché id 84
cliente io 2.6 GiB/s rd, 0 B/s wr, 663 op/s rd, 0 op/s wr
caché de nivel io 340 MiB/s flush, 2.7 MiB/s evict, 21 op/s promote, 1 PGs evicting (full)
piscina mars400_rbd id 86
cliente io 768 MiB/s rd, 344 MiB/s wr, 212 op/s rd, 86 op/s wr
PG Flushing y IO directo del cliente al grupo base.(los clientes estaban escribiendo datos)
id de caché de la piscina 84
cliente io 0 B/s escrito, 0 op/s leído, 1 op/s escrito
caché de nivel de almacenamiento io 515 MiB/s vaciado, 7.7 MiB/s desalojado, 1 PGs vaciando
id de mars400_rbd de la piscina 86
cliente io 613 MiB/s escrito, 0 op/s leído, 153 op/s escrito
Después de la prueba continua, descansamos el clúster durante horas y repetimos la prueba de escritura aleatoria de 4 kB. Obtuvimos un rendimiento mucho mejor. Esto se debió a que se liberó espacio en la caché para la nueva escritura.
De esta prueba, estamos seguros de que el uso del pool NVMe como la capa de caché de un pool HDD puede lograr una mejora de rendimiento significativa.
Debe tenerse en cuenta que el rendimiento de la capa de caché no puede ser garantizado. El rendimiento depende de la condición de acierto de caché en ese momento, y no se puede lograr el mismo rendimiento repitiendo pruebas con la misma configuración y cargas de trabajo.
Si su aplicación necesita un rendimiento constante, utilice un pool SSD NMMe puro.
- Productos Relacionados
Mars500 NVME Todo Flash Ceph Almacenamiento de Aplicaciones
Mars 500
El dispositivo Mars 500 Ceph está diseñado para satisfacer las necesidades de almacenamiento de datos de alto rendimiento en la nube. Utiliza la última...
DetallesAparato de almacenamiento Ceph Mars 400PRO
Mars 400PRO
El dispositivo Mars 400 Ceph Appliance está diseñado para satisfacer las necesidades de almacenamiento de datos nativos en la nube de alta capacidad....
Detalles
Dispositivo de Almacenamiento Ceph
Hoja de datos de hardware y software del dispositivo de almacenamiento Ceph Mars 400.
¿Cómo funciona el escalonamiento de caché de Ceph? | UVS Manager - Simplificando la implementación de Ceph | Ambedded
Ubicada en Taiwán desde 2013, Ambedded Technology Co., LTD. ha sido proveedor de soluciones de almacenamiento de bloques y objetos. Sus principales servicios de gestión de almacenamiento de datos incluyen tecnología de almacenamiento Ceph, integración de servidores ARM, almacenamiento definido por software, optimización de almacenamiento empresarial, ahorro de costos en dispositivos Ceph, software de gestión de almacenamiento y soluciones de almacenamiento de bloques y objetos. Ofrecen soporte profesional de Ceph, sistemas de almacenamiento escalables con alta eficiencia de almacenamiento en el centro de datos.
Ambedded ofrece soluciones de almacenamiento Ceph de vanguardia en microservidores ARM, diseñadas para compradores B2B que buscan optimizar sus sistemas de almacenamiento empresarial. Nuestros dispositivos Ceph llave en mano reducen el costo total de propiedad (TCO) y simplifican la gestión del almacenamiento, admitiendo almacenamiento de bloques, sistemas de archivos y objetos en una plataforma unificada. Con un compromiso con la innovación y el soporte al cliente, Ambedded es su socio de confianza para soluciones escalables y eficientes de SUSE Enterprise Storage Appliance. Experimenta una integración perfecta y un soporte profesional para aprovechar todo el potencial de la tecnología Ceph en tu negocio.
Ambedded ha estado proporcionando a los clientes sistemas de almacenamiento escalables y una gestión de almacenamiento Ceph rentable desde 2013, y con tecnología avanzada y 20 años de experiencia, Ambedded garantiza que se satisfagan las necesidades de cada cliente.