Articulo de referencia

NILFS

{{cite web\n | url = https://nilfs.sourceforge.io/en/current_status.html\n | title = NILFS Current Status}} "},"compression":{"wt":"No"},"encryption":{"wt":"No"},"copy_on_write"...

NILFS o NILFS2 ( Nueva Implementación de un Sistema de Archivos Estructurado en Registros ) es una implementación de sistema de archivos estructurado en registros para el núcleo de Linux . Fue desarrollado por Nippon Telegraph and Telephone Corporation (NTT) CyberSpace Laboratories y una comunidad internacional. NILFS se publicó bajo los términos de la Licencia Pública General de GNU (GPL).

Diseño

"NILFS es un sistema de archivos estructurado en registros, en el que el medio de almacenamiento se trata como un búfer circular y los nuevos bloques siempre se escriben al final.[…]Los sistemas de archivos estructurados en registros se utilizan a menudo para medios flash, ya que realizan de forma natural la nivelación del desgaste;[…]NILFS hace hincapié en las instantáneas. El enfoque estructurado en registros es una forma específica de comportamiento de copia en escritura, por lo que se presta naturalmente a la creación de instantáneas del sistema de archivos. Los desarrolladores de NILFS hablan de la creación de "instantáneas continuas" que pueden utilizarse para recuperarse de problemas del sistema de archivos iniciados por el usuario[…]." [ 2 ]

Utilizando una técnica de copia en escritura conocida como sistema de archivos estructurado en registro , NILFS registra todos los datos en un formato continuo similar a un registro, al que solo se añaden datos, nunca se sobrescribe. Este enfoque está diseñado para reducir los tiempos de búsqueda y minimizar la pérdida de datos que se produce tras un fallo en los sistemas de archivos convencionales. Por ejemplo, en los sistemas de archivos ext3 se produce pérdida de datos cuando el sistema falla durante una operación de escritura. Al reiniciarse el sistema , el registro indica que la escritura no se completó y se pierden los datos escritos parcialmente.

Algunos sistemas de archivos, como los derivados de UFS utilizados por el sistema operativo Solaris y los sistemas BSD , ofrecen una función de instantánea que evita la pérdida de datos, pero la configuración de la instantánea puede ser larga en sistemas de archivos grandes. NILFS, en cambio, puede "guardar de forma continua y automática los estados instantáneos del sistema de archivos sin interrumpir el servicio", según NTT Labs. [ 3 ]

Los "estados instantáneos" que NILFS guarda continuamente pueden montarse en modo de solo lectura al mismo tiempo que el sistema de archivos real se monta en modo de lectura y escritura; una capacidad útil para la recuperación de datos tras fallos de hardware y otros fallos del sistema. El comando "lscp" (list checkpoint) de una utilidad interactiva de "inspección" de NILFS se utiliza primero para encontrar la dirección del punto de control, en este caso "2048":

# inspeccionar /dev/sda2 ... nilfs> listcp 1 6 Mar 12 jul 14:55:57 2005 MajorCP|LogiBegin|LogiEnd 2048 2352 Mar 12 jul 14:55:58 2005 MajorCP|LogiEnd ... nilfs> salir

A continuación, se utiliza la dirección del punto de control para montar dicho punto:

# mount -t nilfs -r -o cp=2048 /dev/sda2 /nilfs-cp # df Sistema de archivos Bloques de 1K Usado Disponible Uso% Montado en /dev/sda2 70332412 8044540 62283776 12% /nilfs /dev/sda2 70332412 8044540 62283776 12% /nilfs-cp

Características

NILFS ofrece instantáneas continuas. Además de la capacidad de versionado de todo el sistema de archivos, los usuarios pueden incluso restaurar archivos sobrescritos o eliminados por error recientemente. Dado que NILFS mantiene la coherencia como el LFS convencional, logra una rápida recuperación tras fallos del sistema.

La mayoría de los sistemas de archivos no ofrecen la función de instantáneas continuas , incluidos aquellos que admiten instantáneas puntuales (por ejemplo, Btrfs ).

NILFS crea varios puntos de control cada pocos segundos o por cada escritura síncrona (a menos que no haya cambios). Los usuarios pueden seleccionar versiones significativas entre los puntos de control creados continuamente y convertirlas en instantáneas, que se conservarán hasta que se vuelvan a convertir en puntos de control.

No hay límite en la cantidad de instantáneas hasta que el volumen se llene. Cada instantánea se puede montar como un sistema de archivos de solo lectura. Se puede montar simultáneamente con un montaje de escritura y otras instantáneas, lo que resulta práctico para realizar copias de seguridad consistentes durante su uso.

Entre los posibles usos de NILFS se incluyen el control de versiones, la detección de manipulaciones, el registro de cumplimiento de la normativa SOX y la recuperación de datos perdidos.

La versión principal actual de NILFS es la versión 2, conocida como NILFS2. NILFS2 implementa la recolección de basura en línea para recuperar espacio en disco manteniendo múltiples instantáneas.

Otras características de NILFS incluyen:

  • Gestión de archivos e inodos basada en árboles B.
  • Recuperación inmediata tras un fallo del sistema.
  • Estructuras de datos de 64 bits; admite numerosos archivos, archivos grandes y discos.
  • Marcas de tiempo en disco de 64 bits que están libres del problema del año 2038 .

Estado actual

Asuntos

A partir de 2023, NILFS carece de una utilidad dedicada para la comprobación de consistencia (fsck) y, por lo tanto, no puede recuperarse de errores graves que le impiden encontrar un punto de control válido. [ 4 ] [ 5 ]

Características compatibles

  • Características básicas del sistema de archivos POSIX
  • Instantáneas
    • Tomado automáticamente y de forma continua
    • No hay límite en el número de instantáneas hasta que el volumen esté lleno.
    • Sistemas de archivos montables como de solo lectura
    • Se puede montar simultáneamente con el montaje de escritura (lo que facilita la realización de copias de seguridad consistentes durante su uso).
    • Listado rápido
  • Recolección de basura en segundo plano (GC)
    • Puede mantener múltiples instantáneas
    • Política de recolección de basura seleccionable, proporcionada por un demonio en el espacio de usuario.
  • Recuperación rápida tras un accidente en el montaje
  • Lectura anticipada para archivos de metadatos y archivos de datos.
  • Tamaños de bloque menores que el tamaño de página (por ejemplo, 1 KB o 2 KB)  
  • Redimensionamiento en línea (desde Linux-3.x y nilfs-utils 2.1)
  • Utilidades relacionadas (por contribución de Jiro SEKIBA)

Características adicionales

  • Tiempos de escritura y recuperación rápidos
  • Daños mínimos a los datos de los archivos y a la coherencia del sistema en caso de fallo del hardware.
  • Los datos internos se procesan con un tamaño de palabra de 64 bits.
  • Puede crear y almacenar archivos enormes (8 EiB ).

Compatibilidad

NILFS está disponible en varias distribuciones GNU/Linux como Arch Linux , [ 8 ] Debian [ 9 ] (desde la versión 5.0), Fedora , Gentoo , [ 10 ] Linux Mint , NixOS , Ubuntu (desde la versión 9.10), etc. Para usarlo, los usuarios normalmente necesitan instalar el paquete nilfs-utils o nilfs-tools. También hay un CD de arranque con NILFS disponible en PrRescue .

También es compatible con aplicaciones de edición de particiones como GParted . [ 11 ]

Una implementación separada, con licencia BSD , que actualmente solo admite lectura , está incluida en NetBSD . [ 12 ]

Rendimiento relativo

En la presentación de enero de 2015 sobre tarjetas SD y sistemas de archivos para sistemas embebidos en Linux.conf.au , se afirmó: [ 13 ]

Si tienes una carga de trabajo sensible a la latencia, quizás quieras usar NILFS. Si tienes una que es sensible al rendimiento, quizás quieras usar F2FS .

Peter Chubb

NILFS2 funciona mucho mejor para el caso de muchos archivos pequeños que F2FS o EXT4.

Peter Chubb

Licencia

Las utilidades del sistema de archivos NILFS2 se distribuyen bajo la Licencia Pública General de GNU versión 2, con la excepción de las bibliotecas lib/nilfs y sus archivos de cabecera, que se distribuyen bajo la Licencia Pública General Reducida de GNU versión 2.1.

Desarrolladores

Los autores principales japoneses y los principales colaboradores que nilfs-utilstrabajaron o trabajan en laboratorios de NTT Corporation son:

  • Ryusuke Konishi (Mantenedor principal, 02/2008–Presente)
  • Koji Sato
  • Naruhiko Kamimura
  • Seiji Kihara
  • Yoshiji Amagai
  • Hisashi Hifumi y
  • Satoshi Moriai.

Otros contribuyentes importantes son:

  • Andreas Rohner [ 14 ]
  • Dan McGee
  • David Arendt
  • David Smid
  • Dexen deVries
  • Dmitry Smirnov
  • Eric Sandeen
  • Jiro SEKIBA
  • Matteo Frigo
  • Hitoshi Mitake
  • Takashi Iwai
  • Vyacheslav Dubeyko

Véase también

Referencias

  1. "Estado actual de NILFS" .
  2. "BTRFS y NILFS [ LWN.net ] " .
  3. "Un artículo sobre NILFS" . Consultado el 28 de julio de 2008 .
  4. Partición NILFS2 corrupta (/var) - ¿Opiniones sobre un sistema de archivos mejor para /var?
  5. Archivos del kernel: No se pueden montar los nilfs: error al buscar la superraíz.
  6. NILFS versión 1: descripción general
  7. no verifica: Re: ¿Nilfs2 realiza una suma de comprobación de todos los datos? ; el kernel 4.4.38-v7+ tampoco verifica.
  8. "Arch Linux - nilfs-utils 2.2.9-1 (X86_64)" .
  9. "Debian -- Detalles del paquete nilfs-tools en bullseye" .
  10. "Sys-fs/Nilfs-utils – Paquetes Gentoo" .
  11. "GParted -- Características" .
  12. Confirmación de código fuente de NiLFS(2)
  13. Peter Chubb. "Tarjetas SD y sistemas de archivos para sistemas embebidos" . Linux.conf.au.
  14. "Políticas de recolección de basura de última generación para NILFS2" (PDF) . Archivado del original (PDF) el 30 de julio de 2019.
  • Sitio web oficial
  • "Un artículo que describe características de alto nivel" .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • "La mayor empresa de telecomunicaciones del mundo se une a los laboratorios de desarrollo de código abierto" .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • NILFS: Un sistema de archivos que hará gritar a las unidades SSD.
  • Tutorial de Manjaro NILFS: Un sistema de archivos diseñado para minimizar la probabilidad de pérdida de datos. Archivado el 6 de enero de 2017 en Wayback Machine.