Viajero FS

Sistema de archivos con registro en diario
ReiserFS 3.6
Desarrollador(es)Nombresys
Nombre completoViajero FS
Introducido2001 ; hace 23 años con Linux 2.4.1 ( 2001 )
Identificadores de particiones
Estructuras
Contenido del directorioÁrbol B+
Asignación de archivosMapa de bits [1]
Límites
Tamaño máximo del volumen16 TiB [2]
Tamaño máximo de archivo1 EiB (8 TiB en sistemas de 32 bits) [2]
Número máximo de archivos2 32 −3 (~4 mil millones) [2]
Longitud máxima del nombre de archivo4032 bytes, limitado a 255 por Linux VFS

Caracteres de nombre de archivo permitidos
Todos los bytes excepto NUL y '/'
Características
Fechas registradasModificación (mtime), cambio de metadatos (ctime), acceso (atime)
Rango de fechas14 de diciembre de 1901 – 18 de enero de 2038 (tiempo Unix de 32 bits)
Resolución de fecha1 segundo
TenedoresAtributos extendidos

Permisos del sistema de archivos
Permisos de Unix, ACL y atributos de seguridad arbitrarios

Compresión transparente
No

Cifrado transparente
No
Otro
Sistemas operativos compatibles
Linux, ReactOS

ReiserFS es un sistema de archivos de registro de uso general diseñado e implementado inicialmente por un equipo de Namesys dirigido por Hans Reiser y con licencia GPLv2 . Introducido en la versión 2.4.1 del núcleo Linux , fue el primer sistema de archivos de registro que se incluyó en el núcleo 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]

La versión 3.6 de ReiserFS, ahora denominada ocasionalmente Reiser3, introdujo un nuevo formato en disco que permite archivos de mayor tamaño. Namesys consideró que ReiserFS era estable y completo en cuanto a funciones, y cesó su desarrollo para concentrarse en su sucesor, Reiser4 , aunque continuó lanzando actualizaciones de seguridad y correcciones de errores críticos. Namesys cerró en 2008 después de la condena de Reiser por asesinato. El producto ahora se mantiene como código abierto por voluntarios. [4] Las reiserfsprogs 3.6.27 se lanzaron el 25 de julio de 2017. [5]

ReiserFS actualmente es compatible con Linux sin compatibilidad con cuotas. Se ha discutido su eliminación del kernel de Linux desde principios de 2022 debido a la falta de mantenimiento y a problemas técnicos inherentes al sistema de archivos, como el problema del año 2038 ; [6] [7] [8] quedó obsoleto en Linux 5.18, [9] y se marcó como obsoleto en Linux 6.6. [10] Se planea su eliminación en Linux 6.13. [11] [12] [13] [14]

Características

En el momento de su introducción, ReiserFS ofrecía características que no estaban disponibles en los sistemas de archivos Linux existentes, como el empaquetamiento de colas , un esquema para reducir la fragmentación interna a costa del rendimiento. Es posible que Reiser4 haya mejorado esto al empaquetar colas donde no afecten negativamente al rendimiento. [15]

Diseño

ReiserFS almacena metadatos de archivos ("elementos estadísticos"), 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, codificado 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 formato" que contienen contenidos de archivos. Los elementos de directorio con demasiadas entradas o elementos indirectos que son demasiado largos para caber en un nodo se desbordan hacia el vecino hoja correcto. 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 tipo Berkeley FFS de esa época simplemente usaban una fórmula fija para calcular las ubicaciones de los inodos, lo que limitaba la cantidad de archivos que podían contener. [16] La mayoría de estos sistemas de archivos también almacenan 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 en ReiserFS evita ambos problemas debido a mejores propiedades de escalabilidad.

Actuación

En comparación con ext2 y ext3 en la versión 2.4 del kernel de Linux, cuando se trabaja con archivos de menos de 4  KiB y con el empaquetamiento de cola habilitado, ReiserFS puede ser más rápido. [17]

Antes de Linux 2.6.33, [18] ReiserFS usaba intensamente el bloqueo de núcleo grande (BKL), un bloqueo global de todo el núcleo, que no escala bien para sistemas con múltiples núcleos, [19] ya que las partes críticas del código solo las ejecuta 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), [20] [21] hasta cambiar a ext3 en SUSE Linux Enterprise 10.2 y openSUSE 11, anunciado en 2006. [22] [23]

Jeff Mahoney de SUSE escribió un artículo el 14 de septiembre de 2006 proponiendo pasar de ReiserFS a ext3 como sistema de archivos de instalación predeterminado. [19] Las razones que mencionó incluían escalabilidad, "problemas de rendimiento con atributos extendidos y ACL ", "una comunidad de desarrollo pequeña y cada vez más reducida", y que " Reiser4 no es una actualización incremental y requiere un reformateo, lo que no es razonable para la mayoría de las personas". [19] El 4 de octubre escribió un comentario de respuesta en un blog para aclarar algunos problemas. [24] Escribió que su propuesta para el cambio no estaba relacionada con el juicio por asesinato de Hans Reiser. [25] [ verificación fallida ] Mahoney escribió que "estaba preocupado de que la gente hiciera una conexión donde no existía" y que "el momento es completamente coincidente y la motivación no está relacionada". [24]

Crítica

Algunas operaciones de directorio (incluida la desvinculación (2)) no son sincrónicas 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 [26] y Postfix [27] ) si la máquina se detiene antes de haber sincronizado el disco. [28]

No existen programas para desfragmentar específicamente un sistema de archivos ReiserFS, aunque se han escrito herramientas para copiar automáticamente el contenido de los archivos fragmentados con la esperanza de encontrar más bloques contiguos de espacio libre. Sin embargo, se planeó una herramienta de "reempaquetado" para el próximo sistema de archivos Reiser4 para lidiar con la fragmentación de archivos. [29] La fragmentación sigue siendo un problema con los SSD independientemente del sistema de archivos. [30]

FSC

El fsck de ReiserFS 3 es capaz de reconstruir todo el árbol como parte del rescate en caso de que esté totalmente dañado. Esta acción debe ser iniciada explícitamente por el administrador y no es parte del funcionamiento normal. Como era de esperar, el proceso es destructivo y puede dañar aún más los archivos existentes o introducir nuevas entradas con contenidos inesperados, lo que ha sido criticado como un método poco óptimo. [31]

Las imágenes de ReiserFS v3 no se deben almacenar en una partición de ReiserFS v3 (por ejemplo, copias de seguridad o imágenes de disco para emuladores) sin transformarlas (por ejemplo, comprimiéndolas o cifrándolas) para evitar confundir 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 los archivos del sistema anterior. Esto también permite que los usuarios malintencionados almacenen archivos intencionalmente que confundirán al reconstructor. Como los metadatos siempre están en un estado consistente después de una verificación del sistema de archivos, la corrupción aquí significa que el contenido de los archivos se fusiona de formas inesperadas con los metadatos del sistema de archivos contenido. Esto es similar al problema de FSID en btrfs . El sucesor de ReiserFS, Reiser4, soluciona este problema.

ReiserFS en versiones del kernel Linux anteriores a 2.4.16 fue considerado inestable por Namesys y no recomendado para uso en producción, especialmente en conjunto con NFS . [32]

Las primeras implementaciones de ReiserFS (anteriores a la de Linux 2.6.2) también eran susceptibles a los peligros de escritura fuera de orden. Pero la implementación actual de registro en diario en ReiserFS ahora está a la par con el nivel de registro en diario "ordenado" de ext3 . [ cita requerida ]

Véase también

Referencias

  1. ^ Disposición del nodo Reiser FS, Namesys, archivado desde el original el 14 de junio de 2006
  2. ^ abc "Especificaciones de Reiser FS", FAQ , Namesys, archivado desde el original el 5 de julio de 2006
  3. ^ Shankland, Stephen (16 de octubre de 2006). "Novell hace un cambio en el software de almacenamiento de archivos". Business Tech . cnet..
  4. ^ Shankland, Stephen (16 de enero de 2008). «Namesys desaparece, pero el proyecto Reiser sigue vivo». CNet . Archivado desde el original el 27 de marzo de 2016. Consultado el 26 de enero de 2008 .
  5. ^ ""Fossies" - el nuevo archivo de software de código abierto". 25 de julio de 2017. Consultado el 25 de julio de 2019 .
  6. ^ "Los desarrolladores de Linux debaten sobre la descontinuación y eliminación de ReiserFS". www.phoronix.com . Consultado el 10 de marzo de 2022 .
  7. ^ "¿Es hora de eliminar reiserfs? - Matthew Wilcox". lore.kernel.org . Consultado el 24 de febrero de 2022 .
  8. ^ "Re: ¿Es hora de eliminar reiserfs? - Dave Chinner". lore.kernel.org . Consultado el 10 de marzo de 2022 .
  9. ^ "Linux_5.18". Nuevos en el kernel de Linux . Consultado el 23 de mayo de 2022 .
  10. ^ Purdy, Kevin (31 de agosto de 2023). "ReiserFS ahora está "obsoleto" en el núcleo de Linux y debería desaparecer en 2025". Ars Technica . Consultado el 1 de septiembre de 2023 .
  11. ^ Larabel, Michael. "El plan de Linux para ReiserFS es dejarlo obsoleto y eliminar el sistema de archivos en 2025". Phoronix . Consultado el 20 de junio de 2023 .
  12. ^ "kernel/git/torvalds/linux.git - Árbol de código fuente del kernel de Linux". git.kernel.org . Consultado el 22 de mayo de 2022 .
  13. ^ Larabel, Michael. "Se espera que el sistema de archivos ReiserFS se elimine con Linux 6.13". Phoronix . Consultado el 20 de octubre de 2024 .
  14. ^ "kernel/git/torvalds/linux.git - Árbol de código fuente del kernel de Linux". git.kernel.org . Consultado el 20 de octubre de 2024 .
  15. ^ Reiser, Hans. "¡Reiser4 ya está disponible!". Archivado desde el original el 24 de octubre de 2007. Consultado el 15 de julio de 2006 .
  16. ^ Mingming Cao; Theodore Y. Ts'o ; Badari Pulavarty; Suparna Bhattacharya (26 de julio de 2005). "Estado del arte: dónde nos encontramos con el sistema de archivos Ext3". Simposio sobre Linux de 2005. Ottawa, Canadá: IBM Linux Technology Center . Consultado el 8 de marzo de 2007 .
  17. ^ "Manual de PHP". php.net . The PHP Group . Consultado el 5 de diciembre de 2018 .
  18. ^ "matar-al-BKL". git.kernel.org .
  19. ^ abc Jeff Mahoney (14 de septiembre de 2006). "Propuesta: cambio en el sistema de archivos predeterminado para versiones >= 10.2". gmane.org . Consultado el 23 de agosto de 2009 ..
  20. ^ "Archivo:SuSE Linux 6.4". Wiki de openSUSE . Consultado el 28 de junio de 2017 .
  21. ^ "Guía de administración de SUSE LINUX 9.1: Principales sistemas de archivos en Linux". Novell . Consultado el 28 de junio de 2017 .
  22. ^ Shankland, Stephen (16 de octubre de 2006). "Novell hace un cambio en el software de almacenamiento de archivos". CNET .
  23. ^ Sharma, Mayank (12 de octubre de 2006). "Novell cambiará de ReiserFS a ext3". Linux.com .
  24. ^ Comentario de Jeff Mahoney (4 de octubre de 2006). "¿SUSE 10.2 abandona ReiserFS como su sistema de archivos predeterminado? (comentario 29)". linux.wordpress.com . Archivado desde el original el 9 de noviembre de 2006. Consultado el 23 de agosto de 2009 .
  25. ^ CBS 5 / AP / BCN (14 de septiembre de 2006). «La policía de Oakland registra la casa del ex de una mujer desaparecida». Archivado desde el 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 )
  26. ^ Daniel Robbins (2001), "Guía avanzada para la implementación de sistemas de archivos". Consultado el 5 de julio de 2006.
  27. ^ Matthias Andree (2001), artículo de LKML sobre los supuestos de sincronismo de Postfix. Consultado el 15 de julio de 2006.
  28. ^ NEOHAPSIS - Paz mental a través de la integridad y la comprensión
  29. ^ Hans Reiser, Reiser4 design, repacker Archivado el 24 de octubre de 2007 en Wayback Machine . Consultado el 5 de julio de 2006.
  30. ^ Martín Farach-Colton, "Envejecimiento de los sistemas de archivos", archivado en webarchive, 2021
  31. ^ Theodore Ts'o, artículo de LKML. Consultado el 5 de julio de 2006
  32. ^ Página de descarga de ReiserFS, consulte la advertencia. Consultado el 5 de julio de 2006
  • 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 viajes
  • convertfs, una utilidad que realiza conversiones en el lugar entre dos sistemas de archivos cualesquiera con soporte para archivos dispersos
  • Enlace al foro de Gentoo: debate sobre la fragmentación de ReiserFS, incluido un script para medir la fragmentación y desfragmentar archivos
  • Utilidades de Windows para acceder a ReiserFS: YAReG – Otra GUI de R(eiser)FStool, rfsd – ReiserDriver.
Obtenido de "https://es.wikipedia.org/w/index.php?title=ReiserFS&oldid=1252228830"