Building a NAS server

HICKFARM

Gawd
Joined
Jun 18, 2008
Messages
547
I want to build a RAID 5 server with my current motherboard and processor so i can upgrade me dated gaming PC. :)

I know quite a bit about building pc's, overclocking and all of that stuff. But never have done raid much at all. I am planning on going with either 3 or 4 1TB western digital hard drives in a raid 5. I want to get a complete hardware raid card for the raid. But i may be forced to get a software raid card for money purposes.

The motherboard i have to use is this :
http://www.newegg.com/Product/Product.aspx?Item=N82E16813136015

Processor is a AMD 5000+ BE

and 2 gigs of a regular DDR2 ram

I have heard tons about how you should get a ECC ram and such, but is it really worth it when i already have this hardware?

Also i don't want to use FreeNas for this. More like some distro of linux or some verison of windows server, because i would still like to be able to burn DVD, CD, and download stuff since this PC will be on 24/7 anyways.

I know i need some raid card, since my motherboard is crap for it. And i would like to keep this under or just around 100$.

Any comments will be very helpful, and you are free to point me in the right direction if i have something completely wrong.
 
I would just use Linux software RAID with your existing hardware. Your needs sound pretty simple.
 
I would just use Linux software RAID with your existing hardware. Your needs sound pretty simple.

Any suggestions for which linux to use?

Also how would a software raid work, if say linux were to crash? can i just reinstall a new verison of linux and recover the raid?
 
I'm partial to Debian, but whatever you're familiar with is fine. If you're wanting to use it as a desktop as well you're probably better off with something a bit more desktop-oriented like Xubuntu, Ubuntu, Fedora...

And yes, that's one of the major advantages of software RAID. Plug the disks into any machine running any Linux using any (supported) disk controller and you can mount the array easily.
 
Use one of the onboard PATA ports for the boot drive and you can use the 4 SATA for the array. Those Silicon Image based controllers work pretty well in Linux though if you need more ports, just PCI bus is pretty slow.
 
Working late (or is that early) and figured i'd chime in while waiting on a few things to finish processing.

I went through this process a few months ago (thread i started on here: http://www.hardforum.com/showthread.php?t=1433443), and am just now getting comfortable with a solution.

I went through and tried almost every major option you see people mention. Tried WHS and rejected it because there was too much "fluff" for me. Tried a straight up Win Server 2008 R2 install, but didn't want the cost to do it legally, didn't really need (or have the hardware to support) the VM functionality, and just had to recognize the "pneumatic driver to hit a penny nail" feel of the situation. Tried FreeNas and was fairly pleased, but i felt a bit limited because of the FreeBSD platform and am not really keen on waiting for their transition to linux to get rolling full steam; plus moving to linux takes away ZFS, which was one of the biggest selling points (to me) of FreeNas. UnRaid was my next stop, and honestly, if all i wanted was a bare bones file server, this would have been where i stopped. Simple to setup, the free version is enough to get rolling with, the paid version is reasonable and introduces some nice admin features along with increased storage capacity. My problem was that some of the things i wanted to do with my setup really weren't easily accomplished here. Getting upnp/dlna streaming, lamp, itunes server, bit torrent up and going are still very hackish.

I finally ended up with a centos based Linux box. Currently running on an NF4 based mobo with an Athlon X2 proc and 2 GB of ram. I debated between hardware and software based raid, and decided to go the cheaper route first. Hooked up 4x 1TB WD "green" drives to the onboard sata ports of the mobo and used an old 7200.11 Seagate drive as my boot drive. I was prepared to configured the WD drives as a software raid-5 array via command line; but there was no need. Centos's GUI installer allowed me to get the raid configured during the install process and, even if i'd not known what was going on, i think the process would have been fairly painless. So far i'm quite happy with the setup. I've got access to all the software / services that i wantet to use, and i've got the performance / piece of mind I was looking for from the software-raid. I've expanded the array once, rebuilt once (just as a test), and both operations went off without a hitch. At this point, i just can't find the impetus to consider the expense of a hardware raid solution. I plan on refining my hardware setup a bit in the future, and may add an additional disk controller (like this bad boy: http://www.newegg.com/Product/Product.aspx?Item=N82E16815121009) / work on my power consumption, but in terms of functionality, I couldn't be happier.
 
so you got this part

working on centos?

I'm still tweaking, but yes, the functionality is all there.

iTunes / daapd - Firefly, also experimented a little with NFS and keeping itunes music / library directly on the nas.

uPnP/DLNA - playing with Fuppes, MediaTomb, and Twonky MediaServer

BitTorrent - currently using rTorrent w/ webui. Thinking of trying uTorrent via wine (apparently runs like a champ) for better wife compatibility and just because I am a uTorrent whore.

Apache / MySQl / Php - they don't call it LAMP because it emits light.
 
Well i decided i am going to use all the hardware in my main post.

But i still don't know what raid controller i should get. i am thinking about this card.
http://www.newegg.com/Product/Produ...&cm_re=raid_controller-_-16-124-028-_-Product
but i don't like the fact that is just PCI, which seems like it would be a bottleneck. All the other cards i looked at on Newegg seem like they are to expensive (expensive being well over 100 bucks). With a card like the one i just linked i would have to use software raid as well right? Because it doesn't support just a hardware raid does it?
 
You don't need a raid card if you are going to use linux and software RAID.

Just use the PATA for a crappy OS drive and then use the 4 sata slots for the hard drives and do software RAID with fedora or centos.

If you need more ports then buy a PCI Express controller card.
 
Can anyone point me to a good pci express controller card, because i will be using onboard sata ports for the OS and optical drive.
 
It will work in a x16 slot. The only problem is that if you're going to be using this with software raid (i.e. Linux), you're going to have to compile your own driver module. It will work fine with WHS tho. See http://www.hardforum.com/showthread.php?t=1397855 for more info.

Ya i saw that thread earlier when you first posted that card when i googled it. Ya i might just use WHS. I might mess with compiling a driver, but i really can't see myself doing that.

Would it be that hard?
 
For a NAS with only 3 or 4 drives, I've heard nothing but good things about the Intel SS4200-E Would be way cheaper than building out a PC with all the necessary components.

It gives you 4 drive bays with a nice WebGUI, Linux software-based RAID5, and for months its been $135 at buy.com, though it appears today they're finally OOS. Still its worth checking into even for Newegg's $199 pricepoint.
 
I want to buy one of those just to play with it. I haven't read a bad report yet. Only thing is I just don't need it enough to click the buy button.
 
That Intel thing looks cool. But i think i would rather have a regular pc server where i can run other things on it as well.
 
I love my SS4200-E. Upgraded it to a dual core (E2200) and 2GB of ram. Very fast, very low power consumption, very stable, and very cheap. Up and running with 6TB for $485, got a deal on the drives. The system was like $140 itself which is an obscene bargain for what you get and how it's performed. My only complaint is the stock fans are kind of loud. Well, that and I wish the case was more rectangular so it could be stacked like other HT gear in the living room. OK...installing WHS without a monitor or keyboard is an absolute bitch, but I've finally got that nailed down. Mabye that's positive as it's lack of video or PS/2 ports / whatever is partially responsible for the low low power consumption.

I run 4x WD 1.5 TB "green" drives and it pulls something like 18-19 Watts at idle (WITH THE DRIVES SPINNING!)

This is per measurement given by two different UPS's I own; wattage "from the wall socket."
I still need to find a 3rd way to verify those measurements.

Even with the processer upgrade, CPU stays very cool even running LinX overnight with the stock cooling (semi-passive)
 
Avoid PCI; PCI and RAID are like water and fire; they hate eachother. PCI is serial operation, RAID is parallel operation; they have no business with eachother.

If you want RAID; you need real interfaces - Serial ATA provided by the chipset, plus some PCI-express addon ports if you require more.

Also look at ZFS, its much more modern than any RAID, especially the legacy RAID5s. Once you get to know ZFS, you never want to store your data on anything less sophisticated.
 
Avoid PCI; PCI and RAID are like water and fire; they hate eachother. PCI is serial operation, RAID is parallel operation; they have no business with eachother.

If you want RAID; you need real interfaces - Serial ATA provided by the chipset, plus some PCI-express addon ports if you require more.

Also look at ZFS, its much more modern than any RAID, especially the legacy RAID5s. Once you get to know ZFS, you never want to store your data on anything less sophisticated.

SATA provided buy the chipset will still use the PCI-E bus in current motherboards, the PCI-E bus is also serial. You should read up on chipset design
 
Avoid PCI; PCI and RAID are like water and fire; they hate eachother. PCI is serial operation, RAID is parallel operation; they have no business with eachother.

If you want RAID; you need real interfaces - Serial ATA provided by the chipset, plus some PCI-express addon ports if you require more.

Also look at ZFS, its much more modern than any RAID, especially the legacy RAID5s. Once you get to know ZFS, you never want to store your data on anything less sophisticated.
PCI is parallel and shared. The shared part (and the much lower thoroughput compared to PCIe) is the issue. The bus design has nothing to do with it.
Posted via [H] Mobile Device
 
Avoid PCI; PCI and RAID are like water and fire; they hate eachother. PCI is serial operation, RAID is parallel operation; they have no business with eachother.

If you want RAID; you need real interfaces - Serial ATA provided by the chipset, plus some PCI-express addon ports if you require more.

Also look at ZFS, its much more modern than any RAID, especially the legacy RAID5s. Once you get to know ZFS, you never want to store your data on anything less sophisticated.

As others have pointed out, you have it backwards on PCI vs PCIe.

I am a little intrigued withZFS. What about performance... say a 6-disk raid 5. Can I get 500mb/s R/W performance like with hardware raid, using a fast CPU?

Now if only I could ZFS with Windows Home Server. I may just go with FlexRAID.
 
SATA provided buy the chipset will still use the PCI-E bus in current motherboards, the PCI-E bus is also serial. You should read up on chipset design
PCI-express is everything what PCI is not:
- PCI-express is a point-to-point protocol (dedicated interface) while PCI is a shared access bus
- PCI-express is full-duplex (can both send/receive at the same time) while PCI is half-duplex
- PCI is physically parallel I/O but serial in design in the fact that only one device can perform I/O at a time; while with PCI-express and multiple controllers acting in a RAID-array they would be able to process in parallel. The same would be true for some expensive workstation motherboards who have multiple PCI-X buses though, but i'll leave that out of this consideration.
- and of course, PCI-express has lower latency and higher throughput

So all the reason you would want to go for PCI-express for your ZFS array.

However, if you are considering real hardware RAID cards with PCI-X or PCI interface (not the fakeRAID chips) then PCI is less of a bottleneck, since all communication with the disk doesn't have to travel through the PCI bus but is done directly from the onboard chip to Serial ATA interface. Thus PCI bus is only used for actual data I/O and does not include the overhead of a software RAID driver issuing commands to the physical disks over the PCI interface.

In the case of the cheap PCI cards; Promise, Silicon Image, JMicron; they all use Windows-only RAID-drivers that act as software RAID. The problem here is, that when the RAID-engine wants to process 2 I/O requests in parallel (one for disk1 one for disk2 in case of raid0), the PCI bus forces the second I/O request to lag behind the first one, creating higher latencies. Such behavior would be less severe with single disk configurations or JBODs; but would appear when you try to issue I/O to multiple disks in parallel.

Hardware RAID on PCI, again, would be less affected because of the lack of command overhead on the PCI bus; it acts as SCSI controller without the host system ever getting to see or be able to interact with the physical disks connected behind the hardware RAID.

I may add that, in my own tests, ZFS array on FreeBSD8 with 2 disks on PCI-express and 2 disks on PCI controller, the performance was much worse than with 4 disks on PCI-express. Also i had much higher interrupt usage (~22%) when using PCI, and latencies (observed with gstat) were almost twice that of the PCI-express controller. Besides, if you're going to play with sexy stuff like ZFS, do you really want to ruin performance with ancient PCI?
 
As others have pointed out, you have it backwards on PCI vs PCIe.

I am a little intrigued withZFS. What about performance... say a 6-disk raid 5. Can I get 500mb/s R/W performance like with hardware raid, using a fast CPU?
Tests i done were about 200-300MB/s with 4 disks, RAID-Z, though writing is a tad slower. Yet buffered - ZFS makes intensive use of system RAM and that accelerates I/O performance.

The real beauty of ZFS lies in its resilience against corruption and its flexibility allowing the most efficient/logical storage setup for anyone - all in one package.

You can test out ZFS quite easily with FreeNAS or even OpenSolaris/FreeBSD. Just run it in a VirtualBox VM. Install/configure Samba so you can access the ZFS array from your Windows PC.

Now store some files, and make a snapshot on the ZFS directory. Delete a file ("accidentally") and simply recover it using the snapshot directory - you'll never have to lose data ever again!

Buy an SSD and add it to the array as cache device, keeping track of most accessed regions on the HDD and writing them to the SSD acting as cache for low latency disk access. Its like RAM but then the SSD is alot bigger than your RAM can hold. Assuming you frequently access 10-15% of the total array size, that means even a small SSD will boost most I/O so your performance experience will rise.

I guess you'll have to experience ZFS yourself and discover its power and flexibility. It changed my view on storage and i hope it can inspire others as well. Simply put, if you can master ZFS it will make your storage problems go away with so much ease... no more long rebuilds, instant-backups, corruption protection, dynamic stripes, okay i'll stop. :p
 
PCI-express is everything what PCI is not:
- PCI-express is a point-to-point protocol (dedicated interface) while PCI is a shared access bus
- PCI-express is full-duplex (can both send/receive at the same time) while PCI is half-duplex
- PCI is physically parallel I/O but serial in design in the fact that only one device can perform I/O at a time; while with PCI-express and multiple controllers acting in a RAID-array they would be able to process in parallel. The same would be true for some expensive workstation motherboards who have multiple PCI-X buses though, but i'll leave that out of this consideration.
- and of course, PCI-express has lower latency and higher throughput

So all the reason you would want to go for PCI-express for your ZFS array.

However, if you are considering real hardware RAID cards with PCI-X or PCI interface (not the fakeRAID chips) then PCI is less of a bottleneck, since all communication with the disk doesn't have to travel through the PCI bus but is done directly from the onboard chip to Serial ATA interface. Thus PCI bus is only used for actual data I/O and does not include the overhead of a software RAID driver issuing commands to the physical disks over the PCI interface.

In the case of the cheap PCI cards; Promise, Silicon Image, JMicron; they all use Windows-only RAID-drivers that act as software RAID. The problem here is, that when the RAID-engine wants to process 2 I/O requests in parallel (one for disk1 one for disk2 in case of raid0), the PCI bus forces the second I/O request to lag behind the first one, creating higher latencies. Such behavior would be less severe with single disk configurations or JBODs; but would appear when you try to issue I/O to multiple disks in parallel.

Hardware RAID on PCI, again, would be less affected because of the lack of command overhead on the PCI bus; it acts as SCSI controller without the host system ever getting to see or be able to interact with the physical disks connected behind the hardware RAID.

I may add that, in my own tests, ZFS array on FreeBSD8 with 2 disks on PCI-express and 2 disks on PCI controller, the performance was much worse than with 4 disks on PCI-express. Also i had much higher interrupt usage (~22%) when using PCI, and latencies (observed with gstat) were almost twice that of the PCI-express controller. Besides, if you're going to play with sexy stuff like ZFS, do you really want to ruin performance with ancient PCI?

Well, okay. So PCI-e is better. Gotcha. :D
 
Back
Top