Re: [ANNOUNCE] RAIF: Redundant Array of Independent Filesystems

From: Nikolai Joukov
Date: Wed Dec 13 2006 - 14:57:55 EST


> >We have designed a new stackable file system that we called RAIF:
> >Redundant Array of Independent Filesystems.
> >
> >Similar to Unionfs, RAIF is a fan-out file system and can be mounted over
> >many different disk-based, memory, network, and distributed file systems.
> >RAIF can use the stable and maintained code of the other file systems and
> >thus stay simple itself. Similar to standard RAID, RAIF can replicate the
> >data or store it with parity on any subset of the lower file systems. RAIF
> >has three main advantages over traditional driver-level RAID systems:
> >
> >1. RAIF can be mounted over any set of file systems. This allows users to
> > create many more useful configurations. For example, it is possible to
> > replicate the data on the local and remote disks, and stripe the data on
> > the local hard drives and keep the parity (or even ECC to tolerate
> > multiple failures) on the remote server(s). In the latter case, all the
> > read requests will be satisfied from the fast local disks and no local
> > disk space will be spent on parity.
>
> As for striping on a simplistic level, look at the Equal File
> Distribution patch for unionfs :-)
>
> http://www.mail-archive.com/unionfs@xxxxxxxxxxxxxxxxxxxxxx/msg01936.html
>
> Files are stored normally so that after the union is unmounted, the
> files appear in one piece (unlike real RAID0 over two block devices).

RAIF supports rules that describe how to store particular files or groups
of files. A rule with RAIF level 0 (which is similar to RAID level 0) and
a special striping unit size = '-1' will do the same (distribute the
files on the lower file systems) for files that match any given file name
pattern. A rule with level 4 and striping unit size = '-1' will
distribute files on several file systems and store an extra copy of the
files on a dedicated file system (e.g., an NFS mount with lots of space).
Now guess what RAIF's level 6 will do with a special striping unit
size = '-1' :-)

Nikolai.
----------------
Nikolai Joukov, Ph.D.
Filesystems and Storage Laboratory
Stony Brook University
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/