Hoy vamos a presentar a RapidDisk, una colección de módulos y una herramienta de administración para Linux. Entre sus características está la asignación dinámica de RAM como dispositivos de bloque, lo que abre la puerta a su uso como unidades de disco independientes o como nodos de almacenamiento en caché para unidades de disco locales más lentas. El usuario puede acceder a las unidades creadas locamente o exportar volúmenes a través de una red NVMe Target.
Profundizando un poco en las características de RapidDisk, lo primero que se menciona en su repositorio de GitHub son las políticas de caché, las cuales se aprovechan de “una unidad RAM de alta velocidad para agregar velocidad a un volumen más lento utilizando el framework Device-Mapper (nativo de Linux)”. Es posible habilitar una memoria caché ‘Write/Read-through’, que básicamente es un modo que escribe todos los datos en caché en la unidad RAM de RapidDisk y en el disco de forma inmediata, o ‘Write Around’ LRU (FIFO) o LRU (FIFO), que solo lee la operaciones que están en caché y no escribe las operaciones.
Por otro lado, el daemon de RapidDisk (rapiddiskd
) permite gestionar volúmenes de RapidDisk de forma remota y simplificada mediante comandos de GET y POST. Opera por defecto a través del puerto 9118 y los responsables recomiendan revisar la configuración de los puertos TCP en cortafuegos para asegurarse de que todo esté correcto.
Tras presentar qué es RapidDisk, procedemos a mencionar detalles sobre la versión 9.0 de la herramienta de administración, la cual ha llegado con una gran cantidad de novedades que abarcan actualizaciones de los soportes para ciertos componentes, soporte para versiones más recientes del kernel Linux y la introducción de muchas cosas que antes no estaban.
Entre las actualizaciones están la adición del soporte para las versiones 5.19 y 6.0 del kernel Linux y un soporte para el sistema de llamadas ioctl
actualizado. Como adiciones tenemos el código para capturar métricas del conteo de páginas, el soporte para la reducción de imágenes, el bloqueo y desbloqueo de un dispositivo de RAM, una bandera (flag) para suprimir el encabezado de stout
, el soporte para la marca de “modelo” RapidDisk, soporte para la revalidación del tamaño en la lógica de NVMe Target, la reescritura del daemon para ejecutar comandos desde una biblioteca compartida en lugar de abrir la utilidad, comprobación en el análisis de la lógica de la URL para la API REST, se han definido y estandarizado los mensajes de error para lograr coherencia y mejorar el modo detallado, añadido notas de estadísticas de dm-writecache
, además de haberse actualizado los ‘Makefiles’ y añadido de soporte para PPFLAGS, CFLAGS, LDFLAGS, etc.
Todas las novedad en torno a RapidDisk 9.0 están publicadas en el anuncios oficiales que pueden verse en el sitio web del desarrollado principal, Petros Koutoupis, y el lanzamiento en el repositorio GitHub. Para los que arrastren la duda, sí, RapidDisk es software libre debido a que su código fuente está publicado bajo la licencia GPLv2 estándar.