RAID Engines in FlexRAID

What is FlexRAID?

The various solutions in FlexRAID (whether it be RAID-F or tRAID) provide N+1 and N+X parity data protection through various RAID engines.

Acronyms

FlexRAID has its own vocabulary. You will see several terms here and there, and you need to understand those concepts to take full benefit of FlexRAID based on your own configuration and requirements.

 
Unit of Risk (UoR):

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 depending on the FlexRAID solution being used.
A Unit of Risk (UoR) is any unit which 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.

 
Data Risk Unit (DRU):

A DRU is a UoR that contains user data. It can be a single drive, a partition, a group of drives or folders, a network share, etc., anything that can contain your data.
It can be of any size. You can have a system made of DRUs of various sizes. In fact, a good RAID-F practice is to assemble your drives into DRUs so that the sizes of your DRUs are consistent (see DRU Spanning).

 
Parity Protection Unit (PPU):

A PPU is a UoR that contains parity data computed from the DRU(s).
You can have one or several, depending on the tolerance level you want to reach (see below).

The PPU size has to be at least as big as your largest DRU.

 
Undo Recovery Unit (URU):
A URU is an optional element in Snapshot RAID used to backup the parity data about to be modified prior to executing a RAID update.
The idea here is that if the update fails or a drive dies before the update completes, the URU can be used to revert the operation so that the failed drive can be recovered.
Essentially, with a URU, you are saying that the update must succeed entirely or all changes to the parity data must be reverted.
A URU should be the size of the largest data change you anticipate making times the number of PPUs. If you change about 100GB of data max per update cycle, then your URU should have 100GB of available space for each PPU. The URU can be enable/disabled per update run.

 
Tolerance Level:

As you will see, your system will be composed by several DRUs, and 1 or more PPU.
Each PPU will provide you with 1 tolerance level (one UoR can die without you loosing data).

 

RAID Engines

FlexRAID supports several RAID engines. All of them are non-standard and have their own nomenclature in the form of Tx, where T stands for Tolerance and x represents the tolerance level.

A plus (+) designation refers to enhancements over standard implementations.
None of the RAID engines in FlexRAID stripes data (i.e., parity data is isolated from the source data).

 

The T1 engine

The T1 engine is the very first engine developed for FlexRAID and functions as a RAID 4 engine.
It is generic and highly portable across different operating systems.
It supports a maximum of one PPU (parity) drive and an unlimited number of DRU (data) drives.
The T1 engine can tolerate one UoR (DRU or PPU) failure.

 

The T1+ engine

The T1+ engine is also a RAID 4 engine and an improvement over the T1 engine.
Its I/O sub-system is tuned specifically for each targeted OS, and it has the greatest computing throughput of all the FlexRAID RAID engines.
It supports a maximum of one PPU (parity) drive and an unlimited number of DRU (data) drives.
The T1+ engine can tolerate one UoR (DRU or PPU) failure.

 

The T2 engine

The T2 engine is a RAID 4 and RAID 6 engine combo.
It supports one or two PPUs and an infinite number of DRUs.
Its I/O sub-system is tuned specifically for each targeted OS.
The T2 engine can tolerate up to one or two UoRs (DRU and/or PPU) failure depending on whether you are using it as a RAID 4 or RAID 6 engine.

 

The T2+ engine

The T2+ engine is a highly optimized RAID 6 engine.
Just like the T1+ engine, its I/O sub-system is tuned specifically for each targeted OS.
It requires exactly two PPUs (parity) and supports an infinite number of DRUs.
The T2+ engine can tolerate up to two UoRs (DRU and/or PPU) failure.

 

The Tx engine

The Tx engine is an optimized RAID∞™ engine.
As a RAID∞™ engine, it represents a breakthrough in data protection.
Its I/O sub-system is tuned specifically for each targeted OS.

It supports an infinite (1 to ∞ ) number of PPUs (parity) and an infinite number of DRUs.

The Tx engine can tolerate any number of UoRs (DRU and/or PPU) failure depending on your chosen level of protection.

 

Recommended engine

- for RAID4 (or for N+1 parity) => T1+
- for RAID6 (or for N+2 parity) => T2+
- for RAID∞ => Tx

 


 

Be Sociable, Share!

Revisions

One Response to “RAID Engines in FlexRAID”

  1. Ed Baines December 8, 2012 at 7:48 AM #

    If you have multiple levels of Parity, the URU needs to be larger as FlexRAID needs to back up each Parity level. There is also a small metadata file.

    Therefore, the URU size needs to be

    (Changed_Data_Size) * (# of Levels_of_Parity) + ~10M

Leave a Reply