fileserver hardware suggestions

iJeff

Limp Gawd
Joined
Sep 1, 2004
Messages
297
I am looking for suggestions on hardware to use for building a file server. This'll be my first server build --

A few things I would like:
- The file server will be running some flavor of linux with Samba and TrueCrypt.
- My budget is $1000. I'd like at least 2TB of usable space (is this reasonable within budget?)
- Don't care much about speed, as long as it's not slow as a snail. No video editing or anything.
- I'd like as close to 100% uptime as possible, within my budget range. If things happen, I can rebuild the server.
- At least RAID 1 redundancy.
- This server might also get some use as a low-volume VMWare VM server or a low-volume web server.
- I would like as much disk space as possible within my budget

I'm wondering about:
- server-specific technologies such as server mobos/procs, SCSI, SAS, and ECC memory -- whether or not it's worth it to go this way over normal desktop-level hardware.
- Should I go with one single disk for the OS and then separate RAIDed disks for data storage? Or store files and OS on the same drive so that the OS gets mirrored as well?


Thanks!
 
Last edited:
Well get a separate disk for the OS

Also how much space do you need? how much speed do you need?
 
I updated original post with what i'd like as far as speed and space -- 2TB usable space is nice and speed isn't extremely important -- I will be watching videos off of the fileserver but not things like editing.
 
well how about just getting some consumer mobo, psu proc, ram, and get 4x1tb in RAID10 gives you 2tb of space and decent speed. dont even need a raid controller, just use mdadm in linux.
 
I'm wondering about:
- server-specific technologies such as server mobos/procs, SCSI, SAS, and ECC memory -- whether or not it's worth it to go this way over normal desktop-level hardware.
- Should I go with one single disk for the OS and then separate RAIDed disks for data storage? Or store files and OS on the same drive so that the OS gets mirrored as well?

- Unless you need the absolute highest uptime, stability, speed, and reliability possible, consumer grade hardware will suffice. Is this for a business of some sort?
- As nitrobass24 said, definitely single disk for the OS and separate RAID array for data. In case the RAID array goes south, the OS drive will be be ok and vice versa.

Also, do you want want hot-swap capability?

Oh and here's an example build for ya (if using MDADM):
$159 - AMD Phenom II X3 710 CPU + ASUS M3A76-CM AMD 760G mATX Motherboard Combo
$25 - Kingston KVR800D2N6/2G 2 x 1GB DDR2 800 RAM
$110 - PC Power & Cooling S75CF 750W PSU
$55 - Western Digital WD3200AAKS 320GB 7200RPM SATA 3.0Gb/s Hard Drive for the OS
$300 - 4 x Samsung Spinpoint F1 HD102UJ 1TB 7200 RPM SATA HDD
$290 - NORCO RPC-4020 4U Rackmount Server Case
-------------
Total: $939 plus tax and shipping.

The CPU is probably a bit overkill but it's a pretty steal at that combo price. The Norco case is probably one of the best deals for a server class case as it has 20 hot-swap bays + case + extra HDD bay for the OS HDD all for $290. A single hot-swap bay with room for 5 hard drives costs around $100. So I highly recommend getting the Norco.
 
Last edited:
Danny, thanks for your in depth post.

It's not going to be for any sort of business use, it's just going to be my home fileserver.

Questions about RAID 10 -- what if I did get the 4x 1TB drives, and later wanted to expand the effective space I had, up to 3 or 4 TB? What steps would I have to take? Do all the drives need to be the same size?

What are the primary considerations when choosing which RAID level to use?
 
Danny, thanks for your in depth post.
I second his hardware choices, with the possible exception of the motherboard. The AMD 700 series chipsets were a little wonky under Linux last I knew, but it's been a couple months since I heard complaints, so maybe it's fixed now.
Questions about RAID 10 -- what if I did get the 4x 1TB drives, and later wanted to expand the effective space I had, up to 3 or 4 TB? What steps would I have to take? Do all the drives need to be the same size?
Here's a thread on the Ubuntu forums that discusses how to create/grow a raid 5 volume.
What are the primary considerations when choosing which RAID level to use?
I would recommend RAID 6 over raid 10 for your purposes; with raid 10, you have pairs of mirrors which are striped together. This is fast, since no parity calculations are necessary, but if two disks from the same mirrored pair die at the same time you lose the whole array. With raid 6, any two disks can die and your data is still intact. If you use a kernel numbered 2.6.21 or later (try `uname -r`, you'll have raid 6 expansion support.

Raid 10 gives more operations per second, but raid 6 is safer wrt disk failure.
 
I second his hardware choices, with the possible exception of the motherboard. The AMD 700 series chipsets were a little wonky under Linux last I knew, but it's been a couple months since I heard complaints, so maybe it's fixed now.

TBH, haven't heard of any major issues with the AMD 700 series with Linux. Just going off these review of the 790GX and 780G mobos:
http://www.phoronix.com/scan.php?page=article&item=ecs_790gx&num=1
http://www.phoronix.com/scan.php?page=article&item=asrock_780g&num=1

I concur with unhappy_mage: RAID 6 if you want as much uptime as possible. Though IIRC, isn't RAID 6 much slower than RAID 5 due to the extra parity calculations?
 
Though IIRC, isn't RAID 6 much slower than RAID 5 due to the extra parity calculations?
it's slower, but the extent to which depends on the controller (obviously)
the newer controllers with the Intel IOP348 handle it well

here are some numbers I took from HighPoint's performance report on the 4320

104mdf4.jpg
 
Yea but thats using a Hardware Raid Card.....if he is using software RAID, a R6 array will bring the system to a halt during writes.
Plus he said in the first post that he will be using truecprypt..and I assume will be doing full disk encryption.
R6 + Full disk encryption would be painfully slow, since all these calculations are being performed on the CPU on the fly.
 
Yea but thats using a Hardware Raid Card.....if he is using software RAID, a R6 array will bring the system to a halt during writes.
Plus he said in the first post that he will be using truecprypt..and I assume will be doing full disk encryption.
R6 + Full disk encryption would be painfully slow, since all these calculations are being performed on the CPU on the fly.

Not true. On my (admittedly fairly new) Q9300-based system, when I load the raid6 module it reports "raid6: using algorithm sse2x4 (7534 MB/s)". 7.5 GB/s is fast enough that writing at reasonable rates (200 MB/s, maybe?) won't begin to hurt CPU performance.

OP: Are you looking to do FDE on the server or on the client? TrueCrypt doesn't do FDE on Linux. You could use dm-crypt to achieve the same end, but it's not quite as easy to set up.
 
Thanks for all your comments.

I am in fact not doing full disk encryption at all using truecrypt. My initial idea is the following: share a folder on the server which will contain truecrypt encrypted file containers (the way truecrypt worked before full disk encryption). Have clients connect to the shared folder and mount the file containers using their local copy of truecrypt -- that way all encryption and decryption is done on the local PC and not using server CPU cycles.

Though, one thing just hit me -- can more than one client/process/thread read and write to the same truecrypt file container at once? If not I may have to go to using full disk encryption.
 
Thanks for all your comments.

I am in fact not doing full disk encryption at all using truecrypt. My initial idea is the following: share a folder on the server which will contain truecrypt encrypted file containers (the way truecrypt worked before full disk encryption). Have clients connect to the shared folder and mount the file containers using their local copy of truecrypt -- that way all encryption and decryption is done on the local PC and not using server CPU cycles.

Though, one thing just hit me -- can more than one client/process/thread read and write to the same truecrypt file container at once? If not I may have to go to using full disk encryption.

No. TrueCrypt uses the OS filesystems under its encryption, and NTFS, FAT, ext3 et al don't support multiple writers. You'd need a filesystem designed explicitly for multiple computers to write to it at the same time, like GFS or QFS. CIFS over dm-crypt will be significantly faster than that kind of solution, because all the locking that needs to happen happens on one machine instead of over the network.
 
Here's a summary of how my build has changed now:

- Use commodity consumer-grade components, with a server-grade case if I get a good deal on one (server racks are always nice)
- Using one disk for OS, and a RAID setup for data

Questions i'm still wondering about:

- Hardware or software RAID? Hardware RAID will give me more processing headroom for RAID6 which gives more uptime over RAID 10. Not a dealbreaker, but may affect whether or not I can run lots of other things on the server such as virtual machines.
- Still unsure of how I would perform an upgrade in disk space for both RAID6 and RAID10, or even RAID in general.
 
For RAID-5 and 6, you just add drives to add space. For RAID-10, you add drives in pairs, and your space is increased by the size of one of those drives. In any case, the space added will not be greater than the smallest drive in your overall array.

Keep in mind you'll need to resize your partition after you resize the RAID.
 
- Hardware or software RAID? Hardware RAID will give me more processing headroom for RAID6 which gives more uptime over RAID 10. Not a dealbreaker, but may affect whether or not I can run lots of other things on the server such as virtual machines.
- Still unsure of how I would perform an upgrade in disk space for both RAID6 and RAID10, or even RAID in general.

Since your budget is only $1000 and I managed to use up most of that budget in the above build, software RAID is pretty much your only option. And no the onboard RAID controller on many motherboards do not count as hardware RAID since they still use the PC's CPU to do all of the parity calculations, just like with software RAID.
 
Back
Top