ReiserFS es un sistema de archivos de propósito general con registro de transacciones, diseñado e implementado inicialmente por un equipo de Namesys liderado por Hans Reiser y licenciado bajo GPLv2 . Introducido en la versión 2.4.1 del kernel de Linux , fue el primer sistema de archivos con registro de transacciones incluido en el kernel estándar. ReiserFS fue el sistema de archivos predeterminado en SUSE Linux Enterprise de Novell hasta que Novell decidió migrar a ext3 para futuras versiones el 12 de octubre de 2006. [ 3 ]
ReiserFS versión 3.6, ahora a veces denominada Reiser3, introdujo un nuevo formato en disco que permitía archivos de mayor tamaño. Namesys consideró que ReiserFS era estable y completo en cuanto a funcionalidades, por lo que cesó su desarrollo para concentrarse en su sucesor, Reiser4 , aunque continuó publicando actualizaciones de seguridad y correcciones de errores críticos. Namesys cerró sus puertas en 2008 tras la condena de Reiser por asesinato. El producto ahora es mantenido como software de código abierto por voluntarios. [ 4 ] Las versiones 3.6.27 de reiserfsprogs se publicaron el 25 de julio de 2017. [ 5 ]
A partir de Linux 6.12, ReiserFS es compatible con Linux sin soporte para cuotas. Debido a problemas técnicos inherentes al sistema de archivos y a la falta de mantenimiento, la comunidad de Linux había estado debatiendo la eliminación de ReiserFS del núcleo principal desde al menos principios de 2022. ReiserFS se eliminó del kernel de Linux en la versión 6.13. [ 6 ] [ 7 ]
Características
En el momento de su lanzamiento, ReiserFS ofrecía características que no estaban disponibles en los sistemas de archivos Linux existentes. Entre ellas se incluye el empaquetado de colas , un método para reducir la fragmentación interna a costa del rendimiento. Es posible que Reiser4 haya mejorado esto al empaquetar las colas cuando no afecta negativamente al rendimiento. [ 8 ]
Diseño
ReiserFS almacena metadatos de archivos ("elementos de estado"), entradas de directorio ("elementos de directorio"), listas de bloques de inodos ("elementos indirectos") y colas de archivos ("elementos directos") en un único árbol B+ combinado , indexado por un ID de objeto universal. Los bloques de disco asignados a los nodos del árbol son "bloques internos formateados". Los bloques para los nodos hoja (en los que los elementos se empaquetan de extremo a extremo) son "bloques hoja formateados". Todos los demás bloques son "bloques sin formatear" que contienen el contenido de los archivos. Los elementos de directorio con demasiadas entradas o los elementos indirectos demasiado largos para caber en un nodo se desbordan al vecino hoja derecho. La asignación de bloques se rastrea mediante mapas de bits de espacio libre en ubicaciones fijas.
Por el contrario, ext2 y otros sistemas de archivos similares a Berkeley FFS de aquella época simplemente utilizaban una fórmula fija para calcular las ubicaciones de los inodos, lo que limitaba el número de archivos que podían contener. [ 9 ] La mayoría de estos sistemas de archivos también almacenan los directorios como simples listas de entradas, lo que hace que las búsquedas y actualizaciones de directorios sean operaciones de tiempo lineal y degrada el rendimiento en directorios muy grandes. El diseño de árbol B+ único de ReiserFS evita ambos problemas gracias a sus mejores propiedades de escalabilidad.
Actuación
En comparación con ext2 y ext3 en la versión 2.4 del kernel de Linux, al trabajar con archivos de menos de 4 KiB y con el empaquetado de cola habilitado, ReiserFS puede ser más rápido. [ 10 ]
Antes de Linux 2.6.33, [ 11 ] ReiserFS utilizaba en gran medida el bloqueo de kernel grande (BKL), un bloqueo global de todo el kernel, que no se adapta bien a sistemas con múltiples núcleos, [ 12 ] ya que las partes críticas del código solo se ejecutan en un núcleo a la vez.
Uso
ReiserFS fue el sistema de archivos predeterminado en SUSE Linux desde la versión 6.4 (lanzada en 2000), [ 13 ] [ 14 ] hasta que se cambió a ext3 en SUSE Linux Enterprise 10.2 y openSUSE 11, anunciados en 2006. [ 15 ] [ 16 ]
Jeff Mahoney de SUSE escribió una publicación el 14 de septiembre de 2006 proponiendo cambiar de ReiserFS a ext3 como sistema de archivos de instalación predeterminado. [ 12 ] Las razones que mencionó incluían la escalabilidad, "problemas de rendimiento con atributos extendidos y ACL ", "una comunidad de desarrollo pequeña y en declive", y que " Reiser4 no es una actualización incremental y requiere un reformateo, lo cual es irrazonable para la mayoría de las personas". [ 12 ] El 4 de octubre escribió un comentario de respuesta en un blog para aclarar algunos problemas. [ 17 ] Escribió que su propuesta de cambio no estaba relacionada con el juicio por asesinato de Hans Reiser. [ 18 ] Mahoney escribió que "le preocupaba que la gente hiciera una conexión donde no existía" y que "la coincidencia es pura casualidad y la motivación no está relacionada". [ 17 ]
Se había discutido la eliminación de ReiserFS del kernel de Linux desde principios de 2022 debido a la falta de mantenimiento en el proyecto principal y a problemas técnicos inherentes al sistema de archivos, como sufrir el problema del año 2038 ; [ 19 ] [ 20 ] [ 21 ] fue descontinuado en Linux 5.18, [ 22 ] y marcado como obsoleto en Linux 6.6, [ 23 ] luego eliminado de la rama principal durante el ciclo de desarrollo de Linux 6.13. [ 24 ] [ 25 ] [ 26 ] [ 7 ] [ 6 ]
Crítica
Algunas operaciones de directorio (incluida unlink (2)) no son síncronas en ReiserFS, lo que puede provocar corrupción de datos en aplicaciones que dependen en gran medida de bloqueos basados en archivos (como agentes de transferencia de correo como qmail [ 27 ] y Postfix [ 28 ] ) si la máquina se detiene antes de que haya sincronizado el disco. [ 29 ]
No existen programas específicos para desfragmentar un sistema de archivos ReiserFS, aunque se han desarrollado herramientas para copiar automáticamente el contenido de archivos fragmentados con la esperanza de encontrar bloques de espacio libre más contiguos. Sin embargo, se planeó una herramienta de "reempaquetado" para el próximo sistema de archivos Reiser4 para abordar la fragmentación de archivos. [ 30 ] La fragmentación sigue siendo un problema en las unidades de estado sólido, independientemente del sistema de archivos. [ 31 ]
fsck
El comando fsck de ReiserFS 3 es capaz de reconstruir todo el árbol como parte del proceso de recuperación en caso de corrupción total. Esta acción debe ser iniciada explícitamente por el administrador y no forma parte del funcionamiento normal. Como es de esperar, el proceso es destructivo y puede corromper aún más los archivos existentes o introducir nuevas entradas con contenido inesperado, lo que ha sido criticado por considerarse un método poco óptimo. [ 32 ]
Las imágenes de ReiserFS v3 no deben almacenarse en una partición de ReiserFS v3 (por ejemplo, copias de seguridad o imágenes de disco para emuladores) sin transformarlas (por ejemplo, mediante compresión o cifrado) para evitar confusiones durante la reconstrucción. Reformatear una partición de ReiserFS v3 existente también puede dejar datos que podrían confundir la operación de reconstrucción y hacer que reaparezcan archivos del sistema antiguo. Esto también permite a usuarios malintencionados almacenar intencionadamente archivos que confundirán al reconstructor. Dado que los metadatos siempre se encuentran en un estado coherente después de una comprobación del sistema de archivos, la corrupción en este caso significa que el contenido de los archivos se fusiona de forma inesperada con los metadatos del sistema de archivos contenido. Esto es similar al problema del FSID en btrfs . El sucesor de ReiserFS, Reiser4, soluciona este problema.
Namesys consideró que ReiserFS en versiones del kernel de Linux anteriores a la 2.4.16 era inestable y no recomendó su uso en producción, especialmente en combinación con NFS . [ 33 ]
Las primeras implementaciones de ReiserFS (antes de la versión 2.6.2 de Linux) también eran susceptibles a errores de escritura fuera de orden. Sin embargo, la implementación actual del registro de transacciones en ReiserFS está a la par con el nivel de registro de transacciones "ordenado" de ext3 .
Véase también
Referencias
- ↑ Diseño de nodos de Reiser FS , Namesys, archivado del original el 14/06/2006.
- 1 2 3 "Especificaciones de Reiser FS" , Preguntas frecuentes , Namesys, archivado del original el 5 de julio de 2006
- ↑ Shankland, Stephen (16 de octubre de 2006). "Novell impulsa un cambio en el software de almacenamiento de archivos" . Business Tech . cnet..
- ↑ Shankland, Stephen (16 de enero de 2008). "Namesys desaparece, pero el proyecto Reiser sigue vivo" . CNet . Archivado del original el 27 de marzo de 2016. Consultado el 26 de enero de 2008 .
- ↑ ""Fossies" - el archivo de software de código abierto Fresh . 25 de julio de 2017. Archivado del original el 25 de julio de 2019. Consultado el 25 de julio de 2019 .
- 1 2 "Fusionar etiqueta 'reiserfs_delete'" . git.kernel.org . Consultado el 24-11-2024 .
- 1 2 Larabel, Michael (2024-11-21). "ReiserFS ha sido eliminado del kernel de Linux" . www.phoronix.com . Recuperado el 24-11-2024 .
- ↑ Reiser, Hans. "¡Reiser4 ya está disponible!" . Archivado del original el 24-10-2007 . Consultado el 15-07-2006 .
- ↑ Mingming Cao; Theodore Y. Ts'o ; Badari Pulavarty; Suparna Bhattacharya (26 de julio de 2005). "Estado del arte: dónde estamos con el sistema de archivos Ext3" . Simposio Linux 2005. Ottawa, Canadá: Centro de Tecnología Linux de IBM . Recuperado el 8 de marzo de 2007 .
- ↑ "Manual de PHP" . php.net . The PHP Group . Consultado el 5 de diciembre de 2018 .
- ↑ "mata-el-BKL" . git.kernel.org .
- 1 2 3 Jeff Mahoney (14-09-2006). "Propuesta: Cambio en el FS predeterminado para versiones >= 10.2" . gmane.org . Recuperado el 23-08-2009 ..
- ↑ "Archivo:SuSE Linux 6.4" . wiki de openSUSE . Consultado el 28 de junio de 2017 .
- ↑ "Guía de administración de SUSE LINUX 9.1: Principales sistemas de archivos en Linux" . Novell . Consultado el 28 de junio de 2017 .
- ↑ Shankland, Stephen (16 de octubre de 2006). "Novell hace un cambio en el software de almacenamiento de archivos" . CNET .
- ↑ Sharma, Mayank (12 de octubre de 2006). "Novell cambiará de ReiserFS a ext3" . Linux.com .
- 1 2 comentario de Jeff Mahoney (04-10-2006). " ¿ SUSE 10.2 abandona ReiserFS como su FS predeterminado ? (comentario 29)" . linux.wordpress.com . Archivado del original el 09-11-2006 . Recuperado el 23-08-2009 .
- ↑ CBS 5 / AP / BCN (14 de septiembre de 2006). "La policía de Oakland registra la casa del exnovio de la mujer desaparecida" . Archivado del original el 6 de noviembre de 2006. Consultado el 23 de agosto de 2009 .
{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace ) - ↑ "Desarrolladores de Linux debaten la descontinuación y eliminación de ReiserFS" . www.phoronix.com . Consultado el 10 de marzo de 2022 .
- ↑ "¿Es hora de eliminar reiserfs? - Matthew Wilcox" . lore.kernel.org . Consultado el 24 de febrero de 2022 .
- ↑ "Re: ¿Es hora de eliminar reiserfs? - Dave Chinner" . lore.kernel.org . Consultado el 10 de marzo de 2022 .
- ↑ "Linux_5.18" . Linux Kernel Newbies . Consultado el 23 de mayo de 2022 .
- ↑ Purdy, Kevin (31 de agosto de 2023). "ReiserFS ahora está "obsoleto" en el kernel de Linux y debería desaparecer para 2025" . Ars Technica . Consultado el 1 de septiembre de 2023 .
- ↑ Larabel, Michael. "El plan de Linux para ReiserFS es descontinuarlo y eliminar el sistema de archivos en 2025" . Phoronix . Consultado el 20 de junio de 2023 .
- ↑ "kernel/git/torvalds/linux.git - Árbol de código fuente del kernel de Linux" . git.kernel.org . Consultado el 22 de mayo de 2022 .
- ↑ Larabel, Michael. "Se espera que el sistema de archivos ReiserFS se elimine con Linux 6.13" . Phoronix . Consultado el 20 de octubre de 2024 .
- ↑ Daniel Robbins (2001), "Guía avanzada para la implementación de sistemas de archivos" . Consultado el 5 de julio de 2006.
- ↑ Matthias Andree (2001), publicación de LKML sobre supuestos de sincronía en postfijo . Consultado el 15 de julio de 2006.
- ↑ "NEOHAPSIS - Paz mental a través de la integridad y la perspicacia" . Archivado del original el 28 de septiembre de 2007. Consultado el 6 de febrero de 2007 .
- ↑ Hans Reiser, diseño de Reiser4, reempaquetador. Archivado el 24 de octubre de 2007 en Wayback Machine . Consultado el 5 de julio de 2006.
- ↑ Martín Farach-Colton, "Envejecimiento del sistema de archivos" , archivo web, 2021
- ↑ Publicación de Theodore Ts'o en LKML . Consultado el 26 de marzo de 2026.
- ↑ Página de descarga de ReiserFS , ver advertencia. Consultado el 5 de julio de 2006.
Enlaces externos
- ReiserFS 3.6 en el repositorio Git de Linus Torvalds : actualmente (2019) el principal recurso de desarrollo de ReiserFS 3.
- Wiki de ReiserFS y Reiser4
- Programas de viaje
- convertfs , una utilidad que realiza la conversión in situ entre dos sistemas de archivos cualesquiera con soporte para archivos dispersos.
- Enlace al foro de Gentoo : debate sobre la fragmentación de ReiserFS, incluyendo un script para medir la fragmentación y desfragmentar archivos.
- Utilidades de Windows para acceder a ReiserFS: YAReG – Yet Another R(eiser)FStool GUI , rfsd – ReiserDriver .
- Software de 2001
- Sistemas de archivos de disco
- Sistemas de archivos compatibles con el kernel de Linux