RAIF
From Wikipedia, the free encyclopedia
Redundant Array of Independent Filesystems (RAIF) is a RAID-like stackable fan-out file system.
Similar to Unionfs, it can be mounted on top of any combination of disk-based, memory, network, and distributed file systems. In addition, other stackable file systems can be mounted above or below RAIF. 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:
- 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.
- RAIF is a file system and thus has access to the meta-data. This allows it to store different files differently. For example, RAIF can replicate important files (*.c, *.doc, etc) on all the lower file systems and stripe the multimedia files with parity at the same time.
- It is sometimes more convenient to work with file systems than devices as the lower storage. For example, it is possible to mount RAIF over a directory on an existing file system. The data is represented as files on the lower file systems. Therefore, any lower file system is an exact replica of the RAIF file system in the case of replication. It also makes it easy to backup the data on the lower file systems using existing tools.
The project was started in April 2004 in Filesystems and Storage Laboratory of Stony Brook University. RAIF can be compiled as an external Linux loadable kernel module for a wide range of Linux kernel versions.