RAID (originally redundant array of inexpensive disks; now commonly redundant array of independent disks) is a data storage virtualization technology that combines multiple disk drive components into a logical unit for the purposes of data redundancy and performance improvement.
Data is distributed across the drives in one of several ways, referred to as RAID levels, depending on the specific level of redundancy and performance required. The different schemes or architectures are named by the word RAID followed by a number (e.g. RAID 0, RAID 1)Before we start talking about the different RAID types, I'm going to define some basic concepts first.
Fault tolerance defined: Basic fault tolerance in the world of storage means your data is intact even if one or more hard drives fails. Some of the more expensive RAID types permit multiple hard drive failures without loss of data. There are also more advanced forms of fault tolerance in the enterprise storage world called path redundancy (AKA multi-path) which allows different storage controllers and the connectors that connect hard drives to fail without loss in service. Path redundancy isn't considered a RAID technology but it is a form of storage fault tolerance.
Storage performance defined: There are two basic metrics of performance in the world of storage. They are I/O performance and throughput. In general, read performance is more valued than write performance because storage devices spend the majority of their time reading data. I/O (Input/Output) performance is the measure of how many small random read/write requests can be processed in a single second and it is very important in the server world, especially database type applications. IOPS (I/O per second) is the common unit of measurement for I/O performance.
Throughput is the measurement of how much data can be read or written in a single second and it is important in certain server applications and very desirable for home use. Throughput is typically measured in MB/sec (megabytes transferred per second) though mbps (megabits per second) is sometimes also used to describe storage communication speeds. There is sometimes confusion between megabits versus megabytes since they sound alike. For example, 100 megabit FastEthernet might sound faster than a typical hard drive that gets 70 MB/sec but this would be like thinking that 100 ounces weighs more than 70 pounds. In reality, the hard drive is much faster because 70 MB/sec is equivalent to 560 mbps.
RAID techniques defined: There are three fundamental RAID techniques and the various RAID types can use one or more of these techniques. The three fundamental techniques are:
- Mirroring
- Striping
- Striping with parity
Mirroring: Data mirroring stores the same data across two hard drives which provides redundancy and read speed. It's redundant because if a single drive fails, the other drive still has the data. It's great on read I/O performance and read throughput because it can independently process two read requests at the same time.
Striping: Data striping distributes data across multiple hard drives. Striping scales very well on read and write throughput for single tasks but it has less read throughput than data mirroring when processing multiple tasks.
Striping with parity: Because striping alone is so unreliable in terms of fault tolerance, striping with parity solves the reliability problem at the expense of some capacity and a big hit on write IOPS and write throughput compared to just data striping. Data is striped across multiple hard drives just like normal data striping but a parity is generated and stored on one or more hard drives.
Basic RAID Levels defined
The various RAID types used in the storage world are defined by Level numbers.
RAID Level 0: RAID Level 0 is the cluster-level implementation of data striping and it is the only RAID type that doesn't care about fault tolerance.
RAID Level 1: RAID Level 1 is the pure implementation of data mirroring.
RAID Level 5: RAID Level 5 is a cluster-level implementation of data striping with DISTRIBUTED parity for enhanced performance.
Out of an array with "N" number of drives, the total capacity is equal to the sum of "N-1" hard drives.
RAID Level 6: RAID Level 6 is a cluster-level implementation of data striping with DUAL distributed parity for enhanced fault tolerance. It's very similar to RAID Level 5 but it uses the equivalent capacity of two hard drives to store parity.
RAID Level 10 (composite of 1 and 0): RAID Level 10 (sometimes called 1+0) is probably the most common composite RAID type used on the market both in the server and home/enthusiast market.
The most common and recommended implementation of mirroring and striping is that mirroring is done before striping.
This provides better fault tolerance because it can statistically survive more often with multiple drive failures and performance isn't degraded as much when a single drive has failed in the array.
Non-RAID drive architectures
- JBOD (derived from "just a bunch of disks"): an architecture involving multiple hard drives, while making them accessible either as independent hard drives, or as a combined (spanned) single logical volume with no actual RAID functionality.
RAID Storage calculator link :http://www.raid-calculator.com/default.aspx
Comparison Chart For reference:
Kick off your day with email newsletter. Follow by Email.
No comments:
Post a Comment