NILFS o nilfs2 ( N ew I MPLEMENTACIÓN de un L -estructurado og F ile S istema ) es un sistema de archivos de log-estructurado aplicación para el kernel de Linux . Está siendo desarrollado por Nippon Telegraph and Telephone Corporation (NTT) CyberSpace Laboratories y una comunidad de todo el mundo. NILFS fue lanzado bajo los términos de la Licencia Pública General GNU (GPL).
Desarrollador (es) | Nippon Telegraph and Telephone Cyber Space Laboratories |
---|---|
Nombre completo | Nueva implementación de un sistema de archivos estructurado por registros |
Introducido | 2005 kernel de Linux 2.6.13 | con el
Estructuras | |
Asignación de archivos | Árbol B |
Limites | |
Max. tamaño del volumen | 8 EiB |
Max. tamaño del archivo | 8 EiB |
Max. longitud del nombre de archivo | 255 bytes |
Características | |
Fechas registradas | atime (planeado) |
Resolución de fecha | Marcas de tiempo en disco de 64 bits |
Atributos | POSIX, con planes para atributos extendidos |
Permisos del sistema de archivos | POSIX, con planes para ACL [1] |
Compresión transparente | No |
Cifrado transparente | No |
Copiar en escrito | sí |
Otro | |
Apoyados sistemas operativos | Kernel de Linux , (solo lectura para NetBSD ) |
Diseño
"NILFS es un sistema de archivos estructurado por registros, en el que el medio de almacenamiento se trata como un búfer circular y los bloques nuevos siempre se escriben hasta el final. […] Los sistemas de archivos estructurados por registros se utilizan a menudo para medios flash, ya que, naturalmente, se desgastan. nivelación; […] NILFS enfatiza las instantáneas. El enfoque estructurado por registros es una forma específica de comportamiento de copia en escritura, por lo que naturalmente se presta a la creación de instantáneas del sistema de archivos. Los desarrolladores de NILFS hablan sobre la creación de "instantáneas continuas" que se puede utilizar para recuperarse de problemas del sistema de archivos iniciados por el usuario […] ". [2]
Usando una técnica de copia en escritura conocida como "nada en la vida es gratis", NILFS registra todos los datos en un formato de registro continuo que solo se agrega, nunca se sobrescribe, un enfoque que también está diseñado para reducir los tiempos de búsqueda . como minimizar el tipo de pérdida de datos que se produce después de un bloqueo con los sistemas de archivos convencionales. Por ejemplo, la pérdida de datos ocurre en los sistemas de archivos ext3 cuando el sistema falla durante una operación de escritura. Cuando el sistema se reinicia , el diario observa que la escritura no se completó y que se pierden las escrituras de datos parciales.
Algunos sistemas de archivos, como los sistemas de archivos derivados de UFS utilizados por el sistema operativo Solaris y los BSD , proporcionan una función de instantánea que evita [ cita requerida ] tal pérdida de datos, pero la configuración de la instantánea puede ser larga en sistemas de archivos grandes. NILFS, por el contrario, puede "[guardar] de forma continua y automática estados instantáneos del sistema de archivos sin interrumpir el servicio", según NTT Labs. [3]
Los "estados instantáneos" que NILFS guarda continuamente se pueden montar, de solo lectura, al mismo tiempo que el sistema de archivos real se monta en lectura-escritura, una capacidad útil para la recuperación de datos después de fallas de hardware y otros fallos del sistema. El comando "lscp" (lista de puntos de control) de una utilidad interactiva "inspeccionar" 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 de julio 14:55:57 2005 MajorCP | LogiBegin | LogiEnd2048 2352 Mar 12 de julio 14:55:58 2005 MajorCP | LogiEnd...nilfs> salir
La dirección del punto de control se usa luego para montar el punto de control:
# montaje -t nilfs -r -o cp = 2048 / dev / sda2 / nilfs-cp# dfBloques de 1K del sistema de archivos Usados Uso disponible% Montado en/ dev / sda2 70332412 8044540 62283776 12% / nilfs/ dev / sda2 70332412 8044540 62283776 12% / nilfs-cp
Características
NILFS proporciona instantáneas continuas. Además de la capacidad de control de versiones de todo el sistema de archivos, los usuarios pueden incluso restaurar archivos sobrescritos o eliminados por error en cualquier momento reciente. Dado que NILFS puede mantener la coherencia como LFS convencional, logra una recuperación rápida después de fallas del sistema.
La mayoría de los sistemas de archivos no proporcionan instantáneas continuas, incluidos los que admiten instantáneas puntuales (p. Ej., Btrfs )
NILFS crea una serie de puntos de control cada pocos segundos o por escritura síncrona (a menos que no haya cambios). Los usuarios pueden seleccionar versiones significativas entre los puntos de control creados continuamente y pueden convertirlos 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 llena. Cada instantánea se puede montar como un sistema de archivos de solo lectura. Se puede montar al mismo tiempo que un montaje grabable y otras instantáneas, y esta función es conveniente para realizar copias de seguridad consistentes durante el uso.
Los posibles usos de NILFS incluyen control de versiones, detección de manipulaciones, registro de cumplimiento de SOX , recuperación de pérdida de datos.
La versión principal actual de NILFS es la versión 2, que se conoce 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 inodo basada en árbol B.
- Recuperación inmediata después de la caída del sistema.
- Estructuras de datos de 64 bits; admite muchos 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
Funciones admitidas
- Características básicas del sistema de archivos POSIX
- Instantáneas
- Tomada automática y continuamente
- No hay límite en la cantidad de instantáneas hasta que el volumen se llena
- Se puede montar como sistemas de archivos de solo lectura
- Se puede montar al mismo tiempo que el montaje grabable (conveniente para realizar copias de seguridad consistentes durante el uso)
- Listado rápido
- Recolección de basura de fondo
- Puede mantener múltiples instantáneas
- Política de GC seleccionable, proporcionada por un demonio de área de usuario.
- Recuperación rápida de fallos en el soporte
- Lectura anticipada para archivos de metadatos y archivos de datos
- Tamaños de bloque más pequeños que el tamaño de la página (p. Ej., 1 KB o 2 KB)
- Cambio de tamaño en línea (desde Linux-3.xy nilfs-utils 2.1)
- Utilidades relacionadas (por contribución de Jiro SEKIBA)
- grub2
- util-linux (blkid, libblkid, montaje uuid)
- udiscos, palimpsesto
- Etiqueta del sistema de archivos (nilfs-tune)
Características adicionales
- Tiempos rápidos de escritura y recuperación
- Daño mínimo a los datos de archivo y la consistencia del sistema en caso de falla de hardware
- Sumas de comprobación de 32 bits ( CRC32 ) en datos y metadatos para garantizar la integridad (por grupo de bloques, en el resumen del segmento) [4] [5]
- Escrituras de datos y metadatos correctamente ordenados
- Supermanzana redundante
- Los datos internos se procesan en un tamaño de palabra de 64 bits de ancho
- Puede crear y almacenar archivos enormes (8 EiB )
Compatibilidad del sistema operativo
Distribución | Descripción |
---|---|
Debian | NILFS está disponible en Debian 5.0 y posteriores. |
Ubuntu | NILFS está disponible en Ubuntu 9.10 y versiones posteriores. |
CentOS | x86 y x86_64 para CentOS 6 y x86_64 para Centos 7 están disponibles en [1] . |
Fedora | NILFS está disponible en Fedora. |
openSUSE | i586 y x86_64 para openSUSE y SUSE Linux Enterprise están disponibles en openSUSE Build Service. |
Gentoo | NILFS está disponible en Gentoo Linux. Un cd de arranque con NILFS está disponible en PrRescue |
Arch Linux | NILFS está disponible en Arch Linux. |
Linux Mint | NILFS está disponible en Linux Mint. |
NixOS | NILFS está disponible en NixOS. |
- NILFS se fusionó con el kernel de Linux 2.6.30. [6]
- En las distribuciones en las que NILFS está disponible listo para usar, el usuario debe descargar el paquete nilfs-utils (o nilfs-tools), siguiendo las instrucciones de [2] .
NetBSD incluye una implementación con licencia BSD separada, actualmente con soporte de solo lectura . [7]
Desempeño relativo
En la presentación de enero de 2015, tarjetas SD y sistemas de archivos para sistemas integrados en Linux.conf.au , se afirmó: [8]
Si tiene una carga de trabajo que es sensible a la latencia, es posible que desee utilizar NILFS. Si tiene uno que es sensible al rendimiento, es posible que desee utilizar 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 están disponibles bajo la GNU Public License versión 2, con la excepción de las bibliotecas lib / nilfs y sus archivos de encabezado, que están disponibles bajo la GNU Lesser General Public License Versión 2.1.
Desarrolladores
Los autores principales japoneses y los principales contribuyentes de nilfs-utils
quienes trabajaron o están trabajando en los 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 [9]
- Dan McGee
- David Arendt
- David Smid
- Dexen deVries
- Dmitry Smirnov
- Eric Sandeen
- Jiro SEKIBA
- Matteo Frigo
- Hitoshi Mitake
- Takashi Iwai
- Vyacheslav Dubeyko
Ver también
- ZFS
- Btrfs
- F2FS , otra implementación de sistema de archivos estructurado por registros
- Lista de sistemas de archivos
- Comparación de sistemas de archivos
- Sistema de archivos estructurado por registro (BSD)
- Sistema operativo Sprite
Referencias
- ^ "Estado actual de NILFS" .
- ^ https://lwn.net/Articles/238923/
- ^ "Un artículo sobre NILFS" . Consultado el 28 de julio de 2008 .
- ^ la versión 1 de NILFS: descripción general
- ^ no verifica: Re: ¿Nilfs2 suma de comprobación todos los datos? ; kernel 4.4.38-v7 + tampoco verifica.
- ^ Linux Kernel 2.6.30 está disponible, incluye el sistema de archivos NILFS2
- ^ Confirmación de fuente de NiLFS (2)
- ^ Peter Chubb. "Tarjetas SD y sistemas de archivos para sistemas embebidos" . Linux.conf.au.
- ^ https://www.complang.tuwien.ac.at/Diplomarbeiten/rohner18.pdf
enlaces externos
- Página web oficial
- "Un artículo que describe características de alto nivel" . Archivado desde el original el 3 de enero de 2013.
- "TELCO más grande del mundo se une a los laboratorios de desarrollo de código abierto" . Archivado desde el original el 27 de enero de 2013.
- NILFS: un sistema de archivos para hacer que los SSD griten
- Tutorial de Manjaro NILFS: un sistema de archivos diseñado para minimizar la probabilidad [sic] de pérdida de datos