Slashdot Mirror


What Kind Of Software RAID Are You Running?

ErikZ asks: "Lately, I'm having issues with my RAID. Specifically, closed source drivers for my RAID card that only support Red Hat 9. So I've decided to Ebay the card, and try to figure out how to turn 4 SATA drives into a software driven RAID 5 setup. Yes, I know I'll lose all the data, and I'm not worried about it. Finding a 4 port (or more) SATA controller card, that's well supported under Linux, has been difficult. Everyone wants to slap on their own RAID chip and charge you another 100$ for the pleasure. Where can a guy get a highly recommended, well supported, 4 port SATA card for Linux? The Rocket 1540 cards have vanished off the face of the earth. There are a few motherboards out there that have 4+ SATA connectors on them, but they also add RAID and some other cutting edge features that aren't well supported under Linux. So, I thought I'd try another route and ask Slashdot: What are you using for your Linux software RAID needs? What do you suggest?"

29 of 148 comments (clear)

  1. I'm using md, aka Linux Software Raid by eakerin · · Score: 4, Informative

    Why not just let linux handle the raiding of the drives? No special hardware needed ourside of the drive controllers you already need to hook the drives up.

    For more information check: man md

    Also RAID 5 is distributed parity raid, no data loss if only one drive goes. it takes two failures to lose data on a raid 5 array.

    1. Re:I'm using md, aka Linux Software Raid by TheWanderingHermit · · Score: 3, Interesting

      If it's not included, the full package is mdadm. There are a number of tutorials on the web for it. It's easy to set up, and easy to run (just ignore it). I don't remember if it can work with hot swapping (I don't need that yet), but I'm using it on several systems. I set it up, and I haven't had to worry about it since.

      When I first got it, I stuffed a lot on the raid drive, disabled it, wiped out one disk, and re-activated the raid. It rebuilt it and worked fine.

      I asked this question on a Debian (or Debian based) user list at a time when a lot of experienced admins were around, and overall the feeling was that there was no need to go hardware and the software raid would do the job.

    2. Re:I'm using md, aka Linux Software Raid by gregmac · · Score: 2, Informative
      Why not just let linux handle the raiding of the drives? No special hardware needed ourside of the drive controllers you already need to hook the drives up.

      Another point to this: there are three kinds of raid setups:
      • hardware raid - where the OS speaks RAID-specific commands to the controller
      • firmware raid - where software RAID is implemented in the firmware of the card
      • software raid - RAID done by the OS
      From my reading on forums and other various articles, there's almost no (if any) benefit to using firmware-based raid over true software raid. In fact, it's possibly worse, as you're relying on the (possibly closed) software in the firmware of the card, as opposed to the well-tested and open implementation of mdadm (or whatever raid implementation you use). Chances are you'll also spend some time struggling with the driver and getting your kernel to recoginize it.

      If you're going to go hardware raid, go for real hardware raid. Otherwise, I'd suggest sticking to mdadm and doing it in the OS. You get nice email alerts if there's a problem, and all the software will work so long as linux sees your IDE and SATA controllers (probably). You can even mix and match RAID across your IDE/SATA/SCSI/USB/1394 drives.

      --
      Speak before you think
    3. Re:I'm using md, aka Linux Software Raid by kzadot · · Score: 2, Insightful

      Unless you want to boot, in which case you will need a seperate boot drive because the BIOS cant load the kernel off a software raid.

      Which defeats the purpose, as the performance gains from RAID are going to be greater on the system drive (swap space, loading programs, libraries, program resources etc) than on the data drive, which is typically multimedia data where performance isnt a factor, as when you save it, your download speed is the bottleneck, and when you play it, the multimedia files have set bitrate.

      I just dont get software raid.. Its the system drive that has the most to gain from RAID yet software raid doesnt work on system drives. Who gives a shit if your mp3 drive is faster it only has to deliver a couple of hundred kbps.

    4. Re:I'm using md, aka Linux Software Raid by cowbutt · · Score: 2, Informative
      Actually, the RAID cards you refer to as 'firmware RAID' perform most of the RAID operations in the driver of the OS (though some, at least, provide enough BIOS support in order to get the OS booted). Promise and Highpoint's cheaper cards work like this, and Linux's ide-raid drivers used to support some of these chipsets (along with the manufacturer's own drivers).

      IMHO, the only reasons to use these as anything other than bog-standard ATA controllers are a) if you have a pre-existing RAID setup that you wish to continue to use b) to migrate from or c) because your OS doesn't provide its own software RAID (XP Home, Windows 9x). As bog-standard ATA controllers, they're as good as any other (I use a Promise MBUltra 133 with two 200G Seagate discs and Linux md myself).

  2. The device-mapper works fine here. by woolie · · Score: 2, Interesting

    It's been running my raid for a couple of years...I think. I cannot honestly remember when I first configured it.

    There are some things to be aware of. If you want to mount / as a raid, it can be tricky. The initrd needs to be properly configured, or the drivers must be built into the kernel.

    Sometimes, the raids don't shut-down completely. I've never been able to completely solve this problem. Most of the time it's OK, but some machines have trouble. The most common culprit has been NFS.

    GRUB & LILO need some special care when you plan to mount root from a raid mirror. It does work and it has all of the appropriate relibility features.

  3. megaraid by Johnny+Mnemonic · · Score: 2, Informative


    I like this one: MegaRAID SATA 150-4. Admittedly, I've only used it under OS X Server, as it's apparently what Apple uses in their OEM; but they do have linux drivers and I can only assume that they work as well, if not better. Straightforward setup on the CLI, and not too expensive.

    Personally, for $300 I wouldn't screw around with a software raid unless this is your own personal box and the drives only have MP3s.

    --

    --
    $tar -xvf .sig.tar
  4. Uhmm, what's your problem really... by joto · · Score: 3, Insightful
    Lately, I'm having issues with my RAID. Specifically, closed source drivers for my RAID card that only support Red Hat 9. So I've decided to Ebay the card, and try to figure out how to turn 4 SATA drives into a software driven RAID 5 setup. Yes, I know I'll lose all the data, and I'm not worried about it. Finding a 4 port (or more) SATA controller card, that's well supported under Linux, has been difficult. Everyone wants to slap on their own RAID chip and charge you another 100$ for the pleasure.

    But can't you just use your raid card as a SATA card, and ignore the raid functionality? Why do you absolutely need it to be non-RAID? I'm sorry, but I'm having real trouble understanding what's the difficulty here...

  5. 3ware, 3ware 3ware. by zsazsa · · Score: 4, Informative

    The best option for real hardware SATA (or IDE) RAID in Linux is 3ware, bar none. Their drivers have been in the official Linux kernel since the early 2.4 days, and they just work. Highly recommended.

    Why real hardware RAID? Say, for example, your boot drive goes out in a software RAID configuration. Your system is suddenly unable to boot, requiring manual intervention for a rebuild. With hardware RAID, the BIOS built-in to the card handles things smoothly and your system can boot without a problem.

  6. You know.... by porcupine8 · · Score: 2, Funny

    You know you've seen one too many memes on LiveJournal and other such places when you just read that "What Kind of Software RAID Are You?" and think somebody's posted a link to a quiz.

    --
    Warning: Apple/Nintendo fangirl. Likes her electronics cute & cuddly. May be rabid.
  7. 3Ware has the best reputation. by Futurepower(R) · · Score: 2, Informative


    Of all the PC RAID card manufacturers, 3Ware has the best reputation. However, you cannot boot from one drive in a 2-drive mirror. If for some reason you don't have a working 3Ware card, you cannot get your data. It is lost.

    If you use 3Ware cards, keep one or two spare cards.

  8. Why not the 1640 cards? by zymurgy_cat · · Score: 2, Informative

    Why not a rocketraid 1640? They support 4 SATA drives and support (so they claim) Linux. I've run a Highpoint card under FreeBSD with no problems whatsoever...well, the management software won't work, but, hey, I can check things with the command line....

    --
    -- Fugacity: Confusing chemists since 1908
  9. What Kind Of Software RAID Am I Running? by happymedium · · Score: 2, Funny

    A righteous and just one against those godless peer-to-peer commies, thank you very much.

  10. From my notes when setting up my Soft-RAID server by RabidSquirrel · · Score: 5, Informative

    I took some notes when I was setting up my home 4x250GB RAID 5 server. I found there to be three categories of RAID solutions. Might be helpful for you in deciding. Copied them below and added a few extra comments.

    It really depends on what you are using the server for. I ended up going for the pure Software RAID option. Its for home and I'm a cheap. If you're not cheap or it is for a work server, I'd stick with the pure Hardware solutions.
    ________

    Hardware RAID:
    The expensive Adaptec, 3ware, etc SCSI cards found in most servers.

    Pro - Offloads XOR calculations from the CPU to internal processor.
    Pro - No manual intervention required in case of a raid failure.
    Con - Expensive.
    Con - Third Party and/or closed source drivers often required.

    Semi-Hardware RAID:
    These are typically the SATA RAID controllers that are built into motherboards but includes cheapo add-on cards. Generally if less than 150 bucks, not full hardware RAID. I believe all of the RocketRAID cards fall in this section.

    Pro - No manual intervention in case of a disk failure.
    Pro - Cheap.
    Con - Minimal or No CPU offloading.
    Con - Third Party and/or closed source drivers often required.

    Software RAID:
    Use Linux and plain old SATA/PATA controllers to handle all of your RAID needs.

    Pro - Very cheap.
    Pro - No worry about driver incompatiblity or closed source drivers.
    Con - No CPU offloading. You essentially trade CPU power for Disk speed/redundancy... and its a significant trade.
    Con - Manual intervetion required in case of disk failure.
    Con - PATA Only. Must be one drive per channel! NO SLAVES! Apparently data loss can occur on both drives in the chain if one goes bad. http://www.tldp.org/HOWTO/Software-RAID-HOWTO-4.ht ml#ss4.1
    Performance is also hurt in a Master/Slave combo.

    ________

  11. Use the Onboard SATA and bypass the Hardware RAID by OmgTEHMATRICKS · · Score: 5, Informative

    The general consensus among linux kernel engineers and software RAID users is:

    1. As long as the onboard SATA chip is well supported on your linux kernel, use the onboard chip.

    2. Don't worry about the "hardware RAID" built into the motherboard. You don't have to use it. In fact, most people bypass it.

    3. Use the non-BIOS SATA driver for your motherboard. Some motherboards have two different chips. Mine (an Epox 8RDA+Pro nForce Ultra2/400) uses both the common Silicon Image SIL3114 which supports 4 SATA drives and an additional 2 SATA drives provided by the onboard nForce 2 Ultra Gigabit MCP chipset. Quite nice for RAID and I still have normal PATA IDE drives 0 - 3.

    4. Quite often the SATA RAID hardware only supports RAID 0,1 and 10 (or 01 depending). If you're looking for RAID 5 then you'll have to buy a more expensive outboard solution. The problem with outboard solutions are that they will eat into your PCI bandwidth. If you will be using PCI-X then you will probably also be paying significantly more for your outboard solution. Most people have a ton of CPU lying around, so handing off the I/O doesn't really buy you that much.

    5. When it comes down to it you might as well just use software RAID because you have more control over it. You can use the onboard SATA controllers which allow you to take advantage of the increased on-motherboard bandwidth as well as having a significantly less expensive solution.

    6. Another advantage to using Linux software RAID is that you don't have to learn a new RAID management system everytime you upgrade your machine and controller. You can also connect to your machine remotely and manage your raid system through a firewall. Sometimes you can do that with your hardware RAID system and sometimes you need to manage it from the BIOS itself.

    7. Once you get comfortable with software RAID you can experiment with mixing and matching various I/O systems underneath it. One of the things I'd like to play with would be using software RAID with Firewire 800 external drives in a pseudo-SCSI arrangement.

    8. The LVM2 system doesn't need software RAID, but it works very nicely with it none-the-less and gives you snapshot support etc.

    9. Personally, I'm going for RAID 10 (striped mirroring) because drives have gotten very inexpensive and I don't mind burning a few more to get higher I/O rates. Remember, if you go with a mixture of RAID 0 and 1 then you want a striping over mirroring -- that way if you have a single drive failure the array keeps going.

    Have fun and don't use RAID instead of backups. Backups save the stuff that you deleted intentionally but need to recover.

  12. Re:From my notes when setting up my Soft-RAID serv by Short+Circuit · · Score: 2, Informative

    Software RAID:
    Use Linux and plain old SATA/PATA controllers to handle all of your RAID needs. ...

    Con - PATA Only. Must be one drive per channel! NO SLAVES! Apparently data loss can occur on both drives in the chain if one goes bad. http://www.tldp.org/HOWTO/Software-RAID-HOWTO-4.ht ml#ss4.1
    Performance is also hurt in a Master/Slave combo.


    Um...why PATA only? I've done software raid using loopback devices. I can't see why SATA drives would be any less likely to work.

  13. I use straight-up Linux md by scottfk · · Score: 2, Informative

    Nothing fancy... just a RAID-1 set, using Linux md.

    Since a desktop/workstation machine does mostly reads anyway, I am getting the benefit of striped reads. I don't really care that my writes incur a slight penalty.

    Granted, hardware RAID would use less CPU time... but hardware RAID is tied to a particular card. What happens if you move your disks to a new machine? You have to move the RAID card. If you go with an integrated RAID solution on your motherboard, that's tough.

    With Linux md RAID, that is not a problem. Just plug the drives into your new machine and go.

    --

    Be seeing you.

    scott

  14. Failure question by wfeick · · Score: 2, Interesting

    I've considered setting up software raid on my Linux server, but I haven't found any doc yet about what happens in the event of an unexpected crash or poweroff part way through writing a RAID-5 stripe.

    Suppose I have 4+1 disks in a RAID-5 configuration, and during a write to a stripe of the disk only two of the disks are written to before the system crashes. This leaves me with 2 disks with new content, 2 disks with old content, and a useless parity.

    I found a page at RedHat that indicates that as of 2001 there was no multistage commit. Has anything changed since then? Do the Linux MD tools address this?

  15. Re:From my notes when setting up my Soft-RAID serv by RabidSquirrel · · Score: 3, Informative

    Sorry that was just a confusing line. In my original post change "PATA Only" to "This Con only applies to PATA drives". Then it should make more sense.

  16. Re:it doesn't really matter, does it? by innosent · · Score: 2, Informative

    3ware is definitely the way to go. We use them exclusively where I work for SATA RAID, and Adaptec for SCSI. Works in Linux, FreeBSD, and Windows, has REAL hardware RAID (unlike the Promise cards), and gives you great management tools, both in firmware and software. The only possible issue you might have is that they are certainly not the cheapest solution. Then again, how much is it worth to you not to be called about an array failure at 4 AM?

    Also, since you're using SATA, why only 4 drives? Even with the Raptors, that doesn't seem like a high-performance setup. The minimum we have in a more than RAID 1 (simple mirror) setup is 6 drives, and those are 15k U320 drives, for SATA we have at least 8 drives. If you're going to eat the time on rotational latency, at least make it up with more spindles, and don't forget to have at least one hot-standby drive (which would also require you to have a decent card/software RAID setup, cheap cards don't do hot-standby).

    --
    --That's the point of being root, you can do anything you want, even if it's stupid.
  17. Re:From my notes when setting up my Soft-RAID serv by jamesh · · Score: 2, Informative

    > Software RAID:
    > Con - Manual intervetion required in case of disk failure.

    You can get around this for some failure modes, as long as your boot partition is always raid1. I do this at home, /boot is raid1 across 5 disks, the rest is raid5. Read performance for a 5 disk raid1 would probably be fantastic :)

    The success of this depends on the disk either failing so badly that the system can't see it anymore and so boots off another disk, or that the part of the failed disk that holds /boot is still readable.

  18. Re:I have a Linux RAID question by cowbutt · · Score: 2, Informative

    dmraid, apparently. Once you've migrated the data off your array, do yourself a favour, and rebuild it using Linux md RAID. :-)

  19. FUD by adolf · · Score: 3, Insightful

    On my systems, I have a software RAID-1 "boot drive."

    If one drive in the pair fails, things keep ticking along smoothly. They're really just identical partitions with identical data on different disks.

    LILO merrily writes boot code to the array without episode. Meanwhile, the machine's BIOS is happy to boot from disks other than primary-master, all by itself.

    I've booted the system after randomly unplugging devices. It works just fine.

    Why do all of you 3ware goons think that the world wants to buy hardware which offers no clear advantage over having no hardware at all? (As if I want to add -more- potential points of failure to my systems . . .)

    1. Re:FUD by GoRK · · Score: 4, Insightful

      The ol' software raid 1 boot trick depends highly on the behavior of your BIOS under a failed drive condition. This is not the same thing as you get when you unplug a drive. Some BIOS may boot fine; some may not boot from the 2nd hard drive if the first is still attached and failing. It may also depend on how your drive has failed. If the drive electronics are failed and shorting the wrong pins on your IDE controller, then you may not get past the drive detection code in the BIOS at all.

      This is simply one advantage to using a real hardware raid card like the 3ware. There are plenty of other reasons too: Does your chipset/hardware support hot swapping? If you use SATA, does it support command queueing? Do your drives? How much cache does it have? Does it have cache? Can it tolerate all types of hardware failure? Does it have *ahem* 16 ports with individual controllers for each drive? It's not like the BIOS/IDE chipset makers write out in their specs how their hardware performs under drive failure conditions so you have the overhead of testing each configuration to make sure it works proeprly before you have to rely on it. It's not so much a performance difference between hardware and software raid (until RAID-5 anyway) but an issue with how the hardware will respond when something goes wrong, which is one of the primary reasons for using anything above RAID-0 anyway.

      Yes, running a 3ware card costs more. There are times when that $400 costs a lot less than the time spent configuring and testing an alternative software-only implementation. There are times when it doesn't and spending another $400 doesn't make a lot of sense. I have run both setups. I have machines deployed with both IDE software-only RAID arrays, IDE 3ware arrays, SCSI software RAID5's, SCSI Adaptec RAID's etc.. it's all application specific. There's no reason to call somebody a goon for recommending 3ware hardware. It's really good hardware; maybe you should try it sometime.

  20. Some tips by obi · · Score: 4, Informative

    hardware RAID has these advantages:
    1) offloads operations to the controller, so eats less CPU/IO bandwidth.
    2) can have battery backed cache
    3) often looks like "just a scsi controller" to linux and the boot loaders, so booting from f.e. a RAID5 set is often easier.

    software RAID has these advantages
    1) is cheaper
    2) CPU time lost makes hardly any difference
    3) has well-tested and supported tools to manage your raid setup. (imagine if you could only set up your raid sets by rebooting and entering the raid bios)
    4) disk-layout is non-proprietary (controller died? don't have the same brand lying around? manufacturer left the market? no problem!) - so all-around more flexibility.

    Look here for properly supported sata disk controllers:
    http://linux.yyz.us/sata/

    Some of these cards come with BIOS smarts that provides you with software raid which offer you the advantage of point 3) of hardware raid, ie: bios and boot loader support for your raid.

    however, this does mean that the on-disk layout has to be recognized in linux, so linux can make sense of it and set up the raid sets properly. In linux 2.4 there were some drivers that did that themselves, however for linux 2.6 there's now a little userspace program that recognizes a whole bunch of on-disk layouts, and sets them up using the device-mapper facility (part of LVM2).

    The advantage of this is that you can use the same well-tested and -supported linux drivers mentioned on http://linux.yyz.us/sata/ , but still use the (bios) facilities provided by the hardware. Another advantage is that this program will probably be used by all ATARAID ("mostly-software-raid") devices on linux, so it is, or will be well-tested and -supported in itself.

    You can find this program, called DMRAID here:
    http://people.redhat.com/~heinzm/sw/dmraid/

    So if you decide to go the SW-RAID way, think and decide if you want the advantage of dmraid. I haven't tried this myself yet, and the only aspect I'm unsure of is the management aspect of it (like with HW-RAID drivers) - DMRAID doesn't use MDADM, so how can you properly monitor, hot-add, ... your raid sets? I don't know, you'll have to investigate this yourself.

    MDADM itself isn't going away any time soon either, if I understand correctly. (And even if it does, it's probably very likely that they'll make DMRAID understand the MDADM on-disk layout to provide an upgrade path.)

    If however you decide to go the HW-RAID way, make sure you get a reliable and reputable manufacturer - with open source drivers (!), preferably with a known on-disk layout, and be prepared to spend money. I've heard a lot about 3ware, but I have no direct experience with them myself, so I can't vouch for them.

  21. The real issue by Intron · · Score: 3, Funny

    Why aren't we discussing the real issue? Should we allow "ebay" to be used as a verb.

    --
    Intron: the portion of DNA which expresses nothing useful.
  22. Need more information by gseidman · · Score: 2, Interesting

    You can't just ask what RAID solution to use; you need to specify your optimization criteria. For example, if you are going for inexpensive, high capacity, and good redundancy but don't care about hotswapping, you can go with a reasonably cheap PATA or SATA hardware RAID. If you are willing to skip high capacity you can get an external SCSI SCA rack, an inexpensive SCSI card, and a bunch of small SCSI SCA drives. If you want high capacity and high performance without too much cost, get a bunch of large PATA drives, a similar number of FireWire or USB 2.0 (or both) enclosures, as many FireWire or USB 2.0 interface cards as necessary, and do it that way (which also gives you hotswap). If you are willing to spend lots and lots of money, get a Network Appliance server.

    Personally, I'm not worried about performance beyond being able to play full-motion video. I have a PPC 604 180MHz from 1997 with a SCSI card and a RAID rack. 8x18GB at RAID 5 gives me 118GB or so of redundant storage, and I serve it over NFS to my other machines. Just for kicks, I have it going through a cryptoloop, too (LVM on cryptoloop on Linux RAID5 on SCSI). The initial cost was low (the drives were $15 each, the rack was around $100 on eBay, the trays were given to me, the SCSI card was under $40 on eBay, the 100Mbit ethernet card was about $20, and the computer had been a doorstop until I put Linux on it). The ongoing (electricity and cooling) costs are a little high (they are 10K drives), but that's life. I can play an MPEG or AVI from two machines on the network at once without hiccups, so I'm happy.

    If I were going to build a RAID server today, I'd probably buy a Mac Mini, four large PATA drives, and four FireWire enclosures. Assuming 160GB drives, I'd have 320GB of RAID5 storage available over NFS (with a spare drive to swap in) for an investment of under $1200, and I can vary that cost with the size and number of drives. Yes, I'd be daisy-chaining FireWire, which means that each drive has only a portion of the total bandwidth. Then again, my network card will only manage 100MBit, so 3/4 of the FireWire bandwidth will be of minimal use anyway (except for reducing latency due to readahead and such, of course).

  23. Re:From my notes when setting up my Soft-RAID serv by drsmithy · · Score: 2, Informative
    Con - No CPU offloading. You essentially trade CPU power for Disk speed/redundancy... and its a significant trade.

    Maybe if you're using a 486.

    The CPU overhead of software RAID 5 is insignificant on any remotely modern machine. Even "ancient" ca. 500Mhz P3s have checksumming speeds over 1GB/sec

  24. How I built a 2.8TB RAID storage array by Yeechang+Lee · · Score: 2, Interesting

    On Usenet I posted a detailed description of how I built a 2.8TB RAID storage array for under $4100.