Home NAS -- Raid-5?

LiQuId StEeL

Weaksauce
Joined
Apr 22, 2005
Messages
80
Unfortunately the time has come to get serious about re-prioritizing my storage situation. I've found myself pussyfooting around, bumping storage up in small increments regularly for the past few years, and I think the time is right to make a bigger move.

Right now my setup is very simple -- 4x 1.5tb Seagate 7200.11's running in my main desktop. SyncBack runs every night and mirrors each of my two storage drives to their own respective backup. This works out fine for me, except that I am out of SATA ports on my motherboard, and I really would like to split the drives out into their own box.

This system will only need to be accessed locally, via gig-E, and it serves as storage for movies, pictures, music, VM's, etc. Speed isn't too important, in my eyes, because everything will be limited by the network's speed, if anything (or the recipiants of the data, etc). No major processing will need to be done on this thing -- I will definitely be running Deluge on it, though (pretty minor).


I've tried my best to read up on my options, but I've found myself in dangerous territory because I am not going all-out on this, but I still seem to be aiming higher than some solutions out there. Here's what I was thinking:

Intel BOXDG43NB LGA 775 Intel G43 ATX Intel Motherboard
Intel Celeron E3300 Wolfdale 2.5GHz
2gb DDR2-800
160gb Boot Drive
5x 1.5tb Seagate 7200.11
Case and PSU I am undecided on, but I've built enough computers to be able to decide on that. These will be joined by one of these which is already nestled into my desktop.
APC BR800BLK 800 VA 540 Watts 7 Outlets UPS

Some justification of my selections:
Motherboard: Six onboard sata ports saves me $100+ upfront for a sata expansion card (I spent weeks pondering which card I would use, but decided to forego the research for now). Being an Intel board, I also can forego a standalone Intel NIC to make a linux system happy (I'm done with Realtek onboard shit). Other than that, it is a no-frills board, with basic onboard graphics -- nothing crazy here.
Processor: Cheap. It should be plenty of power to handle soft-raid parity calculations, right?
Drives: I've got four already, may as well just save myself a few hundred dollars and add a fifth, eh?
UPS: Seems like a pretty good deal, and I can use Apcupsd to automatically trigger a graceful shutdown when/if the power dies.
The rest: Nothing out of the ordinary

For weeks, I was convinced that a Raid-5 setup would be perfectly adequate for me (running on mdadm). I could install Ubuntu (either server or desktop -- simple enough) onto the boot drive, and initialize the array with just three of the storage drives. This would allow me to keep my data alive on the two other drives. After the array is created, I would be free to copy the contents of one of the other drives over, then expand the array. Rinse and repeat for the final drive. This last bit is critical for me, because I have nowhere to store my ~3tb of data while an array is being created using all of the drives. This ruled out ZFS/Raid-Z for me, unfortunately.


So with that plan, I've been sitting on it, lurking around and reading, and I must say... I am still not sure. The Raid-5 will protect me from a drive failure, which sounds great. However, it seems it is commonplace for data to become corrupt during the rebuilding process (I don't care about the time to rebuild the array, uptime is not really critical for my application). I can't seem to convince myself that the risk is worth it. So maybe switch the boot drive to an IDE model, and add a sixth 1.5tb in to make it a Raid-6? Would doing so reduce the chances of data corruption during a rebuild? Am I making a big deal out of nothing?


So this is where I stop rambling, and humbly ask for your opinions on this. Is my plan a well-founded, logical process? Or are my fears perfectly justified regarding my proposition? What would you do in my situation? Have I missed something entirely?

I am not opposed to a pre-built NAS enclosure, by any means, however, I could not seem to find an affordable option that would perform better than doing it myself.

I would like to keep the cost around $400-$500 for the bare system (meaning the UPS need not be factored into this price). My Newegg cart is sitting at around $450 right now, including the one 1.5tb drive (Raid-5 option). I am not opposed to bumping the price up, so feel free to suggest higher-specced options, but I really don't see myself spending over $700 on this (UPS excluded).

Thank you for any assistance that you can provide.
 
Your hardware is a good choice. I've been recommending this combination for home Linux/BSD filers for a year or so now, have a similar build myself (with a Q6600, but I previously had an E1200 in it and it worked fine for my purposes and could saturate GigE even with that CPU, but I needed V-T and a bit better performance in the box). I use Debian, but whatever you prefer will work great on this hardware, it's all very well supported stuff, and Intel's boards are well made and designed.

Most of APC's UPSs are standard HID devices and well supported by NUT too.

As far as corruption, the risk is basically that if a random bit error occurs during a rebuild, the wrong bit will be rewritten to disk. This can have dire consequences if it happens to screw up filesystem metadata or something, but the odds of a single bit error are not high (though I wouldn't call them remote either), and a single flipped bit messing up all your data is pretty much impossible. You might get a corrupted file or some recoverable metadata corruption, but IMO the risk of catastrophic failure from this type of error is very low. Still, if it happens during an array resize or rebuild it could be a hassle and possibly difficult to get the array back to a working state so you can recover your data off it. RAID6 doesn't have either of these issues. FWIW I use RAID6 on my array of 6 disks.

Booting from IDE is a good choice IMO, it won't affect performance and leaves a SATA port for more storage drives. May as well make use of every interface you have. If you're not planning to do much else with this server it might make sense to boot from a USB stick and create a couple LVM volumes or similar on the array to store /var and /home, that way you don't need a boot disk at all.

I am not opposed to a pre-built NAS enclosure, by any means, however, I could not seem to find an affordable option that would perform better than doing it myself.
That's been my feeling on this as well. Doing it yourself is more complicated, but offers much better performance and expandability for less money. I think your budget is more than sufficient for what it looks like you're trying to do.
 
...Being an Intel board, I also can forego a standalone Intel NIC to make a linux system happy (I'm done with Realtek onboard shit). Other than that, it is a no-frills board, with basic onboard graphics -- nothing crazy here.
...
So this is where I stop rambling, and humbly ask for your opinions on this. Is my plan a well-founded, logical process? Or are my fears perfectly justified regarding my proposition? What would you do in my situation? Have I missed something entirely?

The fact that you are picking a board based upon an Intel NIC is a really good choice, and shows you have a well concieved plan.

My single food for thought is to consider a Clarkdale based LGA 1156 based system. The only reason is that if you purchase DDR2 today, odds are twelve months from now, it is a totally sunk cost versus DDR3 where you could re-use it in current and future platforms. Realistically, the power consumption of higher end LGA 775 chips make newer platforms look really good. If you ever wanted to run a few VM's on the machine, you may also want more than two DIMM slots. Another option is the other extreme and just doing an Atom D510 or N330 based system for negligible power consumption.

Realistically, if you see yourself in 12 months beefing up the server, I would highly suggest a DDR3 platform even if it costs $200 more. If you think the system will stay as-is for the next 18 months, and you don't mind the CPU/ Motherboard/ memory not carrying over to the next system, then you have a quality build on your hands.
 
I've been looking at upgrading/changing my setup as well. I think software RAID is just fine for a home server. I've even heard of some business using Linux software RAID.
My current board is so old it doesn't support 2T drives, so I had to get a PCI SATA card. I just get the 1.5gig/sec, but it's good for streaming 2 movies at the same time.
I've also been thinking about getting a CF Card adapter to put Gentoo on. I figure get me a 8gig card, and then a 300gig IDE for the /home directory, and then my RAID5 for the main storage. But, I'll probably just use the 300gig for the boot/temp torrent, and then the RAID5.

FYI, my current board is a MSI Dual Opteron that's about 6 years old. No PCI-e, or PCIx. :(

And, a neat trick you can do till you get that other HDD is when you're making the RAID5 array is to put "missing" at the end, that way it'll use all 4 of your drives for storage, and then you can just add in your 5th when you get it to make it a true RAID5. Or, if you're worried about data loss, just do a RAID5 to start out with. You can still use it while it's re-building/growing. Just make sure to use a file system that will grow as well.. reiserfs/xfs are normally best.
 
This last bit is critical for me, because I have nowhere to store my ~3tb of data while an array is being created using all of the drives. This ruled out ZFS/Raid-Z for me, unfortunately.
In other words no backup - that still means your data is at risk IMO.

A true backup solution would have the advantage of you able to re-create one array should the need arise. It also provides true data security; a single filesystem even while redundant cannot provide the same level of data security.

A Dual Opteron system would consume alot of power, but it will be slow by current standards and not suited to NAS since it has no advanced I/O whatsoever; and you don't want a PCI NAS i presume.

Personally, i would stop and reconsider a few things:
- BACKUP
- NAS hardware
- OS/Filesystem

I understand money is a factor; why not see how far you can come? What would be the cost of a _proper_ NAS with full backups? Basically you're doing full backups now with your 4x 1.5TB drives. Why can't you continue this path?

With a true backup, you could also be using RAID0 instead; now things get interesting; you get expansion capability with ZFS; expand one disk at a time. It wouldn't allow for fixing corruption, though; just detecting corruption. ZFS Metadata has two copies already so is redundant even on single disks.

Either way, the suggested path would lead to a NAS with only a fraction of the power you would be using initially, and would also be safer than a single RAID5 array. I'm not sure which RAID level suits you, though. How's your budget really?

Perhaps you ruled out ZFS too quickly?
 
Yes, Backup.
RAID5 is not a substitute for regular backups, I just lost a 8 drive RAID6 array on a rather hardcore Areca Arc-1260 card. Thank goodness I only had recorded TV and some replaceable .iso files. 3 or 4 TB of crap I gotta find again, though.

On a side note, my grand experiment into budget RAID50 has been working out grand to date, but the performance in limited to the 2 pci-e 1x cards, and software plaid raid. About 350 mb/s read and write.
The 12 drive array I have in place now just crushes it.

If you think about it, the OS can hose your array (Winrot.), the PSU (spike, or intermittent faults.) can hose your array, the RAM can hose your array (corruption.), and so on....

If the manufacturers would get off their backsides, and start making some 12v only motherboards for the retail channel, we could get by on cheaper PSUs, no UPSes required (Just a 12v battery between the PSU and the motherboard would work.), and I suspect the reliability (And efficiency) of modern computers would be at an all time high.
 
Back
Top