2 What is RAID? Redundant Array of Inexpensive/Independent Drives It is a method of combining more than one hard drive into a logic unit for the purpose of: Increasing Fault Tolerance Increasing Performance Or both RAID has been around a long time 1 2 3
3 There are three ways to accomplish RAID: Fake RAID/BIOS RAID Hardware RAID Software RAID Each has its own set of advantages and disadvantages. And these vary depending on operating system and type of application.
4 Hardware RAID is where a dedicated set of hardware performs the actual work. Usually, quality hardware RAID will be: The most reliable The fastest performance The least amount of CPU load on the host system But it is also: The most expensive solution Inflexible Not very portable
5 Real hardware RAID controllers are expensive. Beware, controllers under $200 are not hardware RAID, they are FAKE RAID on a card. Linux support for hardware RAID is very good, especially from places like 3Ware and LSI. Typically, you can setup your RAID at boot time from a BIOS on the controller card. It is then completely transparent to the OS. You can even boot from a hardware RAID. You can optionally install Linux software that will monitor the RAID for failures, warnings, and to perform builds, rebuilds, etc. Hardware RAID can be SATA, SAS, or a combination. Can be picky about drive type.
6 If your hardware RAID controller dies, you will lose your whole array. Hardware RAID formats are proprietary, so if you have to replace the controller, you will likely have to rebuild the array from scratch if it is not the same model card. Rebuilding large arrays (multi TB) can take a LONG time. If you can't or don't run Linux software for the card, you have to use the card BIOS to build, meaning your system is down.
7 Fake/BIOS RAID is achieved through assistance of the BIOS/chipset on a motherboard. Lower reliability Lowest portability Low expense High CPU usage on the host Often inflexible The RAID work is mostly done by the host CPU and requires special OS drivers. Often these are not Linux compatible. Yet it is still dependent on the motherboard- and if that is fried or damaged, your RAID might be toast.
8 Fake/BIOS RAID puts the same amount of load on your computer CPU as software RAID. Fake RAID has most of the disadvantages of hardware RAID (except price) and ALL of the disadvantages of software RAID. Plus it has additional disadvantages, like having to run special or foreign kernel modules that might break with upgrades, might not be auto-installed, and are often not well documented or tested. So... Don't use Fake RAID under Linux!
9 Software RAID is performed completely in the native OS (Linux). Lowest cost Highest portability High reliability High CPU usage on the host machine Most flexible Unlike fake RAID, it is not tied to a motherboard and requires no special drivers. Unlike hardware RAID, it is not tied to a specific controller.
10 Linux software RAID can usually be setup at installation time (Mandriva's disk drake, for example, is extremely friendly). It can also be set up using a rescue disc. You can optionally run a monitoring daemon under Linux to watch the array. Software RAID is only suitable if you have spare CPU power. A huge multi-user system would not be appropriate for software RAID. But a multicore, single user system has tons of extra CPU. If you use software RAID on old IDE drives, make sure to have only 1 drive per cable! No such problem with SATA/SAS.
11 There are various types of RAID depending on your needs and requirements. The most popular three are: RAID 0: Striping RAID 1: Mirroring RAID 5: Striping & Parity You can perform all three using software RAID under Linux. There are other types of RAID also, but we will ignore them for simplicity :)
12 Software RAID types comparison RAID Type CPU/ Fault Controller Toleran Load ce Perform- Complex Minimum ance -ity Drives Boost No RAID Low None None RAID 0 Medium RAID 1 RAID 5 Low 1 Medium 2 High Worse Highest than no RAID High None Low 2 High High High 3 High
14 RAID 0 is used only for performance. The data blocks are split over two or more hard drives. This directly speeds performance because you can read data from or write to several drives at the same time. A two drive RAID 0 array is roughly twice the performance of a single drive. And a three drive array is about three times the performance. The catch? Your fault tolerance is actually LOWER than no RAID at all! If one drive fails, both will go down.
16 RAID 1 is used only for fault tolerance/ redundancy. The data blocks are mirrored over two drives (or pairs of drives). There is no increase in performance. But without the striping of RAID 0, each drive can be read without any special mounting or drivers. Remember- fault tolerance is NOT A BACKUP, it only protects against drive failure. It will not do a thing to protect against accidental erasure, filesystem corruption, controller failure, nor malware damage!!!
18 RAID 5 is used for both performance AND fault tolerance. It is the best of both worlds, combining traits of RAID 0 and RAID 1. The catch is that it requires at least 3 hard drives, it is more complex to setup and manage, and uses the most CPU. RAID 5 is an ideal technology for servers. Although software RAID 5 is not the best choice for large/multiuser systems.
19 There are performance limits to using software RAID with striping (like RAID 0 and RAID 5) when using on-motherboard SATA controllers. The problem is that as you add more drives to your array, the performance gets faster and faster until it will saturate SOMETHING on your system. The problem is that it is hard to know where the limits are. It is unlikely that a 3 drive array will saturate most motherboard controllers. You might even get away with 4 drives. But if you need more drives or performance than that, you might want to look at a hardware based controller with a very fast connection (PCIe 16x).
20 What did Mark choose for his home Linux system and why? I had two 1TB hard drives. I use one as an rsync backup of the first. So I have redundancy (but no fault tolerance, which is OK on a home system). I needed more space and wanted more performance at the same time... especially since I had upgraded the motherboard to a 6 core Phenom II. I liked my backup/rsync/spindown method and wanted to retain that... 1TB Main drive rsync 1TB Backup drive
21 I bought a 2TB drive and 4 trayless removable drive bays. 1TB sda Created a 2TB RAID 0 array across my 2 TB RAID 0 older two drives. Then I use the third, new, 2TB drive as my backup/rsync 1TB drive. sdb I timed it with new installation of Mandriva , which I had planned to install anyway. I installed new 2TB drive and rsynced to it first. Then installed and created array. After installation, I copied back my data files (pics, music, docs, etc from the rsync drive. rsync 2TB Backup sdc
22 But what about LVM? Couldn't I have just spanned the two drives together that way? Well yes. I could have. But then I would not gain any performance. And I was really after performance just as much as additional space. Interestingly, you can combine software RAID and LVM, although it gets a lot more complicated. :) When you create a RAID, you end up with a new device called md0 (MultiDrive 0). More on that later. Let's see what software RAID0 looks like:
25 Now for a more traditional look at the situation: Disk /dev/sda: GB, bytes Device Boot /dev/sda1 * /dev/sda2 /dev/sda3 Start End Blocks Id fd System Linux swap / Solaris Linux Linux raid autodetect Id fd System Linux swap / Solaris Linux Linux raid autodetect Id 83 System Linux Disk /dev/sdb: GB, bytes Device Boot /dev/sdb1 * /dev/sdb2 /dev/sdb3 Start End Blocks Disk /dev/sdc: GB, bytes Device Boot /dev/sdc1 Start 1 End Blocks Disk /dev/md0 doesn't contain a valid partition table
26 And some more: /]# cat /etc/fstab /dev/md0 / ext4 acl,noatime,nodiratime 1 1 # Entry for /dev/sda2 : UUID=2c928ae8-d c3-0d15001dd38a /boot ext4 acl,noatime,nodiratime 1 2 /dev/cdrom /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0 none /proc proc defaults 0 0 # Entry for /dev/sda1 : UUID=979c7fd9-4d0d-4e5a-8494-e24b4fd5e642 swap swap defaults 0 0 # Entry for /dev/sdb1 : UUID=dc32ec5f-589f aebd38a8237 swap swap defaults 0 0 /]# mount /dev/md0 on / type ext4 (rw,noatime,nodiratime,acl) none on /proc type proc (rw) /dev/sda2 on /boot type ext4 (rw,noatime,nodiratime,acl) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) gvfs-fuse-daemon on /home/mark/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=mark) /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/md0 1.8T 864G 868G 50% / /dev/sda2 981M 29M 902M 4% /boot
27 Did you notice there was a small, 1GB ext4 boot partition at the beginning of both sda and sdb? This is because when you first bootstrap the system, you need a place to put the kernel that is not inside a RAID volume. Since it is software RAID, the kernel drivers have to be loaded BEFORE the RAID volume can be decoded and read. Some systems CAN boot software RAID from GRUB, but it seemed a lot more complex and risky so I decided it wasn't worth the bother. Note that swap is also outside the RAID volume. It can be inside the array, if necessary. I just thought it made sense to keep it out. Linux will interleave the two swap areas
28 But how does it perform? Did it work? Type Char Write Block Write Char Read Block Read 1,102 92,703 Char ReWrite 47,441 Non RAID Linux RAID 0 Seeks/ Sec 5, , , ,821 90,145 4, , Bonnie++ ver 1.06 results shown. Same computer, same OS (Linux , 64 bit). Similar hard drives used. Phenom II X6 3.6Ghz. As you can see, block reads and writes are much faster, and seek time is also faster.
29 But what if you want to set up RAID manually without using the distro installation tools? Then you need to boot onto a rescue Linux (CD/Flash) and use command line tools to partition and set up the RAID. It is quite a bit more complicated. Here is a great resource for Linux software RAID information:
30 mdam Create: Create a new array with per-device superblocks (normal creation). Assemble: Assemble the parts of a previously created array into an active array. Typically you do this in the init scripts after rebooting. Follow or Monitor: Monitor one or more md devices and act on any state changes. This is only meaningful for raid1, 4, 5, 6, 10 or multipath arrays as only these have interesting state. raid0 or linear never have missing, spare, or failed drives, so there is nothing to monitor. Typically you do this after rebooting too. Build: Build an array that doesn't have per-device superblocks. For these sorts of arrays, mdadm cannot differentiate between initial creation and subsequent assembly of an array. It also cannot perform any checks that appropriate devices have been requested. Grow: Grow, shrink or otherwise reshape an array in some way. Changing the active size of component devices in RAID level 1/4/5/6 and changing the number of active devices in RAID1. Manage: This is for doing things to specific components of an array such as adding new spares and removing faulty devices.
31 As a side note: Hotswapping means the ability to add or subtract hard drives, on the fly, while the system is running. Newer motherboard SATA controller chipsets do support this (AHCI), and so does Linux! It works! Just remember that you should NEVER remove a running member of a RAID0 (striping only) array or you will instantly ruin the entire array... But for RAID1 & 5, this is an OK thing to do (with RAID 5, only ONE drive between rebuilds). SYBA CL-HD-MROF, SATA 3.5, Newegg, $20ea
Intel RAID Software User s Guide: Intel Embedded Server RAID Technology II Intel Integrated Server RAID Intel RAID Controllers using the Intel RAID Software Stack 3 Revision 8.0 August, 2008 Intel Order
INTRODUCTION TO LINUX CLUSTERING DOCUMENT RELEASE 1.1 Copyright 2008 Jethro Carr This document may be freely distributed provided that it is not modified and that full credit is given to the original author.
www.freeraidrecovery.com Practical issues in DIY RAID Recovery Based on years of technical support experience 2012 www.freeraidrecovery.com This guide is provided to supplement our ReclaiMe Free RAID Recovery
SURVEY ON RAID Aishwarya Airen 1, Aarsh Pandit 2, Anshul Sogani 3 1,2,3 A.I.T.R, Indore. Abstract RAID stands for Redundant Array of Independent Disk that is a concept which provides an efficient way for
RAID Basics Training Guide Discover a Higher Level of Performance RAID matters. Rely on Intel RAID. Table of Contents 1. What is RAID? 2. RAID Levels RAID 0 RAID 1 RAID 5 RAID 6 RAID 10 RAID 0+1 RAID 1E
Options for backing up your computer Aryeh Goretsky, MVP, ZCSE NOTE: An earlier version of this white paper appeared as a guest blog at The Windows Club website. Table of Contents Both hardware and software
RAID Chunk Size Notices The information in this document is subject to change without notice. While every effort has been made to ensure that all information in this document is accurate, Xyratex accepts
Table of Contents 1 Introduction 1.1 Welcome 1.2 What Makes Data Rescue Different? 1.3 Latest Version of the Software 1.4 Contact Prosoft Engineering 1.5 About the Demo 1.6 System Requirements 1.7 General
Everything you forgot to consider when building your RAID by www.freeraidrecovery.com 2011 RAID is an acronym for Redundant Array of Independent (Inexpensive) Disks. RAID technology allow to combine several
SATARAID5 Management Software User s Guide Document Number: MAN-000SR5-000 Revision 1.30 Copyright 2006, Silicon Image, Inc. All rights reserved. No part of this publication may be reproduced, transmitted,
Availability and Disaster Recovery: Basic Principles by Chuck Petch, WVS Senior Technical Writer At first glance availability and recovery may seem like opposites. Availability involves designing computer
Data Integrity: Backups and RAID Track SA-E AfCHIX workshop Blantyre, Malawi (Original slides by Phil Regnauld) Introduction Keeping your data safe and reliable TM Backups Types of backups Strategy Tools
For Small and Medium Businesses Overview May 2008 Overview 2 Contents Page 3 Page 6 Page 9 Page 11 Introduction RAID storage Software versus hardware RAID Backup hardware and software Considerations for
RAID Utility User Guide Instructions for setting up RAID volumes on a computer with a Mac Pro RAID Card or Xserve RAID Card Contents 3 RAID Utility User Guide 3 The RAID Utility Window 4 Running RAID Utility
Best Practices for Deploying and Managing Linux with Red Hat Network Abstract This technical whitepaper provides a best practices overview for companies deploying and managing their open source environment
RAID 0 increases with more disks in the array (at a minimum, catastrophic data loss is twice as likely compared to single drives without RAID). A single disk failure destroys the entire array because when
TechNet Home > Products & Technologies > Windows NT Server > Maintain Windows NT Backup Software Topics on this Page TBU Advantages and Disadvantages Backup and Restore User Accounts Starting the TBU GUI
Checksumming RAID Brian Kroth firstname.lastname@example.org Suli Yang email@example.com Abstract Storage systems exhibit silent data corruptions that go unnoticed until too late, potenially resulting in whole trees
Promise RAID MBFastTrak133 TM Lite User s Manual Copyright Copyright 2002 by Albatron. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval
Embedded MegaRAID SATA User's Guide Areas Covered Before Reading This Manual This section explains the notes for your safety and conventions used in this manual. Chapter 1 Overview This chapter introduces
Recommended Backup Strategy for FileMaker Pro Server 7/8 for Macintosh & Windows Updated March 2006 This document provides a single cohesive document for managing and understanding data backups for FileMaker
Microsoft Exchange Server 2010 storage overview and HP storage options Technical white paper Table of contents Exchange Server 2010 storage is all about options... 2 Exchange technology changes... 2 Microsoft
6Gb/s SATA RAID TB T12-S6.TB - Desktop RM12-S6.TB - Rackmount User Manual Version: 1.0 Issue Date: October, 2013 ARCHTTP PROXY SERVER INSTALLATION 5.5 For Mac OS 10.X The ArcHttp proxy server is provided