FlexRAID

FlexRAID
Original author(s) Smurf-IV
Developer(s) Brahim
Stable release 1.2 / 2009-08-13
Preview release 2.0 public preview (build 9) / 2011-06-02
Written in C++, Java (Native)
Operating system Windows, Linux
Type Parity Protection, Storage pooling
License Unknown
Website www.flexraid.com

FlexRAID is a current ambition to create a smart RAID system that focuses on protecting data rather than protecting basic block device clusters.

Instead of sitting between the physical devices and the overlaying file systems, FlexRAID sits on top of any existing file-system.

Initially, FlexRAID wanted to function in a similar fashion to RAID-Z.

The intent was to build FlexRAID using the ZFS for Linux port project.[1] However, it made more sense to strive at embracing any existing file-system than writing another proprietary one.

This also allowed for FlexRAID to be supported on the Microsoft Windows platform in addition to Linux.

FlexRAID does not mandate its own file-system; instead, it allows users to use any file-system, which it builds its own lightweight file-system on top of.

RAID-Z combines both the file management aspect with the RAID system. FlexRAID takes a different approach as it leaves the file management aspect to the underlying file-system but keeps a copy of relevant file-system information.

In its current released implementation, FlexRAID is a snapshot RAID.

A real-time version of FlexRAID is in the works and is anticipated to be released soon. Even more interesting, FlexRAID was originally designed to only work in real-time mode. However, difficulties in implementation led the developers to fall back to a snapshot mode of operation until the real-time mode issues were fully addressed.

FlexRAID is in essence a new breed of smarter RAID systems. It is very easy to implement traditional RAID systems that work at the disk block level since the blocks are continuous and easy to manage.Nevertheless, that simplicity comes at the cost of the RAID system being unaware of the logical aspect of the data it is hosting.

Smart RAID systems are very difficult to implement as they function on a different set of rules than basic block alignments.

The benefits for this trade off are significant.

A smart RAID system will:

With traditional RAID systems, if you add a device to the RAID, that device will be erased and all existing data would be lost. Even pseudo systems like Windows Home Server (WHS) don't support adding drives with existing data to the array. Note that FlexRAID can be installed on WHS and configured to protect the data through parity rather than duplication.

Moreover, with traditional RAID systems, if you lose more disks than can be tolerated by the RAID system, you lose ALL of your data! Even a traditional RAID 4 system shares that vulnerability as if you lose the disk that also contains the file-system information, none of the other disks will be readable. Not only does FlexRAID support multiple RAID engines and multiple parity (tolerance) levels, the only way to lose all of your data with FlexRAID is to lose every single one of your data devices.
Every surviving device under FlexRAID is accessible and readable.

Most people chant of the fact that RAID is not a substitute for backups.

  1. You really need a backup with traditional RAID systems because you are at risk of losing ALL of your data
  2. To back up a 10TB RAID array, you need another 10TB RAID array to back it up to.

This is not only costly, but both primary and backup RAID systems could fail causing you to lose ALL of your data. The idea of compromising all of your data for the protection against a single device failure is a hard one to buy into. It is like having a comprehensive insurance policy that tells you "if you have more than one claim, you lose every single one of your possessions that are covered" (so, buy two of everything just in case?).

Backing up your RAID is less important when using FlexRAID for the following reasons:

Contents

Features

FlexRAID is:

Therefore, if a supported operating system can load a device and "see" its data content, then it is possible to add that data to the RAID array.

Snapshot RAID

Motivations

As explained in the introduction, the snapshot feature of FlexRAID is a by-product of the challenges faced during development of the real-time feature.

Nevertheless, the snapshot aspect is proving to be an invaluable feature for the following reasons:

UoR

Unit of Risk:

In a traditional RAID sense, a UoR is a physical hard disk. In FlexRAID, a UoR is typically a physical hard disk, but it can also be other data sources.

A Unit of Risk (UoR) is any unit whose failure can be recovered from. That unit can be a file, a folder, a partition, a drive, a media disc, a standard RAID volume, a network share, a LUN, or a set or combination of them.

Put another way, a UoR is anything that contains data that one wants failure protection from.

DRU

Data Risk Unit:

A DRU is a UoR that contains user data.

PPU

Parity Protection Unit:

A PPU is a UoR that contains parity data computed from the DRU(s).

For developers

For a developers take (insight) on what and how to use FlexRAID, go to flexraid.wikkii.com.[2]

References