NILFS (New Implementation of a Log-structured File System ou Nouvelle Implantation d'un Système de Fichiers structuré par la Journalisation) est un système de fichiers qui est conçu autour du mécanisme de journalisation des écritures. Il est distribué sous licence GNU GPL et destiné aux systèmes basés sur GNU/Linux.

NILFS
Développeur Nippon Telegraph and Telephone
Nom anglais New Implementation of a Log-structured File System
Structure
Allocation de fichiers B-tree
Limitations
Taille maximale de fichier Eio

NILFS2 a été inclus dans le noyau Linux 2.6.30 (RC-1)[1].

Fonctionnement

modifier

NILFS est conçu et entièrement architecturé autour du mécanisme de journalisation des données, ce qui signifie que le contenu des fichiers (les données) et les méta-données associées sont entièrement écrits dans le journal des écritures sur le disque. Ceci par opposition aux systèmes de fichiers journalisés conventionnels qui utilisent un journal comme mécanisme annexe permettant de contrôler/sécuriser les données écrites par ailleurs.

Les intérêts d'un tel système sont multiples :

  • L'écriture journalisée est linéaire au lieu d'être aléatoirement répartie sur toute la surface du disque, ce qui en améliore les performances.
  • Puisque toute écriture est journalisée, il devient possible de récupérer n'importe quel état antérieur ou d'y accéder en parallèle (en lecture seule). La restauration d'un état cohérent du système de fichiers après un crash est ainsi extrêmement rapide, et indépendante de la taille des données.

L'inconvénient principal de ce système est qu'il nécessite un mécanisme sophistiqué de « ramasse-miettes » pour éviter que le journal ne remplisse complètement le stockage : les plus vieux points de contrôle doivent être régulièrement analysés et consolidés pour libérer de la place dans le journal.

NILFS permet de marquer certains points de contrôle pour en faire des instantanés, récupérables n'importe quand.

Notes et références

modifier
  1. (en) « Linux 2.6.30-rc1 [LWN.net] », sur lwn.net (consulté le ).

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier


  NODES
Note 2