Post-RAID alternatives -- why would we need them? RAID (Redundant Array of Independent Disks) is a fundamental building block of enterprise storage whose evolution is already complete? Wrong. RAID has provided the underpinnings to enterprise storage since the late 1980s and has delivered enhanced data protection and performance by presenting many single hard disk drives (HDDs) as one and sharing data between them in different ways via the various RAID levels. But, all eras must come to an end and change is coming to RAID too.
In this guide to alternatives to RAID we'll look at the next-generation HDD technologies that are already beginning to supplant RAID as you know it. But first, let's recap what RAID does, as well as its shortcomings.
The most basic function of a RAID array is to protect data against HDD failure, and it does this in two ways. Either drives within the array are split into mirrored sets with a copy of the data residing on each of the mirrors, or they use parity data that is written to the disks to allow data to be rebuilt in case of failure. HDDs are the weak link in a storage subsystem, being the only one with moving parts, and are more likely to fail more often than any other component.
The hard drive's role as the weak link in the storage chain is magnified further by the rate of growth of data experienced by organisations and the need to buy more and more capacity. The more hard drives you run, the more statistically likely hard drive failures are, and everyone is running more drives.
IDC, Gartner and Enterprise Strategy Group estimate data growth between 50% and 62% per year, while this year's SearchStorage.co.UK purchasing intentions survey found disk capacity to be the largest single item of spend for UK and European storage managers, gobbling up 35% of their budgets in the past 12 months.
At the same time HDD capacities are increasing. SATA drives are available in 2 TB capacity, with 4 TB not far off, while Fibre Channel drives can pack in 600 GB. The downside is that as capacity increases, so does RAID rebuild time.
Furthermore, there are always tradeoffs involved in RAID. For example, if protecting data is the top priority, then one of the RAID levels that uses mirroring will be a prime candidate. Here the drawback is that you pay for double the capacity you will actually use. If that cost is prohibitive or the nature of the data being retained doesn't warrant it, the choice moves to a RAID level that uses parity data, but here there are performance penalties incurred as write performance is impaired.
The likelihood of drive failure is also significantly increased during the rebuild process with parity RAID.
For example, when a HDD fails in a RAID 5 set, the system will rebuild the data on a spare drive that replaces the failed hard disk drive. The storage system then exercises every sector on every HDD in the RAID set to reconstruct the data. This heavy utilisation of the other HDDs in the RAID set increases the likelihood of another HDD failure (usually a non-recoverable read error) by an order of magnitude, which significantly increases the likelihood of a data failure.
Ten or 20 years ago when disk capacities were much lower, rebuilds were measured in minutes. But with disk capacities in the terabytes, rebuilds can take hours, days or even weeks. If application users can't tolerate the system performance degradation that rebuilds cause, the rebuild is given a lower priority and rebuild times increase dramatically. Longer data reconstruction times typically equate to significantly higher risks of data loss. Because of this, many storage shops are stepping up their use of RAID 6.
RAID 6 provides a second parity or stripe that protects the data even if two HDDs fail or have a non-recoverable read error in the RAID set. The risk of data loss drops dramatically, but the extra stripe consumes additional usable capacity and system performance will take a bigger hit if two drives must be reconstructed simultaneously from the same RAID group. More disturbing is the increased risk of data loss if a third HDD fails or a non-recoverable read error occurs during the rebuild.
There are other RAID issues such as "bit rot" (when HDDs acquire latent defects over time from background radiation, wear, dust, etc.) that can cause a data reconstruction to fail. Most storage systems include some type of background scrubbing that reads, verifies and corrects bit rot before it becomes non-recoverable, but scrubbing takes system resources. And higher capacities mean more time is needed to scrub.
Another RAID issue is documenting the chain of ownership for replacing a failed HDD, which includes the documented trail (who, what, where, when) of the failed HDD from the time it was pulled to the time it was destroyed or reconditioned. It's a tedious, manually intensive task that's a bit less stringent if the HDD is encrypted. Even more frustrating is that the vast majority of failed HDDs sent back to the factory for analysis or reconditioning (somewhere between 67% and 90%) are found to be good or no failure is found. Regrettably, the discovery happens after the system failed the HDD, the HDD was pulled, the data was reconstructed and the chain of ownership documented. That's a lot of operational pain for "no failure found."
Solid-state storage devices actually exacerbate the aforementioned RAID problems. Because solid-state drives (SSDs) can handle high-performance applications, they allow for storage systems with fewer high-performance HDDs and more high-density, low-performance hard disk drives. Tom Georgens, NetApp's CEO, has noted that "fast access data will come to be stored in flash with the rest in SATA drives." Lower CapEx and OpEx for the system can end up translating into higher OpEx because of the increase in RAID problems.
These RAID issues have inspired numerous vendors, academicians and entrepreneurs to come up with alternatives to RAID. We categorise those post-RAID innovative alternatives into the three groups: RAID + innovation, RAID + transformation and paradigm shift.
RAID + innovation
Several vendors have addressed traditional RAID problems by taking an incremental approach to RAID that leverages its reliability while diminishing some of the tradeoffs. IBM's EVENODD (implemented by EMC on Symmetrix DMX) and NetApp's RAID-DP (implemented on NetApp's FAS and V-series) have enhanced RAID 6 by reducing algorithm overhead while increasing performance.
NEC's RAID-TM or triple mirror (implemented in its D-Series systems) aims to solve RAID 1 data loss risk if both the primary and mirror drive fail or if there's a non-recoverable read error. RAID-TM writes data simultaneously to three separate HDDs so if two HDDs fail or there are unrecoverable read errors in the same mirror, the app still has access to its data with no degradation in performance even as the drives are rebuilt. The advantage is performance; the disadvantage is far less usable capacity.
RAID-X is an IBM XIV Storage System innovation that uses a wide stripe to reduce RAID tradeoffs of performance and data loss risk. It's basically a variation of RAID 10 that uses intelligent risk algorithms to randomly distribute block mirrors throughout the entire array. This approach allows XIV to reconstruct the data on very large 2 TB HDDs in less than 30 minutes. As with all mirroring technology, the tradeoff is reduced usable capacity.
Hewlett-Packard's LeftHand Networks and Pivot3. provide similar variations of Network RAID for their x86-based clustered iSCSI storage. Network RAID leverages the concept of RAID, but uses storage nodes as its lowest component level instead of disk drives. This allows it to distribute a logical volume's data blocks across the cluster with one to four data mirrors depending on the Network RAID level. Ongoing block-level, self-healing nodal health checks allow Network RAID to copy and repair the data to another node before a failure occurs. This decreases the probability of a hard disk drive fault or non-recoverable read error causing a performance-sapping rebuild; but like all mirroring technology, it reduces the amount of usable storage.
These are just some of the RAID + innovation technologies. Others are currently incubating, including proposals for RAID 7 (triple parity and more) or TSHOVER (triple parity).
RAID + transformation
There are also post-RAID alternatives that attempt to re-invent RAID. They typically use RAID and are layered on top of it in some way. The concept is to keep what's good about RAID and fix the rest. Examples of transformation technologies include self-healing storage and BeyondRAID.
BeyondRAID: Data Robotics' BeyondRAID sits on top of RAID and makes it completely transparent to the administrator. It transforms RAID from a deterministic offline process into an online dynamic one. Essentially self-managing, BeyondRAID chooses RAID sets based on the required data protection at any given point in time. But it's how BeyondRAID addresses RAID issues that truly makes it stand out. It protects against one or two HDD failures and has built-in automatic data self-healing (not storage self-healing). Data blocks are spread across all of the drives so data reconstruction is very fast. Because the system is "data aware," it allows for different drive sizes, drive re-ordering and proportional rebuild times. Because it tops out at 8 SATA drives, it's most appealing for small- and medium-sized businesses (SMBs), but it's a true turn it on, hook it up and forget it storage system.
RAID paradigm shift: Erasure codes
Erasure codes are designed to separate data into unrecognisable chunks of information with additional information added to each chunk that allows any complete data set to be resurrected from some subset of the chunks. The chunks can be distributed to different storage locations within a data centre, city, region or anywhere in the world.
Erasure codes have built-in data security because each individual chunk doesn't contain enough information to reveal the original data set. A large enough subset of chunks from the different storage nodes is needed to fully retrieve the total data set, with the number of required chunks determined by the amount of additional information assigned to each chunk. More additional information means fewer chunks are required to retrieve the whole data set.
Erasure codes are resilient against natural disasters or technological failures because only a subset of the chunks is needed to reconstitute the original data. In actuality, with erasure codes there can be multiple simultaneous failures across a string of hosting devices, servers, storage elements, HDDs or networks, and the data will still be accessible in real time.
Also known as forward error correction (FEC), erasure coding storage is a completely different approach than RAID. Erasure codes eliminate all of the RAID issues described here. It's a new approach and at this time only three vendors have erasure code-based products: Cleversafe's dsNet, EMC's Atmos and NEC's HYDRAstor.
Erasure codes appear to be better suited for large data sets than smaller ones. It's especially appropriate for cloud or distributed storage because it never has to replicate a data set and can distribute the data over multiple geographic locations.
The issues with traditional RAID are well known, and are escalating with higher disk capacities. The post-RAID alternatives described here address many of those problems, and more new approaches are on the way. Selecting the best fit for a particular environment requires research, testing, pilot programs, patience and a willingness to take a risk with a non-traditional approach.
About the authors
Marc Staimer is founder and senior analyst at Dragon Slayer Consulting in Beaverton, Ore., a consulting practice that focuses on strategic planning, product development and market development for technology products. You can contact him at firstname.lastname@example.org.
Antony Adshead is the bureau chief for SearchStorage.co.UK.
This was first published in December 2010