NILFSv2 - "log-structured" filerendszer Linux-hoz

AMAGAI Yoshiji, a Nippon Telegraph and Telephone Corporation "NTT Cyber Space Laboratories" részlegének részéről bejelentette a linuxos NILFS filerendszer második generációját, amely jelenleg még fejlesztés alatt áll. A NILFSv2 a 2005-ben kiadott NILFS újraimplementálása. A NILFSv2 egy, a 2.6-os Linux kernelhez fejlesztett, ún. "log-structured" filerendszer. Az ilyen filerendszer jellemzője, hogy az összes adat (beleértve a metadata-t is) log-szerűen, folyamatosan kerül kiírásra. Ebben a filerendszerben az adatok soha nem kerülnek felülírásra, csak hozzáfűzésre. Ez a megközelítés biztosítja az adatok nagyobb biztonságát, és egyben a jobb teljesítményt, mivel a merevlemeznek seek-eléséből származó overhead jelentősen csökken.

Mit tud a filerendszer?

  • Slick snapshots
  • Garbage Collection with snapshots
  • B-tree based file and inode management
  • Immediate recovery after system crash
  • 64-bit data structures; support many files, large files and disks
  • Loadable kernel module; no recompilation of the kernel is required

Mi kerül bele hamarosan?

  • Variety of Garbage Collectio policies.
  • Supporting block sizes smaller than the page size (e.g. 1KB or 2KB for the i386 architecture).
  • Better error handling.
    • -- improved on NILFS 1.0.10. (Jul 18, 2006)
  • Sophisticated file system interface.
  • Snapshot management mechanism.
  • Basic administration tools such as fsck.
  • O_DIRECT support.
    • -- Direct I/O read was implemented on NILFS 1.0.5; direct I/O write is falled back to the buffered write at present. (Jan 30, 2006)
  • Efficient synchronous write operations including fsync(), open() with O_SYNC, and so on.
  • mmap() support.
    • -- mmap read and write were implemented on NILFS 1.0.9. (May 23, 2006)
  • An extended attribute support.
  • Quota support.
  • atime support.
  • Filesystem label support.
  • Strict BIO order with a barrier option; ensure the checkpoint blocks and the segusage blocks will be written to the disk in correct order.
    • -- Implemented experimentally on NILFS 1.0.4 (Jan 18, 2006)
    • -- Turned on the barrier mount option by default on NILFS 1.0.10 (Jul 18, 2006)
  • Redundant mechanism for critically important blocks (the super block and the segusage blocks).
  • B-tree base directory management.
  • More sophisticated B-tree node block management.
  • Fixing identified bugs (to be described).
  • Testing on the other architectures.
    • - Under testing on x86_64 and ppc64 on NILFS 1.0.14 (Oct 25, 2006)
  • Performance tuning (e.g. read ahead).
  • Source code cleanup.
  • Documentation.
    • -- A few documents are included on NILFS 1.0.4 (Jan 18, 2006)

További tervezett szolgáltatások:

  • "Time-based" tools (e.g. tls, tdiff, tgrep, tfind, ttar and so on. They come from the Elephant file system).
  • GUI tools.
  • GNU GRUB support.
  • POSIX ACL support.
  • Execute-in-Place (XIP) support.
  • Porting to MS-Windows (some people want it).
  • Native Language Support (NLS).
  • Online resizing.
  • Extent support.
  • Better support of remote block devices (e.g. iSCSI).
  • Optimization of the cleaner is one of main challenges in the NILFS project.
  • Seamless backup mechanism of accumulated past data to the secondary drives or the remote drives.
  • And more...

A NILFSv2-ről bővebben itt. A honlapja itt. A bejelentés itt.

Egy cikk a nemrég bejelentette btrfs-ről és a NILFSv2-ről Jonathan Corbet tollából itt. LWN cikk itt.

Hozzászólások

jó dolog ez a verziókezelés, na de egy egész fájlrendszerre? ha az ember ilyet akar, feltesz egy cvs-t vagy svn-t vagy akármit, azok már úgyis kiforrottak és vannak hozzájuk teljesen kényelmes frontendek.

--
joco voltam szevasz

ezt tok jo ha az embernek vegtelen nagy vinyoja van

Van szemét gyűjtése.

Tippelek:
Szerintem úgy működik, hogy egy filet, ha modosítasz akkor másik területre kerülnek a módosítások a lemezen. (felülírás helyett)
A már nem használt területet, valamikor szemétnek minősíti. És írható lesz.

Reset tűrő megoldás.

tok jo, ezt eredetileg a sprite-hoz fejleszettek ki, majd portoltak bsd-re, (kb 15-20 eve) :)

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)