FlexRAID is a software solution to create a smart RAID system that focuses on protecting data, based on a snapshot model.
FlexRAID does not mandate its own file-system; instead, it allows users to use any file-system, on which it builds its own lightweight file-system. FlexRAID leaves the file management aspect to the underlying file-system but keeps a copy of relevant file-system information.
FlexRAID aims to be easier to implement than 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.
A smart RAID system will:
- RAID only meaningful data (as opposed to RAID'ing every block on the physical devices)
- Support the addition of devices that contain existing data
- Support data health monitoring (and often self-healing features)
- Provide the greatest data safety possible and the lowest risk of data lost
- Provide energy saving features
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.
With traditional RAID systems, if you lose more disks than can be tolerated by the RAID system, all data can be lost. With a RAID 4 system, if you lose the disk that also contains the file-system information, none of the other disks will be readable. 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.
Backing up your RAID is less important when using FlexRAID for the following reasons:
- Each device can be configured as an independent unit of risk (UoR). As such, the failure of one device does not affect any other device in the array.
- If you lose more devices than the RAID engine you've selected can support, you only lose those devices that have failed. All your remaining devices will be healthy, and the data on them will be fully readable.
- Data centric, not Drive/Device centric (any data, any size, anywhere)
- Can protect local disk data
- Can protect data off removable media
- Can protect data visible over a network and the internet
- Any data that is visible to the OS can be added to the array (e.g., loading NTFS drives in Linux or Ext3 drives in Windows)
- 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.
- Offline protection when used in snapshot mode (i.e., not running all the time taking valuable CPU and I/O resources)
- When used in snapshot mode, RAID update operations can be scheduled or run manually at one's convenience
- Data that needs real-time synchronization should not be included in a snapshot RAID
The snapshot aspect provides the following benefits over a traditional RAID:
- Most user data is static or semi-static.
- Only data such as database data, operating system data, and certain non-static critical application data really require real-time synchronization.
- It is very inefficient to monitor and synchronize data that is infrequently changing.
- More than 90% of the data in most RAID scenarios is static or semi-static data.
- As such, it can be more efficient to mirror the 10% that is very dynamic and protect the 90% that is semi-static through snapshot RAID.
- Movies, music, photos, documents, TV recordings, downloads, backups, etc. are all types of static and semi-static data best suited to be protected through snapshot RAID.
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.
Data Risk Unit:
A DRU is a UoR that contains user data.
Parity Protection Unit:
A PPU is a UoR that contains parity data computed from the DRU(s).
For a developers take (insight) on what and how to use FlexRAID, go to flexraid.wikkii.com.