Raid Levels
What is Raid anyway?
In this section we will discuss raid levels and how they could protect your data in case of a failure.
We will look at the most common levels used today.
Common raid levels
Raid 0 - Stripping or Concatenation
Raid 1 - Mirroring
Raid 5 - Distributed parity
Raid 0+1 - Stripping and Mirroring
Raid 1+0 - Mirroring and Stripping
Raid Performance
There are some others as well, but it depends on the vendor of the storage product. Some use their own proprietary levels that no else use.
This is all well and dandy, but first we need to discuss what raid is.
What is raid?
Raid is an acronym for, Redundant Array of Independent Disks. It used to mean, Redundant Array of Inexpensive Disks, but since it's inception the name have changed to something more meaningful.
The whole idea of raid and raid levels, was born a long time ago, in 1987 to be exact. If a single disk in your computer fails, then your data is gone. As simple as that.
With raid, you combine different disks together to make them more redundant. For example, with raid 1, two disks are mirrored so that if you lose one, the other still has the data. Simple enough. The bad thing is, that you need two disks.
This means that you have to buy two disks instead of one. Later we will look at the different raid levels in more detail. We will also discuss pros and cons of the different levels.
Redundancy is not the only feature that you get with raid. If you stripe disks together, you also get a performance increase and more disk space. Click on the above links to find more information on the different levels.
How can I configure raid levels?
There are 2 types of raid. Software raid and hardware raid.
Software raid is where software does the actual mirroring and stripping of the disks. There is no hardware raid controller involved. The operating system, raid software and the system hardware is used to create the raid configurations.
The disks that are used are normal jbods (just a bunch of disks). This means that there are no fancy controllers needed that costs a lot of money to setup the raid configurations.
Software raid using internal disksThe picture below shows how software raid can also be used on external storage units. These units don't have any hardware raid capabilities and are also a JBOD.
Software raid using external disksThe software usually comes with the operating system. Sun Microsystems, has a product called, Solaris Volume Manager (SVM) which you can use to setup raid levels.
Sun also incorporated the very popular, zfs (zeta byte filesystem) in their operating systems from later versions of their popular Solaris 10 operating system.
Other UNIX vendors use also have their own products that they use for software raid.
While the built in software does a good job, they lack some features. A company called, Veritas (now owned by Symantec) makes a very cool and powerful product called, Veritas Volume Manager.
They actually have a whole suite of programs that you can use to manage your disks, SAN and backups. Some argue that their products are best there is. That may be so, but it comes at a price. These products can be quite expensive, but like the saying goes, "You get what you pay for".
If you want the best, then buy Veritas. You won't be disappointed.
But don't shoot SVM and ZFS down. They are also very good, and the best is, its free. Yep, that's right, free. After you install Solaris, you can start using SVM or ZFS to create raid levels out of the box. The same goes for most other vendors as well.
See my Solaris pages for information on how to configure SVM and ZFS. It's really not that difficult.
Hardware raid uses controllers and special hardware to create the raid configuration.
Remember, with software raid, the OS does all the work. The setup, the writing to disks and the software. This places an extra load on the OS. The management is also more involved with software raid.
With hardware raid, the controller on the external storage unit does all the work. This controller contains a CPU, memory and it's own operating system. The OS is usually a flavor of Linux. Some vendors use their own OS.
Example of hardware raid and raid levelsThe cool thing here is that the external controller does all the work. You setup everything on the external unit and only present logical unit numbers (LUN) to the server.
What's a LUN (Logical Unit Number)
Remember, the whole idea behind raid is to make disks redundant, more capacity and better performance.
When you create a raid configuration, you use multiple disks and group them together. This grouping is called a raid group. This is where you will specify the raid levels. Vendors use different names for these groupings such as pools or volumes. I will use the term, raid group. It just makes more sense.
You can then either use the whole group or you can create pieces of this group and present it to a host or server.
These pieces or groups that you present to the host is called a LUN or volume. So the host does not see individual disks, it sees LUN's or pieces of the disk that form part of a group of disks.
Below is a picture to show this relationship.
Raid groups and LUN'sHardware raid is by far the most popular form of raid used today. This does not mean software raid is gone. It is still widely used by vendors and customers.
Sun Microsystems uses ZFS and external storage units called the J4200 and J4400 series. These storage units are JBOD's that uses SAS (Serial Attached SCSI) or SATA (Serial Advanced Technology Attachment) disks. This combination gives good performance at half the price of hardware raid.
Hardware raid usually comes in entry level, mid level and high end level storage configurations. These can cost you from as little as $10,000 to up to $200,000. Sometimes even more.
These hardware raid systems uses fiber channel, SAS and iSCSI connections to the hosts in SAN (Storage Area Networks), NAS (Networked Attached Storage) and DAS (Direct Attached Storage) storage topologies.
See my section on fiber channel to look at the differences in these topologies.
Hardware raid devices also makes use of cache. Cache is a form of memory that is built into the controller. When the host or server writes data to the controller, the data is first cached in the memory before it's written to disk.
This has the advantage that writes are very fast. Remember that memory on a PC is faster than disk. The same applies to the controllers cache. After the data is written to cache, it's committed to disk.
The data in the cache will be lost if the power is disconnected from the storage unit. This could be disastrous if there is user data in the cache. Vendors use battery backup packs on their controllers to avoid this potential unpleasant experience.
The batteries in these controllers will keep the data alive until the power is restored on the controllers. The batteries can keep the data alive for about 72 hours.
Some vendors use capacitors and flash drives to achieve the same results. Fujitsu is one vendor that uses this technology on their Eternus range of storage.
Return from Raid Levels to What is my Computer