Linux Adictos David Naranjo  

Reiser5 un sistema de archivos en desarrollo integra el soporte para el escalado paralelo

ReiserFS

Edward Shishkin es un desarrollador que se ha encargado de mantener el soporte del sistema de archivos Reiser4 durante la última década para las nuevas versiones del kernel. Aun que el sistema se ha mantenido, a diferencia de otros sistemas de archivos que han avanzado en su desarrollo. Edward Shishkin trabajo en el mantenimiento de Reiser4 y al mismo tiempo trabajo sobre el desarrollo para el sistema de archivos Reiser5 el cual ya se encuentra disponible para pruebas.

Esta nueva versión de Reiser5 se destaca por incluir la innovación en el escalado paralelo, que se lleva a cabo no a nivel de bloque, sino a través del sistema de archivos.

Como ventaja de este enfoque, se declara la ausencia de inconvenientes inherentes en los paquetes FS + RAID/LVM y FS no paralelos (ZFS, Btrfs), como el problema del espacio libre, el hundimiento del rendimiento al llenar el volumen por encima del 70%, los algoritmos de diseño de volumen lógico obsoletos (RAID/LVM), no le permite distribuir eficientemente datos en un volumen lógico.

En un FS paralelo, antes de agregar un dispositivo a un volumen lógico, debe formatearse con la utilidad mkfs estándar.

A diferencia de ZFS, Reiser5 no implementa su propia capa de bloque, aun que utiliza un asignador de bloque libre O (1). Es posible componer de manera simple y eficiente un volumen lógico a partir de dispositivos de bloque de diferentes tamaños y anchos de banda. Los datos se distribuyen entre dichos dispositivos utilizando nuevos algoritmos.

En el anuncio de esta versión de prueba Edward Shishkin comento:

Me complace anunciar un nuevo método de agregación de dispositivos de bloque en volúmenes lógicos en una máquina local.

Creo que es un nivel cualitativamente nuevo en el desarrollo de sistemas de archivos (y sistemas operativos): volúmenes locales con escalamiento paralelo…

En nuestro enfoque, el escalado horizontal se realiza por medios del sistema de archivos, en lugar de por medios de capa de bloque. El usuario controla el flujo de solicitudes de E/S emitidas para cada dispositivo…

Tal y como comenta Edward Shishkin: una parte de las solicitudes de E/S dirigidas a cada dispositivo es igual a su capacidad relativa asignada por el usuario, de modo que el volumen lógico se llena con los datos “de manera uniforme” y “justa”.

Al mismo tiempo, los dispositivos de bloque de menor capacidad reciben menos bloques para el almacenamiento, y los dispositivos con menor rendimiento no se convierten en un cuello de botella (como es el caso, por ejemplo, en las matrices RAID).

Al agregar un dispositivo al volumen y quitar el dispositivo del volumen se acompaña de un reequilibrio que preserva la “imparcialidad” de la distribución.

Es posible mantener simultáneamente todos los dispositivos de bloque incluidos en el volumen lógico utilizando un enfoque individual para cada uno de ellos (desfragmentación para discos duros, publicación de consultas de descarte para SSD, etc.).

El espacio libre en un volumen lógico se controla mediante la utilidad estándar df (1). Además, el usuario tiene la oportunidad de monitorear el espacio libre en cada componente del dispositivo del volumen lógico.

Se logró un progreso significativo en el escalado horizontal mediante el archivo de red paralelo (GPFS, Lustre, etc.). Sin embargo, no estaba claro, cómo aplicar
sus tecnologías a un FS local.

Principalmente, es porque en un archivo local los sistemas no tienen tanto lujo como el “almacenamiento de back-end” como la red los hacen. Lo que el FS local tiene es una interfaz extremadamente pobre de interacción con la capa de bloque. Por ejemplo, en Linux local FS puede solo redactar y emitir una solicitud de E/S contra algún búfer.

Entre los elementos que todavía están en la lista TODO de Reiser5 se encuentran:

  • la actualización de FSCK para admitir volúmenes lógicos
  • LV asimétrico con más de un bloque de metadatos por volumen
  • volúmenes lógicos simétricos
  • instantáneas 3D de LV
  • Distribución de metadatos en varios subvolúmenes
  • Verificar/restaurar volúmenes lógicos utilizando la utilidad fsck (actualizando su versión anterior)
  • Volúmenes globales (redes), agregando dispositivos en diferentes máquinas.

Si quieres conocer más al respecto, puedes consultar el siguiente enlace. 

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.