
¿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 Storage Appliance
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? | Soluciones de Almacenamiento Ceph; Dispositivos y Software Ceph|Ambedded
Fundada en Taiwán en 2013, Ambedded Technology Co., LTD. es un proveedor líder de soluciones de almacenamiento en bloque, archivo y objeto basadas en almacenamiento definido por software Ceph. Nos especializamos en ofrecer sistemas de almacenamiento escalables y de alta eficiencia para centros de datos, empresas e instituciones de investigación. Nuestras ofertas incluyen dispositivos de almacenamiento basados en Ceph, integración de servidores, optimización de almacenamiento y despliegue de Ceph rentable con gestión simplificada.
Ambedded proporciona dispositivos de almacenamiento Ceph llave en mano y soluciones de software Ceph de pila completa adaptadas para organizaciones B2B. Nuestra plataforma de almacenamiento Ceph admite almacenamiento unificado de bloques, archivos (NFS, SMB, CephFS) y almacenamiento de objetos compatible con S3, reduciendo el costo total de propiedad (TCO) mientras mejora la confiabilidad y escalabilidad. Con la afinación de Ceph integrada, una interfaz web intuitiva y herramientas de automatización, ayudamos a los clientes a lograr un almacenamiento de alto rendimiento para cargas de trabajo de IA, HPC y en la nube.
Con más de 20 años de experiencia en TI empresarial y más de una década en la implementación de almacenamiento Ceph, Ambedded ha entregado más de 200 proyectos exitosos a nivel mundial. Ofrecemos consultoría experta, diseño de clústeres, soporte en la implementación y mantenimiento continuo. Nuestro compromiso con el soporte profesional de Ceph y la integración sin problemas asegura que los clientes obtengan el máximo de su infraestructura de almacenamiento basada en Ceph, a gran escala, con rapidez y dentro del presupuesto.