Which RAID for a Personal Fileserver?
Dredd2Kad asks: "I'm tired of HD failures. I've suffered through a few of them. Even with backups, they are still a pain to recover from. I've got all fairly inexpensive but reliable hardware picked out, but I'm just not sure which RAID level to implement. My goals are to build a file server that can live through a drive failure with no loss of data, and will be easy to rebuild. Ideally, in the event of a failure, I'd just like to remove the bad hard drive and install a new one and be done with it. Is this possible? How many drives to I need to get this done, 2,4 or 5? What size should they be? I know when you implement RAID, your usable drive space is N% of the total drive space depending on the RAID level."
For personal use, a two-drive RAID 1 is probably the easiest way to go, and involves the fewest drives, but loses the most space (half). Raid 5 is the standard, but the hardware is more expensive and it involves at least one additional drive.
For simplicity and low expense, even though you lose a full drive worth of capacity, go with RAID 1.
You might want to read The Tech Report's recent article mentioned on Slashdot if you haven't already.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
Um.. Have you done any research into RAID? Anyone with even the most basic understanding of RAID (such as someone who read the short guides that come with their RAID cards) would agree that if you have more than two hard drives, the way to go is RAID-5. Your storage space is N-1. If you have six 100gb drives, your storage space will be 500gb. If you have a problem, you remove the bad drive, replace it and reinitialize the RAID arrive.
No offense intended, but why didn't you just do a google search rather than asking 1.5million slashdotters? The words "raid type" would have produced a nice table from adaptec and ars technica as the very first result that would have explained what you needed to know:
http://www.ebabble.net/html/types.html
I would choose RAID-1.. because RAID Level 1 provides redundancy by writing all data to two or more drives. The performance of a RAID-1 array tends to be faster on reads but slower on writes when compared to a single drive. However, if either drive fails, no data is lost. This is also a great entry-level starting point as you only need 2 dirves. The downside is the cost per MB is high in comparison to the other levels. This level is often referred to as disk mirroring.
Hmmm.
Try RAID 5 or RAID 10 (not to be confused with RAID 0+1). This site has a nice overview of all the RAID options. And, of course, Wikipedia has some info.
Quick overview:
RAID 5 - Requires at least 3 HDs (many times implemented with 5 - can be used with up to 24 I believe). Data is not mirrored but can be reconstructed after drive failure using the remaining disks and the parity data (very similiar to how PAR files can reconstruct damaged/missing RAR files for the Newsgroup pirates out there). % of total space available dependent on number of drives used.
RAID 10 - High performance, but expensive. You get ~50% of the total HD space as it is fully mirrored. So, 1 TB total disk space nets you 500 GB total storage space. Your data is mirrored so if one drive fails you do not lose everything. However, if you experience multiple drive failure you can be in big trouble.
Casual Games/Downloads
Whatever you do, never have more than one disk on an ide channel. Only one disk per channel can be written to at the same time, so you will get absolutely horrible performance if you get more than one hd per channel. If possible, get an ide raid card (if you can afford it) or a SATA card/mobo and drives, which dont have this problem
95% of all computer errors occur between chair and keyboard (TM)
Your good options are raid 1, raid 0+1, or raid 5, depending on what you want..
Raid 1 is the safest.. just mirroring the drives, but it results in no speed increase..
Raid 0+1 does mirrored stripe sets -- you get the speed advantages of raid 0 with the full protection of raid 1.
Raid 5 is good middle ground. Raid 5 stores 1 drive's worth of parity. When you lose a drive, your system goes down (if you don't have a hot spare), but you throw another disk in and it'll come back up. You also get some speed increase over a normal drive setup. With RAID 5, you only lose a single drive's worth of capacity no matter how many drives are in your array, whereas with raid 1, you lose 50%.
the controller is a little expensive, but it doesn't have the same performance loss as raid 5 cards.
Can get a 3 drive or 5 drive card.
I've got 5 200 Gb drives in a raid xl array and it works great.
I went through this last year and here's what I came up with for the best benefit to cost ratio with the lowest hassle. In short, take an old PC and put a four channel raid controller card in it to do RAID 5. Add a big extra fan for safety and you're done.
Here's what I came up with: Total cost about $1200 (probably less by now).
0) Red Hat Linux, ext3 filesystem.
1) 3Ware Escalade 7506-4LP card (64 bit card, but fits in 32bit slot)
2) 4x 250Gb Western Digital drives
3) Big fan.
At RAID 5 This yields 750gigs (715Gb after crappy GB conversion).
The 3Ware software has a nice web monitor interface and does daily or weekly integrity checks. It emails me if there is a problem - I did have one drive die already and replaced it easily.
Pat Niemeyer
Author of Learning Java, O'Reilly & Associates
Best way to go is RAID5, do it in software with Linux isn't much of a headache unless you change the size of it. RAID 5 is N-1 where N is the size of a member partition, you don't have to use an entire disk. For instance, my setup: 80GB HD 120GB HD 200GB HD the raid 5 members are the size equivolent to the 80GB itself. the remaining space on the 120 houses the system and a few miscellaneous things, the remainder of the 200 is a 110GB file dump.
Logistical Chaos Officer http://www.slagg.org - LAN Gaming in Sarasota FL,USA
blah... only asshats call it that :-p
Redundant Array of Independent Disks
Casual Games/Downloads
Seriously. Raid is all about risk. Figure out how much risk is acceptable to you. If you have a stack of 6 drives and you only believe 1 is ever going to fail at any one time, then go with raid 5.
If you have a stack of 6 drives and believe not a single one is ever going to fail, go for level 0.
If you are a government contractor and are required to handle simultaneous failures of 75% of your drives, either mirror them all or go with 5+1 or a raid 10 setup.
All in all, its a poor question to ask slashdot. You need to let us know what you consider an acceptable failure, and by the time you have that figured out determining what raid level you need is easy.
Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
RAID 5 or 6 will stripe the data across all drives in the array. You will basically need about 8 - 10 % of the total space set aside for data recovery. You can loose 2 hard drives (as long as they are not next to eachother) and not loose any data. RAID 5 and 6 are only incredibly useful in application with more than 4 hard drives and about 500 gb of storage. It's a little faster than the lower raids becuase the redundancies are simple pairity bit calculations, and are done twice for each single data change on disk. The lower raids will have a set of disks that actually mirror the data in tact (raid 1) or perform more intensive Hamming Distance calculations and store the results on another set of disks.
So, RAID 5 or 6 would be the best (RAID 6 is worth the extra bit of space for the 2nd calculation, and really helps when you can test the pairity bits against another pairity to create the lost data.)
There will be some slow down associated with RAID, but it wont be as bad with 5 or 6 and generally, you can live through it with the thought of having relativly robust file servers.
while(1) { fork(); };
If you want the best % of drive utilization go for raid 5. It works by Striping the data across 2 drives then XORing the data on the 3rd drive. But, you need 3 drives. Raid 1 works with only 2 drives but you only get 1/2 the data basically each drive has an exact copy of the data that the other drive has.
Put simply if you don't have a lot of data to store but you want it safe go for raid 1 with small drives you end up with the same data storage as one drive but it takes 2 drives. If you have a lot of data to store go for raid 5 you get twice the data storage of one drive but you use 3 drives.
A simple, very safe server setup is RAID 5 w/ a hot spare. One drive fails, the array rebuilds on the hot spare, and you replace the failed drive whenever you have a chance.
In theory, some of this is possible in software, but a good RAID controller card is much, much better.
A quick note - if you re-initialize the RAID, it will erase everything you have. You should 'rebuild' the drive, unless you have a hot-swap, in which case you just take out the bad drive, pop in the good one, and ur good to go.
Raid 5 runs just fine in degraded mode until your extra drive gets there. I have one right now using software raid 5 in linux with a dead member waiting to be replaced. 0 downtime or data unavailability so far.
Raid 1 for simplicity. 2 drives in mirrored configuration. Cheapest and easiest to setup. Install Linux and use software raid. Works like a charm.
If you're upto a challenge, install Linux to boot from the RAID 1 config. It was a huge pain in the ass to figure out. When I configured Redhat 9, I had to use Lilo instead of Grub as the boot loader wasn't being correctly written for both drives. Had to use "dd" to write the boot sector and Lilo to get it working properly.
Benefits of software raid allow you to swap drives with minimum downtime and recreate the drive in the background. And u save money from not buying a hardware raid card, which could serve as another possible point of failure. Then you can write scripts that can email you the status of the raid periodically with cron.
Remember to test the config by unplugging each drive separately. Of course it will take awhile to sync each drive...
If you are feeling feisty and have more money to spend try this (a copy of a previous post of mine):
Here are some interesting numbers:
$250 per drive
400GB per drive
4 drives
1.2 TB in Raid 5
Total cost $1,000
or $0.83 per MB.
So there you have it. A terabyte file server for about $1000 will be a reality soon enough. Nice. Serial ata will lessen cable clutter, and only 4 drives will be doable in any spare decent case and power supply.
Hopefully it won't take too long for prices to drop to $250.
Of course Raid of any level is no replacement for a full backup, but it's certainly better than nothing or relying on a single drive no matter how good the quality/warranty.
Really depends on the type of RAID you'd like to implement.
RAID 0 stripes the data across 2 or more drives and therefore offers no redundancy (in fact, in a two-disk stripe you mutiply danger of data loss x4 compared to two individual drives -- because you not only double the possibility of failure with two disks as opposed to one, but stand to lose all of the data on both drives should one fail). In any event, no point in discussing it further since redundancy is the point.
RAID 1 offers redundancy by exactly duplicating the contents of a drive onto another drive, and needs exactly two drives. This is considered the most "fail-safe" method of RAID array although offers no performance benefits whatsoever.
RAID 10 (or 1+0 or 0+1) is a combination of RAID 0 and 1 and is nearly always done with four drives, although technically it can be done with six or eight (if your controller supports them). It offers both performance benefit and redundancy, although the cost of the "wasted" drive space is quite high.
RAID 3 involves using 3 or more drives, one of which contains parity information to rebuild the lost drive should any of the other drives fail. This is one of the least popular RAID formats and has more or less been totally replaced by RAID 5.
RAID 5 involves using 3 or more drives and writes parity information across all drives in the array, allowing one drive to fail with little to no performance loss. The failed drive can be replaced and the RAID rebuilt. Depending on your hardware/software, this can often be done hot without having to power down the system at all. It is one of the most commonly implemented RAID solutions because of the good mix between drive use (the price goes down the more drives you have in the array yet you can have as little as three), redundancy, and high availability.
There are others out there like RAID 50 but nothing worth mentioning, especially for a home user.
The only question left to you is whether the RAID will be run by hardware or software (software might be a good choice if you are already running Linux on the server, but you'll have to ask someone else about it because I don't know a thing about it). Personally I chose the hardware route years ago and bought an Adaptec 2400A, which is a four-channel hardware ATA-RAID card capable of RAID0, 1, 10, and 5 -- guess which I use. I use all four channels, each with a 200GB SATA hard drive. I've lived through a couple drive failures, a full drive upgrade (when I first bought the card it was 4x60GB drives) and even once where two drives RAID tables got zapped (I'll NEVER put my drives in removable cages again) and never lost a byte of data -- so the CAD$500 or so for the investment on the card was worth it.
600GB of storage means not having to worry about all those unlicenced-in-North-America-anime torrents running out of space any time soon.
And here's the definitions:
RAID 0: This is a striped set, there is no redundancy. One drive goes, everything's gone. Useable space = 100%
RAID 1: This is a mirrored set. Typically this involves 2 drives. One drive is an exact copy of the second. If a drive fails, you replace it and rebuild the set. Life goes on. Useable space = 50%. Most IDE raid cards only support RAID 0 AND 1.
RAID 5: This is a striped set with parity. You get the performance associated with a striped set. Particularly on reads. If you have 4 drives, there are 4 stripes. 3 of those stripes are data stripes, the 4th is parity. Lose 1 drive and the parity information is used to rebuild the set. Useable space = (n-1)/n. To do this in hardware is typically fairly expensive.
There's a lot of hardware solutions out there. It can also be done in software. Windows supports creating disk sets in software. Other options include the purchase of a Snap! server, or other brand of NAS. If you've got a little $ to throw around, NAS is the way to go. Plug it into your network, minimal setup, and your off and running. Not very upgradeable, and somewhat problematic if your drive does actually die, but I use them at the office for a zero maintenence file server.
bance.net
I don't think Google would help much for that question.
OTOH, Ars Technica has a decent piece on RAID.
tasks(723) drafts(105) languages(484) examples(29106)
Linux supports software raid, too.
tasks(723) drafts(105) languages(484) examples(29106)
True story...had a personal fileserver with a Promise RAID card. I got the Promise card because it was cheap and had a good rating on a couple of review sites.
What I didn't know at the time, but learned the hard way, is that Promises's RAID monitoring program "PAM" is a user-mode only application. That means that if you don't login, it doesn't run. Care to guess what happened to me?
At some point while I was gone for the weekend, I can only guess something crashed and rebooted Windows 2000. When it rebooted, I didn't have it set to automatically login (why would I? it's a server). So "PAM" wasn't running when one of the drives in the RAID 5 set failed. Maybe it even had something to do with the crash, I don't know.
Now, the point of PAM is that if a drive fails, an e-mail gets sent, in this case to my mobile phones textpage address. Since PAM wasn't running however, nothing was sent. The drive failed and, I can only guess, put off so much heat that it cooked the drive above it (why do so many cases mount hard drives horizontally above each other anyway?) and next thing I know, I can't login to my server from where I'm staying. I call a family member with a key to come by and they are unable to restart the server. It wasn't until I came home and read the BIOS messages that I understood why. Everything gone.
I had a lot of stuff on CDR, but let me tell you, I was plenty outraged that Promise could design something so utterly stupid as a monitoring utility that doesn't know how to run as a service. Even to this day, PAM still will only run as a user-mode program, and even worse, you actually have to login to the program now to start it, which can't be scripted.
F Promise. Only a complete and utter fool would be stupid enough to buy any of their products. May they rot in that special place reserved for child molesters. (Yes, I'm still bitter about it)
- JoeShmoe
.
-- I wonder which will go down in history as the bigger failure: the War on Drugs or the War on Filesharing
It's for home use
No data loss if a drive dies
Easy to rebuild - remove dead drive, install new one
Budget... Ah. Why is it *every* "Ask Slashdot" never mentions the budget? On the cheap, you could do simple mirroring RAID1 - most mobos with on-board SATA RAID will do this for you. The overhead is that you pay twice as much per GB because you obviously need two drives and the performance gains are negligable.
Personally, I'd take the more expensive route; get a proper hardware RAID controller with proper RAID management software. There are 4 port SATA RAID controllers (who *really* still needs SCSI for home use?) for a few hundred dollars and do full RAID5. You lose one drive for the parity info, but that could be as little as 25% of your total capacity if you get four drives instead of the the minimum RAID5 requirement of three drives.
Also, with a proper hardware RAID controller, you should also get a performance boost from use of RAID and have minimal CPU overhead. Get four of Seagate's new 400GB drives and you'll have over a TB of disk space, which should give you some bragging rights for a months or two before it's old hat. :)
UNIX? They're not even circumcised! Savages!
include $sig;
1;
You want a Promise UltraTrak SX8000 It's the easy idiotproof array. We're using several of these.
If a drive fails, it beeps at you til you replace it. You just yank it out, and put in a new drive, the same size or larger. It then rebuilds automatically. No shutdown or reboot required.
The Linux crowd will be happy to know the RM series runs linux. I don't know about the SX series, but I suppose it does too. Either one appears to the server to be a single SCSI drive. No drivers required, other than making the SCSI card of your choice work.
There's the Linux method of doing it too, which I like a lot. It saves you a *LOT* of money in extra hardware. You can go with 3 drives without adding any extra cards to your system, or you can put in IDE controllers to add as many drives as your system can support (PCI slots, power, and physical mounting points are the limitation). Read the "Software-RAID-HOWTO", which should come with your system. I've done many of these also, and they work quite nicely. You have to shut down the system to swap a drive, and then run `raidaddhot` with a couple parameters (the md device, if I remember right), and you can be running while it rebuilds.
You should have looked it up before you posted.
RAID 5 is the most common for a large redundant array. The array size is (N-1)*size . The more drives you use in a single array, the better off you are for size loss.
3 100Gb drives = 200Gb
5 100Gb drives = 400Gb
10 100Gb drives = 900Gb
10 200Gb drives = 1.8Tb
RAID 0 is striping. No redundancy, which you won't be happy with. (One failure means losing the array.
RAID 1 is mirroring. With two drives, you still only have the size of one.
RAID 50 is nice where it does striping across redundant arrays. You lose size, but gain speed.
Most other RAID types aren't very popular for various reasons.
Watch out for going over 2Tb in size on a single block device. I'm having problems with that right now. I have two Promise VTrak 15100's with 15 250Gb SATA drives in each, and anything with a block size over 2Tb is giving me grief. There are legitimate reasons for this, most of which newer documentation claims to be fixing, but I'm still having problems with a current Linux release. Making logical drives under 2Tb works, but doesn't accomplish what I need.
I hope this helps.
Serious? Seriousness is well above my pay grade.
At my last job, we needed a basic RAID device that was under $500. We found this: http://www.accusys.com.tw/7500.htm It was about $200, and is OS and system independent. You simply put in two IDE drives, and you magically have RAID-1. You can hot-swap the IDE drives if necessary. We had one drive go bad and it worked perfectly. I recommend it to anybody on a budget. It takes up 2 drive bays, so it's a pretty easy fit in any standard PC.
First, you must decide which RAID level meets your needs/wants. To do this, you must educate yourself on the various RAID levels and the pros and cons associated with each so you can make an informed decision. I recommend reading "The Skinny on RAID" if you want to learn the various RAID levels available.
After reading that article, you should learn about hot spares and what they can and cannot do for you. A recent article has been written about setting realistic expectations on what hot spares can do for you. "The Mythical Hot-Spare - Tape/Disk/Optical Storage" will be informative on this subject matter.
Lastly, you should read "Kill SCSI II: NetCell's RAID 0 Performance + RAID 5 Security Equals SyncRAID" to look into a innovative IDE RAID card that can give you kick ass performance and reliability. Be sure to read the benchmarks on the review so you can make an informed decision.
si vis pacem, para bellum..."if you wish peace, prepare for war"
RAID 5 - better keep an extra drive
Or you'll be down until the replacement arrives
Um, really? Software RAID 5 does require downtime, but hardware implemented RAID 5 allows for hot swapping out of the bad drive, assuming you have a decent controller card.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
Don't get too fancy with yourself on this one...
You definitely don't need any type of RAID solution because it doesn't offer you what you really need. You say you want RAID, but what you really want is backup.
All RAID solution deal with disaster recovery, but they don't deal with the situation where you accidentally rm -rf a directory that you wanted. If you mirror or RAID 5 your drives, you're still hosed because both drives will delete the files. In the end, this is more important and much more convenient.
Instead, go with a better approach which is copy or tar your files every night (or every week) to a backup drive, preferably over the network on a completely different machine. This will prevent the problem of a power surge or accidental shutoff from corrupting both drives at the same time.
Actually, I've used it quite successfully under Linux for web, MySQL, and mail servers. The mail server is the most abused server, and it has no speed problems. We have 3 IDE drives as a RAID5 under Linux (md device). That server has been known to pass over 100k Emails per day. Sure, it's mostly spam and viruses coming in, but they're still received, scanned, and everything but the high scoring spam and viruses are delivered.
/proc/mdstat
/ /boot /dev/shm
So, several hundred users using IMAP and POP3 to collect mail, SMTP to send mail, and the 100k or so incoming messages do add up to a lot of work, and it handles it flawlessly.
$ cat
Personalities : [linear] [raid0] [raid1] [raid5] [multipath]
read_ahead 1024 sectors
md0 : active raid5 hdc2[2] hdb2[1] hda2[0]
351100416 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md0 330G 11G 302G 4%
/dev/hda1 122M 8.0M 108M 7%
none 499M 0 499M 0%
Serious? Seriousness is well above my pay grade.
Actually not Here I priced it out
Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
Seeing as how you want data redundancy, there are three RAID levels for you to pick from:
RAID 1 - Drive mirroring.
Pros:
-Excellent read performance, no loss of performance if one drive crashes.
Cons:
-The amount of space you can have on this array is limited to the largest drive you can find. Then you have to buy a second one to mirror the data, which means you are paying double the cost per unit storage on your array.
-Write performance is slower than other RAID levels.
RAID 5 - Striped array with parity. You can stack as many drives as you want on this array (within limits of the controller of course) and lose only one for redundancy.
Pros:
-You can build a very large data array out as many drives as you want, losing only one for the purpose of data reconstruction should a drive in the array fail.
Cons
-Array performance dies in the event of a failure, as lost data is reconstructed on the fly from parity information stored across the remaining drives. Of course, performance is restored with the bad disk is replaced and the array reconstructed.
-You need at least 3 drives to build a RAID 5 array.
RAID 10 - Drive mirroring with striping. Essentially combines RAID 0 and RAID 1, hence RAID 10.
Pros:
-Redundant and fast. Array can survive multiple drive failures.
Cons:
-Expensive. You need at least 4 drives to get started with RAID 10, and go by 2's as you expand on the array. As with RAID 1, your price per unit storage is doubled.
-The array can survive multiple failures, but that depends on which drives die...If you lose two drives out of the same mirror set, then the array is gone
Which RAID level you pick depends on your application. If you are interested in having something like a 1 TB data dump, you'll probably want to go RAID 5. If you only want 200GB or less in your array, then RAID 1 is probably the way to go. If you are interested in lots of space, lots of redundancy, and have lots of money, then RAID 10 is probably what you want.
-R
Your comparison is between software raid as you found it in Linux, and "hardware raid" as you once found it on a certain raid controller.
The limitations and versatility are not determined by the "software or hardware" ("hardware" being software on a dedicated raid controller) but by the design of the specific software under consideration.
True, the software raid in Linux is quite versatile, but there is no reason why a raid controller could not work with two disks of different sizes and use part of one disk in a mirror and the remainder as a standalone disk.
But as you point out, not all controllers may be able to do that.
Furthermore, a software raid-1 solution in the kernel would theoretically be able to perform better than a hardware raid-1 controller, because read operations can be distributed between the drives and the kernel can know more about operations coming up and do better optimization of locality than a loosely-attached raid controller can.
However, the Linux kernel, when I last looked, does not take real advantage of that. The read operations are distributed over the drives, but there is no separate elevator optimization for the drives making up the array.
Hot-swapping has nothing to do with all this. It can be done when your hardware allows it, and IDE hardware cannot. But SCA drives can be used with software raid, and the brave hacker hotswaps any SCSI drive.
There is a nasty problem with the Linux software raid: when 1 sector fails to read in a raid-1 array, the entire drive containing that sector (better: the entire partition) is marked bad and taken offline (no longer updated).
When another single sector on the other disk fails, you have a real problem!
More reasonable in this case would be to read the failed sector from the other disk, and attempt to write it back on the failed disk. When that succeeds, try to read it again, and it may be OK because the drive may have re-mapped the bad sector or rewriting may have fixed a soft error.
So the soft-failed drive remains online and further errors can be handled.
(of course the failure would still be logged for examination by the administrator)
RAID5 is a much bigger performance drain in most setups, its also pushing boxes up to 4+ disks (realistically raid5 you need a hot spare) and that pushes it out of 1U/2U and mini cases.
IDE is so cheap you might as well just buy two big sata drives for most usage. Do make sure you buy two drives from two different vendors - its really embarrassing when you use two identical drives with near serial numbers and they fail the same day.
Also keep external backups. One place I worked we lost an entire array and the hot spare to a PSU failure. No backups.. thankfully it was the usenet spool
Many benchmarks show the exact opposite, except when dealing with high-end RAID cards. Why? Because the average CPU on a system with a RAID is going to be much more powerful than anything you're likely to find on a low- to medium-range hardware adapter. I use software RAID on a number of FreeBSD servers and it absolutely flies.
The major downside is that you cannot (as least I don't know how to) hot-swap drives.
That's a function of the hardware and OS. One of the above-mentioned FreeBSD servers is in a nice IBM server case with hot-swappable front-access LVD drives. The swap process is:
There's no reason you can't do hot-swappable software RAID. If there is, then someone forgot to tell me server.
Dewey, what part of this looks like authorities should be involved?
I'm doing the same thing at home. I have three identical drives. One, the primary, is sitting in the server, the secondary is unmounted in a removeable tray in the server, and the third is also in a tray but at a distant location.
Initially I've dd'ed the primary to the other two disks.
Every morning the primary is 'cp -fpRu'ed to the second one. No files are deleted on the secondary, unless I'm running out of diskspace there, at which time I do an 'rsync -aH --delete' after some verifications.
Each few weeks I bring the third, down the server swap it with the secondary, and return the swapped third.
I feel pragmatically protected. In the case of a crash I won't lose more than a day of work. In the case of burglary, fire or Gotterdammerung, a few weeks.
Next time I'll rebuild the file server I'll make the 2nd and 3rd an external Firewire or USB2 High Speed.
Fingers crossed.
Flourescent (adj): smelling like ground wheat.
I've run software RAID-5 on Linux for several years on two of my home fileservers.
The only problem I ever encountered were hardware failures (Promise *ack* *spit* PCI IDE cards) and one drive failure. Performance is not really an issue for home use; I can easily saturate my 100Mbps network card.
My Fileserver: AMD Duron 1300MHz, 768MB RAM
This device was built from 4x 160GB 7200rpm SW RAID-5 for online storage (including all of my digital photos, and my collection of CD's ripped to MP3).
For backup I have an old Celeron 433, 512MB RAM box with 4x 120GB 5400rpm SW RAID-5
The main fileserver is rsynced to the backup server once a week. CPU on the backup server is a bottleneck; the Celeron is a bit underpowered for rsync, but it works ;)
My $0.02:
- Software RAID is perfectly usable, especially for typical home use. Performance is adequate.
- With RAID-5 you "lose" only one disk to parity so it is quite cheap to build
- Yes, I'd really like a 3Ware Escalade but if the card fails I need to get a new one pronto; software RAID sets can be migrated to most PCs.
-- Gxis! Ed.
Why not read a few FAQ entries at StorageReview?
/", etc.
In short, I would probably recommend RAID5 if you have 3+ drives.
RAID5 gives you the most available space while still being redundant. It allows for exactly one hard drive failure.
RAID5's write speed is usually terrible, especially with a small number of drives, but write speed isn't a big deal on my home file server. (Only you know about your needs).
RAID1+0 (NOT RAID 0+1, which is inferior) is great for performance. With 4 drives, you have potentially twice the STR of one drive (writing) and 4 times the STR of one drive reading. Of course, since STR is not important for most IO, this doesn't really effect your end performance much unless you are dealing with linearly reading/writing very large files.
Writing performance will almost certainly be higher than with RAID5.
You do lose quite a lot of space (especially when you use a large number of drives). If you used a 4-drive 1+0 array, you would have the space in two of those individual drives.
RAID1 is nice, and is very reliable, but is impractical with more than two drives unless you are incredibly paranoid. RAID1 simply makes all drives copies of the others, this, you always have as much free space as one drive would have, even if you have ten. If course, you could also handle 9 drive failures and not lose data. RAID1 is fine for 2-drive arrays though.
DO NOT FORGET that RAID is no substitute for regular backups. RAID will not help if your data loss is caused by FS corruption, a cracker, accidentally typing "rm -rf
For lowest cost, I would use software RAID, such as Linux's LVM, FreeBSD's Vinum, or whatever Windows has. (RAID5 requires Windows server). (I would not use Windows as the file server myself).
For slightly higher cost, try a Promise controller.
I would avoid Highpoint and Silicon Image controllers. Highpoint, especially, is crap. (but it is very cheap, at least).
If you possibly can, I would recommend a nice 3Ware Escalade controller. Escalades are true hardware RAID cards, unlike Highpoint/SI and most of Promise's cards, and are OS independent and very stable (with certain exceptions for some unlikely configurations).
If you have any questions, you might try the StorageReview forums. There are a number of extremely knowledgeable people there, including engineers and executives-level researchers at hard drive companies. They can give far better advice than I can, I am sure.
By the way, all my comments assume that all drives are the same size. If not, treat all drives as if they are the same size as the smallest drive on the array (unless you are using JBOD, which is not redundant)
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
You are extremely wrong, RAID-1 should be faster on reads, but will be slower on writes if you are using a single controller. If you are mirroring across controllers, writes will be as fast as the slower drive (Though, they should always be the same exact model when you are mirroring).
Any halfway decent RAID controller, or software RAID will do large reads by using both drives at once, greatly increasing the performance.
IDE has some limits to this, because they are stupid drives compared to SCSI, but the controller can still take advantage of the 2 copies.
This sig is the express property of someone.
Actually a raid1-card for two ide-drives is quite affordable.
Next up is drives. Not all drives are alike as I'm sure you already know. Do you want a SCSI or an IDE array? I won't go into this lengthy topic further. I'll assume though that you will build an IDE array. Some drives do not work well in RAID setups. The controller companies are more likely to tell you this than the drive manufacturers. I own 6 Western Digital WD12000JB drives (7200 RPM, 8MB cache, 120GB capacity). By all accounts one would expect those drives to work quite well in a RAID setup. They have excellent read/write times individually and have a massive amount of cache. Well, one would think that and they'd be wrong. Both 3ware, Highpoint, and Asus tech support (on an OEM Promise chipset in teh A7V333) recommend against using Western Digital drives. 3Ware did however say that WD will give you firmware that works significantly better in RAID setups if you ask for it. Personally I'm a fan of Maxtor, both the drives and the company. I've had very few failures with Maxtor drives. Whenever I did they were always extremely helpful with getting me a replacement fast. I've been very impressed by ther service. I have 2 Maxtor 7Y250P0 and 2 6Y200P0 drives in the server sitting next to me. The second is a very high quality drive from Maxtor's DiamondMaX Plus 9 line. It too have 8MB cache and 200GB to spare and runs at 7200 RPM. Nice drive. The first pair are from Maxtor's MaXLine Plus II. They have a high MTTF, 8MB cache, 250GB space, and run at 7200 RPM. They are also a little bit faster than the 6Y200P0. They are excellent drives. My next drives will also be Maxtors but this time I'll be buying the SATA siblings of the MaxLine Pluss II product line.
That brings me to my next point. PATA or SATA. Does your case have an abundance of room? I mean a massive amount of room to route long 80-conductor ribbon cables? Do you have at least 1 if not 2 PCI slots to waste below your RAID controller with the room needed to route the ribbon cables and make connections? If not then you need to go with Serial ATA drives. Don't even think twice about it. Go with SATA. The drives cost almost the same nowadays and you'll find wht little price difference there is ($5?) is worth it in the end. SATA drives are so much easier to wire. I have a case full of round cables. The case I have is an extremely large Codegen case and even I am having trouble with the cable mess. SATA is a wonderful thing. Along the same lines is hot-swap cages. There are a dozen brands to choose from. You should probably utilize them, even if you don't need hot-swap capabilities. I need them to create 3.5 drive slots from 5.25 bays. If you do want to do hot-swapping, make sure you drive cage and controller support it.
Finally we get to RAID levels. You don't want to increase your risk of losing data so level 0 is out. 1 is extremely redundant and with the right controller can actually speed up reads. It's also costly at twice the cost per GB. Unless the data you're storing is absolutely critical you won't want to use 1 (in most cases). Forget about level 2. For starters th
How do I know? 'Cause I submitted this EXACT SAME story a month ago and was rejected.
A ID-5-3BAY&cats=&catid=314,312 It is a 3 bay RAID 5 for $800.
Sigh.
The cheapest RAID 1 OS internal and independent RAID (MIRROR) is Duplidisk3 by ARCOIDE.com
You also get a ton of implementations; Stand alone, PCI card (for power only), 3 1/2" bay, and 5 1/4" bay. The ones that install in bays are so the user can seethe status lights.
If you want an external RAID 5 the cheapest I have found is this - http://www.coolgear.com/productdetails1.cfm?sku=R
If you want 5 disk RAID 5 those are @ $1200. http://www.cooldrives.com/fii13toatade.html
If you want external RAID 0 or 1 relatively cheap then go with one of these - http://www.cooldrives.com/dubayusb20an1.html
You can find a ton of these devices on the web since they all use the same drive controllers and bays. The nice thing about these is that sometimes you can talk the store into selling you the RAID system without the external case. These things simply require you plugging in an IDE cable and power and can be installed in any PC case that has 2 5 1/4" bays open. If you but just the 2 bay controller they are @ $230 or so. I have one and I am really happy with it.
Everything I listed above uses IDE drives and is OS independent.
Or you could buy an old SNAP server on eBay and replace the drives. I bought a SNAP 4000 used for $425 last summer. Pulled the 4 x 30GB drives and replaced them with 120GB drives. It was a heck of a lot cheaper than paying full price for a new SNAP server.
The problem w/ Software RAID is it depends on the OS, if you OS fails you can loose your data - I've confirmed this w/ Windows Software RAID at least, it's a real, real bitch to recover from if you have any OS problems (and no matter what anyone tells you Signed Disks in Windows are a horror story waiting to jump out at you).
As for forking $ for RAID cards, I've had really good experiences w/ the MegaRaid cards from LSI Logic - really, really good tech support and exceptionally inexpensive cards.
closed minded is as closed minded does
Do so few people use SCSI raid for home use? And if so, why?
Expense, mostly. $272 for a 147 GB 10k SCSI, $170 for a 250 GB 7.2k SATA. An Extra 100 GB for a $100 less? Everybody at work (a large network shop) loves talking about their RAID-0 gaming machines. I shudder each time, as I have had HD failures. Backup Backup Backup!
As far as my home installation goes, I have a single HD for my OS/cache install, and my data goes onto the RAID array, so that even if my OS corrupts it's HD, I can rebuild without affecting my data.
As for not spending $30 for a SCSI HD, that would entail getting into the SCSI world. The guy would also need a card. So we're up to a $100 for a old HD, that while it has fast seek time, a brand new 250 GB IDE drive will smack it down on read rate, and has a 8mb cache to help insure it has it in cache!
I don't read AC A human right
Basically, your options are RAID-1 and RAID-5... as hundreds of people here have already pointed out. RAID-1 is just straight mirroring (where all drives in the array contain the same information). Usually, this just involves two drives, but there's no reason why you couldn't have, say, three or four drives all mirrored... and you could lose all but one of them and still be up and running.
RAID-5 is a very cool beast. You bascially have an array of drives with some portion of them set aside for redundancy. Most of the posts I've seen here only describe a scenario where you have three drives with one of those drives for redundancy. This only scratches the surface, however.
For example, you could have an array of, say, 5 10GB drives, with 2 drives' worth of redundancy. With this, your RAID implementation would make available to you, what seemed to be, a single 30GB drive (since 20GB of the total 50GB is used for redundancy). This way, you could have any two drives go bad and you're still okay.
Another example, I guess, is that you could have a two-drive RAID-5 with one drive's worth of redundancy. In this case, you'd have the functionaly equivalent of a RAID-1 mirroring setup. Not very sexy... but you could do it in some implementations, I'm sure.
I'm trying to use the phrase "X drives' worth of redundancy" instead of "X drives set aside for redundancy" because it's important to point out that, in RAID, all of the drives are considered equal. If you have 5 drives with 2-drive redundancy, it's not like you set 3 of them as the "main" drives and 2 as the "backup" ones. There's no preferential treatment like that. All the drives are equivalent and you could lose any of them and the others all move to cover for the one that was lost.
Now, personally, I like RAID-5 because it offers the ability to use more than 50% of the space you paid for. With RAID-1 mirroring, you always only get to use 50% of the space that really exists. This would be necessary if, when you suffered a storage failure, you always lost half of it. But that's not how it happens. Usually, you lose a single drive. So, it would be nice to maximize your space available, while having some insurance against a single drive failure.
This is where RAID-5 really shines, because each successive drive you add, you get all of that space for your usage. You could have, say, four drives, 1 drive of redundancy, and you get 3 drives' worth of space.
Now, there are a few pros and cons for both RAID-1 and RAID-5 regarding recovering/moving data and changing the size of your array, and I'll list them here.
IDE raid is definitely today's choice for home fileserver. if you dedicate a whole box just for that purpose (i.e. no need for those cpu cycles) you should do soft-raid5 (use that system cpu);
if you can.. make sure your NIC and disk controller are on different pci buses.
if you play with hotswap bays make sure they have some quality to them - otherwise you'll be reseating/replacing drives like crazy and that'll bring your raid5 to crawling.
another prob i've seen - most sata cables tend to become lose; i'm still looking for a decent snug fit cables out there..
lsi(megaraid), adaptec make decent sata-hw-raid cards (~300$); 3ware is another popular choice;
might wanna check out these "sofware raid cards": a slightly advanced ide controller, might do hotswap but still uses system cpu which could be an ok for you since system cpu is idle anyway..
That's not how you do it. Show me someone who needs 147 GB on their root partition, and I'll show you someone who has a poorly configured linux system.
/ /scratch
/scratch; it doesn't need fast access. My swap, libraries, binaries, source code, etc, is on my root partiion, where it needs fast access.
My system, for example:
36gig 15k (3.6ms) rpm scsi:
250 gig 5k (9.5ms) rpm ide:
Who needs 3.6ms access time for their music and videos? What will that gain you? I can tell you what 3.6 ms access time gives you for a root partition, though: blazingly fast startup of the system, of X, of programs, and compilation.
All of my media is in
As I demonstrated, you can get a small 10k rpm scsi drive with access time 70% better of that for all but the nicest IDE drives (which cost notably more than scsi drives), brand new and with shipping, for 30$. After re-looking at pricewatch, I found the same thing for only 20$, including shipping. You can get a new scsi controller for 20$ also, inc. shipping, that will do 40mb/s (plenty for one drive). A new cable will cost you about 6$. That's 50$ for a root partition that will give you a 70% speed boost over a 7200 RPM ide drive.
Why would one *not* do something like that, unless they really don't care about speed at all? And if they don't care about speed, why raid for reasons other than redundancy?
You know when it's okay to shout fire in a crowded theatre? When it's on fire.
The question "which RAID level do I use?" raises other questions: which drive interface technology? what is your budget? how much storage do you need? do you need redundancy for swap? for boot partitions?
... users can restore the file they just deleted by navigating (graphically even!) to, say, /backup/2004-06-16/home/jason and copying a file to the desired location).
But regardless of how you answer those questions and what RAID level you finally go for, I would strongly recommend layering LVM (logical volume management) on top of RAID. Sounds bizarre and cumbersome to have two virtual layers between your filesystem and your physical devices, but in most cases it's worth it.
(Now here I'm assuming you're using Linux, but similar solutions are available for other OSs).
If you're not familiar with LVM, it virtualizes partitions. You group together one or more physical volumes (PVs) that provide a pool of physical extents (PEs). From this pool, you create logical volumes (LVs) filled with logical extents (LEs).
Thus, you could have four partitions on three drives serving as PVs, and from that pool (Volume Group or VG) you could create, say, two partitions. From there you have many options:
- You can resize the partitions.
- You can add another drive and add the space on that drive to the VG, then increase the size of the partitions.
- You can migrate data off one of the partitions, then remove that partition from the VG.
- You can migrate to another drive by adding that drive, migrating data away from the previous PVs, then removing the old PVs from the VG. This can be, by far, the easiest way to
To combine LVM with RAID, just use the md device as a PV.
And here is the top reason to use LVM:
- You can create snapshot backups.
A snapshot backup is a virtual partition, read-only, which contains the same data as another partition, frozen at a certain point in time. Something similar to copy-on-write is used so that the snapshot partition takes only the amount of disk space necessary to store the changes between the time the snapshot was frozen and the current state of the 'snapped' filesystem.
If you 'rm -rf *', you can just cp the files from your latest snapshot. (BTW, this can save a ton of work for sysadmins with forgetful users
So RAID can protect you from hardware error, and LVM with snapshots can help protect you from user error.
I've tried both LVM and RAID5, and my conclusion was that LVM sucked performancewise, couldn't fill a 100Mbit pipe (which one drive without LVM does easily). And since noone could explain why this was (even talked to a guy with hardware scsi raid running LVM and he barely got 18MB/s :-/ ) I ended up running RAID5 with 5 drives. Each drive is running as a master on its own IDE channel. The additional IDE channels are provided with 2 Promise FastTrack/133 (or whatever they are called).
The performance on this system is outstanding, writing is done at a sustained 50-60MB/s (yes, megabytes) and reading maxes out the PCI bus completely (tops out at about 80-100MB/s depending on other activity on the PCI bus)
The system is powered by a 2.4Ghz Celeron with 512MB memory.
The only drawback is that it will be a pain to add an additional drive to the system, but thats not really a big issue for me anyway.
Btw, the filesystem on this raidset is Ext3. I've had a diskfailure (old drive that should have been left to its own) since I got it up and running but as long as no more than one drive fails atonce, all is well. Just replace it with a new one, add it to the set and one hour later (or thereabout) all data has been restored to it and the raidset is running at full performance again.
A tip for the hardware that will be running the fileserver. Make sure to cool your drives, this is of outmost importance. No, you don't need screaming 7000rpm fans (I use three 12dB Papst) just make sure that outside air is pulled over the harddrive and expelled in the back of the case. Avoid cases with ventilationholes on the sides. Thermaltake makes (made?) a great case which had airintakes on the front and 6 internal 3.5" bays right behind the intakes (which is the one I use).
Also, you should get a good powersupply. I had some really odd problems before I upgraded to from 300W to 450W.
Good luck
I haven't read through all 800 posts, so this kind of info has probably already been posted, but I found it very link-worthy...
WikiPedia: Redundant array of independent disks - great detailed article summarising RAID with explanation of all the levels.
Anyone can even jump in and improve the article.
Start your calculation with the number of Gb of space you "need". Say that this is 160Gb. Then you have the option of:
L0: no raid: 1x 160Gb or 2x80
L1: raid1: 2x 160Gb.
L1: raid5 (3 disks): 3x80Gb.
L1: raid5 (4 disks): 4x60Gb
L1: raid5 (5 disks): 5x40Gb
and you could even go for a hot spare:
L2: raid5HS (4 disks): 4x80Gb.
L2: raid5HS (5 disks): 5x60Gb
L2: raid5HS (6 disks): 6x40Gb
Now, from 4 disks you probably need an extra IDE controller in your computer. Factor that into your costs, and you can chose the protection level (L0 means you can tolerate 0 lost disks. L2 means 2 disks, but in fact not at exactly the same time, but you can tolerate two bad disks).
Then simply chose the cheapest solution.
I'd probably go for 3x80 myself.