* Ventajas de su diseño distribuido:
Con frecuencia las soluciones de almacenamiento de fabricante actuales tienden a ser extremadamente cerradas, lo que nos supone pérdida de control sobre la configuración, operación y monitorización de un punto crítico de nuestras infraestructuras. Para muchas de estas operaciones se requiere la intervención a través de un usuario privilegiado y secreto, haciendo uso de interfaces específicos de mantenimiento y utilizando comandos que no aparecen en la documentación de usuario. Todo lo que el fabricante nos ofrece muchas veces es un interface web agradable y las opciones que nos pueda aportar el botón derecho del ratón. Creemos que CEPH puede llegar a ser una alternativa para entornos Enterprise muy atractiva y que no solo cumple, sino que supera muchas veces las funcionalidades que nos pueden dar otras soluciones de almacenamiento
El objetivo de esta charla hacer un pequeño resumen de nuestra experiencia utilizando el sistema de almacenamiento Ceph con la intención de animar a más Universidades a unirse al proyecto y crear una comunidad saludable, hasta ahora el sistema ha superado con creces nuestras expectativas.
Los servicios suministrados por esta solución SDS son: Bloque mediante RBD, permitiendo, clonación, replicación, snap, exportación completa o de snap. Sistema de archivos tanto nativo, Cephfs soportado por el kernel de Linux, como NFS utilizando la pasarela nfs-ganesha. Soporta acceso a objetos mediante API S3 usando la pasarela Ceph Object Gateway S3. Finalmente puede integrarse con productos compatibles con ISCSI mediante Ceph iSCSI Gateway.
Una de sus principales fortalezas es su diseño distribuido que nos ofrece la posibilidad de configurar distintos dominios de fallo, permitiendo de esta forma adaptar la distribución y replicación de nuestros datos en los pool de forma que sea tolerante a fallos en diferentes niveles como osd, host, chassis, rack, row, pdu, pod, room, datacenter, región, root. Esto se traduce en una alta disponibilidad y un rendimiento bastante razonable. Esta arquitectura permite actualizaciones hardware y de software sin degradar el cluster ni dejar de dar servicio en ningún momento, para los clientes es algo totalmente transparente.
Otro gran atractivo de esta tecnología es el gran grado de heterogeneidad que permite en el hardware. Gracias a esto podemos tener discos con diferentes tecnologías y tamaños pudiendo definir cómo se debe comportar con cada disco en función de estas características. Esto se traduce en un alto grado de disponibilidad y escalado. Permitiendo configurar el algoritmo de compresión en cada pool en función de la cpu disponible, o colocar una capa de “cache tier” sobre un pool que por su naturaleza pueda beneficiarse de esta tecnología.
Hardware utilizado:
En infraestructuras de cierta complejidad enseguida aparece la necesidad de tener algún servicio de monitorización para detectar problemas, tras crear el sistema de alarma aparece la necesidad de analizar las caídas de servicios, para ello necesitamos almacenar gran cantidad de datos de nuestros sistemas, al realizar una gran recopilación de datos no es necesario que todos estén alarmados, simplemente guardarlos para poder analizarlos en caso de necesidad. Alarmar innecesariamente crea demasiado “ruido”.
La solución de monitorización que adoptamos hace ya varios años es Pandora fms, partíamos de multiples mecanismos muy dispares, productos, script propios, correos automáticos lanzados pro cron y se hacía necesario unificar todo para ver la salud de nuestros servicios de un solo golpe de vista.
Una de las mayores dificultades en monitorización es acercarse a la experiencia de usuario. Podemos tener un servicio con varias alarmas encendidas pero que el usuario no note nada o tener un servicio con todo en verde y que los usuarios llamen porque va lento o directamente no funciona.
Hasta ahora los monitores “inteligentes” que simulan una navegación estaban basados en programas como Wget, Jmeter o expect siendo complicados de desarrollar y muy sensibles a cualquier cambio en la programación.
La integración de Selenium en Pandora aporta la parte que faltaba, no solo informa del estado de funcionamiento o no de un servicio desde el punto de vista de usuario, sino que además, al realizar un renderizado completo de la web en un navegador real, puede obtener métricas reales de la experiencia de los usuarios en nuestros servicios.
Durante los últimos años hemos estado trabajando utilizando solamente esta tecnología haciendo uso de los agentes para la medición de parámetros de las máquinas y de las alarmas para controlar los contratiempos que pudieran aparecer. También un factor muy importante que nos proporciona Pandora es tener una base de datos donde se almacena todo lo que sucede en nuestros sistemas pudiendo de esta manera observar qué es lo que ha llevado a cabo la incidencia y como ha reaccionado nuestro sistema tras ésta.
CEPH: Vuelve a tener control sobre tu Storage Eduardo Fiat - Vlad Teletin
¿Alguna pregunta…?
Estaremos encantados de ampliar la información y tratar de crear comunidad
Contacto: Eduardo Fiat (etfiat@unizar.es) - Vlad Teletin (vlad@unizar.es)