A quiet home fileserver

Got a shopping cart of parts that you want opinions on? Get advice from members on your planned or existing system (or upgrade).

Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee

Post Reply
wootz
Posts: 6
Joined: Tue Aug 15, 2006 9:33 am

A quiet home fileserver

Post by wootz » Tue Aug 15, 2006 10:22 am

Hello, this being my first post on the forum I'd first like to say thanks for all the information and resources available on this website and these forums, they've already helped me immeasurably, and my build has not yet begun!

My goal here is to build an inexpensive(ish) and quiet(ish?) ~1.2TB (4x320GB) NAS box based around Linux software RAID5 and LVM.

Here are my questions:

1) For this purpose, I was hoping to ressurect one of my older PCs from the boneyard. At my disposal I have:

AMD Athlon TBird 900MHz
FIC AZ11 (VIA KT133) Mobo
768MB PC133 SDRAM

-OR-

Intel Celeron 1.7GHz
ECS P4S5A (SIS 645) Mobo
512MB PC2700 DDR SDRAM

I am planning on installing a Promise SATA300 TX4 PCI SATAII controller in order to run 4 Seagate 7200.10 320GB drives

Would either of these be sufficient to handle file serving duties with Linux, sofware RAID, and lvm? Which do you recommend?

2) Power. I have a Seasonic S12 330W that I can use in this machine. Would this be sufficient to run the CPU, RAM, 4 HDDs, DVD Burner, and an old geforce2 video card?

3) Disk patitioning. Ok, so you can't boot off RAID5. Most of the setups I've seen involve some sort of boot disk (whether it be a floppy, usb, flash or another HDD) that holds the operating system and a separate set of disks for the RAID. Instead of doing that, I was thinking of trying out something like this:

sda1 + sdb1 = md0 (raid1) = / (boot partition)
sdc1 + sdd1 = md1 (raid1) = swap
sda2 + sdb2 + sdc2 + sdd2 = md2 (raid5) = LVM Physical Volume

Has anyone tried this sort of setup? Are there any great disadvantages to it?

I guess that's it for now. I plan on doing a lot of testing and experimentation during this build, so im sure to have plenty more questions, and I will be sure to keep you guys posted on my findings!

Thanks,
Mike

IsaacKuo
Posts: 1705
Joined: Fri Jan 23, 2004 7:50 am
Location: Baton Rouge, Louisiana

Post by IsaacKuo » Tue Aug 15, 2006 11:24 am

Either of those would have plenty of power for your plans. Personally, I'd use the AMD system for the file server because that way I could use the 512megs of DDR for one of my Socket 754 workstations. Otherwise, the 768megs of PC133 would be going to waste...

OTOH, if RAM isn't a concern then I'd go with the Celeron. I'm guessing it's a socket 478 processor, and there are a lot of really good CPU heatsinks for socket 478.

I don't have personal experience with any ECS chipset motherboards, but I think they generally work fine with Linux. I've used a couple different VIA chipset motherboards--they worked with Debian 3.1 out-of-box, including on-board ethernet, video, sound, and video.

I'd be more concerned about compatability with the SATA card. I really don't know whether this is even a problem; I've never used any SATA card. Better make sure beforehand--I suggest asking at linuxquestions.org.

Your partitioning scheme looks fine, with one exception--don't put swap in a RAID1. That will be slower than the default which is to stripe all swap partitions. Just make both sdc1 and sdd1 (independent) swap partitions. They'll automatically be used as if they were in a RAID0.

Also, I don't think there's any reason to put sda1 and sdb1 in a RAID1. Personally, I'd just make sda1 and sdb1 normal partitions, and manually copy sda1's contents over to sdb1. In any case, make sure to install the GRUB bootloader on both sda and sdb, and make sure sdb1 is flagged as bootable.

This will be just as fault tolerant as a RAID1, and provides a slight extra protection from an "oops" error where you mess up /boot. (You can just copy over from the sdb1 backup.)

mg1394
Posts: 167
Joined: Sun Aug 11, 2002 3:26 pm
Location: Silicon Valley

Post by mg1394 » Tue Aug 15, 2006 11:28 am

Either machine is fine. Whichever one you think is more reliable is best.

The power supply is just fine (overkill actually)

I have no idea where you get the idea of not booting off a RAID 5 array. You need to get the drivers loaded when you do the install, but that's pretty well documented. Best to have a single raid5 array, or just pick an old 20-30GB drive for a system drive if that's the way you want to go.

IsaacKuo
Posts: 1705
Joined: Fri Jan 23, 2004 7:50 am
Location: Baton Rouge, Louisiana

Post by IsaacKuo » Tue Aug 15, 2006 11:45 am

AFAIK, GRUB needs /boot to be either a normal partition or a RAID1 (which as far as GRUB is concerned looks like a normal partition). At least, the version included with Debian Stable does.

wootz
Posts: 6
Joined: Tue Aug 15, 2006 9:33 am

Post by wootz » Tue Aug 15, 2006 12:08 pm

IsaacKuo wrote:Either of those would have plenty of power for your plans. Personally, I'd use the AMD system for the file server because that way I could use the 512megs of DDR for one of my Socket 754 workstations. Otherwise, the 768megs of PC133 would be going to waste...
Thanks for the advice. I was also leaning toward the Athlon system, it runs as solid as a rock, and I think will probably run quite a bit cooler as well.
IsaacKuo wrote:Your partitioning scheme looks fine, with one exception--don't put swap in a RAID1. That will be slower than the default which is to stripe all swap partitions. Just make both sdc1 and sdd1 (independent) swap partitions. They'll automatically be used as if they were in a RAID0.
I had read somewhere that by mirroring your swaparea you can avoid potential process crashes in the event that a swap drive goes down, the mirror will take over and the system will continue to run normally. My idea was to have a system that could still run normally in the event of a single disk failure. Would this not work or is it just overkill?
mg1394 wrote:I have no idea where you get the idea of not booting off a RAID 5 array. You need to get the drivers loaded when you do the install, but that's pretty well documented. Best to have a single raid5 array, or just pick an old 20-30GB drive for a system drive if that's the way you want to go.
IsaacKuo wrote:AFAIK, GRUB needs /boot to be either a normal partition or a RAID1 (which as far as GRUB is concerned looks like a normal partition). At least, the version included with Debian Stable does.
That is my understanding as well for software RAID under Linux, if this was hardware RAID it would be a different story.

Thanks!

IsaacKuo
Posts: 1705
Joined: Fri Jan 23, 2004 7:50 am
Location: Baton Rouge, Louisiana

Post by IsaacKuo » Tue Aug 15, 2006 1:25 pm

wootz wrote:I had read somewhere that by mirroring your swaparea you can avoid potential process crashes in the event that a swap drive goes down, the mirror will take over and the system will continue to run normally. My idea was to have a system that could still run normally in the event of a single disk failure. Would this not work or is it just overkill?
I hadn't even thought of that. I've never done it, but it sure sounds like it would work.

But I just had a thought--you're using this as a file server, right? You don't need any swap partitions at all. You won't need 128megs of RAM, much less 768megs. The rest of the RAM won't go to waste, of course--it'll all be used for a large disk cache. But you don't need any swap.

autoboy
Posts: 1008
Joined: Fri Dec 10, 2004 8:10 pm
Location: San Jose, California

Post by autoboy » Tue Aug 15, 2006 1:59 pm

Check this out: NASlite
It may be something you are interested in instead of a full linux install.

zprst
Posts: 15
Joined: Tue Aug 15, 2006 3:56 pm

Post by zprst » Tue Aug 15, 2006 4:48 pm

1) i'd rather consider getting a nice old intel BX based board and a slow coppemine-core celeron. this should give you perfectly adequate performance, some nice-to-have features like a possibility to use up to 2Gb of ECC RAM and so on, low power consumption, and a rock-stable chipset.
you may be able to get such hardware for free, if you look around a bit.
both TBird-athlons and (willamette-core, I guess) P4-Celerons are not quite something you could call energy-efficient. both are also quite an overkill for this task.

i also remember having some problems with libata-drivers for your SATA controller (though they could have been SMP-related, and thus, irrelevant for you). SATAII-150 TX4 model seemed to be better supported, at least a bunch of libata-versions back from now.

2) should be absolutely adequate, probably an overkill.
get rid of the "old geforce2 card", get youself an old S3 virge or some other kind of an old, low-power, low-performance card. you can get these for free these days, and it would save you some money on your electricity bill. you'll only need it for booting and initial setup, so it doesn't have to be able to do more than providing you a vga text console.

3) this kind of setup would work, yes.
swap on raid1 would slow you down _considerably_. for this kind of setup i'd rather go for 4 small swap partitions on every disk, using same priority. sure, mirrored swap could potentially help to avoid VM corruption due to a failing disk, but, on the other hand, if a disk is failing, then you've got a faulty system and have to bring the system down to swap the disk, anyway.
as isaackuo already mentioned, your kind of setup won't swap to disk very often, too.

so, i'd consider:

sda1 + sdb1 + sdc1 + sdd1 = md0 (raid1) -> /boot, or /, depending on your partitioning scheme
sda2, sdb2, sdc2, sdd2 as swap partitions
sda3 + sdb3 + sdc3 + sdd3 = md1 (raid5) -> LVM PV -> everything else on LVs

a quiet(ish) system with 4 HDDs, hmm... you'll probably need some kind of suspension/dampening...

nix-madness
Posts: 26
Joined: Sun May 14, 2006 11:18 pm
Location: Singapore

Post by nix-madness » Tue Aug 15, 2006 8:28 pm

wootz wrote:I am planning on installing a Promise SATA300 TX4 PCI SATAII controller in order to run 4 Seagate 7200.10 320GB drives
Hold the bus!!!

There seems to be some problems with the GPL version of the sata_promise driver for this card. Check this out:
http://www.google.com/linux?hl=en&lr=&q ... tnG=Search

Apparently, the enumeration order for the ports got messed up by the driver, causing the kernel to identify the devices in the wrong order. Here's the how it will end up if you fill up all the ports:

Code: Select all

Physical Port    Kernel Identified As     Device name
-------------    ---------------------    ------------
Port 1             SCSI 3                  /dev/sdd
Port 2             SCSI 1                  /dev/sdb
Port 3             SCSI 0                  /dev/sda
Port 4             SCSI 2                  /dev/sdc
A patch has already been submitted by Milan Kupcevic, but seems that it has not been accepted/applied to the sata_promise driver.

So, for people attempting to boot from the card, it's going to cause some headaches.

I too have a similar card, with 3x Seagate 7200.10 320GB drives - 1 drive less than yours. The 3 drives are also configured in a software RAID 5 setup. The driver is creating some confusion for me at times, especially, attempting to identify or differentiate which device name points to which physical device.

So, if you have not yet purchase this card, have a look at others. No doubt this is a good non SATA RAID card. But I regretted buying this card without doing further researches. It's only after I have purchased and installed the card that I found out about the enumeration problem.

Alternatively, you might want to write/reply to mailling list, referred above, and hopefully the driver maintainer can pick it up and apply the patch asap. :D

Refer to the following for more on the state of SATA on linux:
http://linuxmafia.com/faq/Hardware/sata.html
http://linux-ata.org/

As for O/S partition, I've got 2x40GB 2.5" IDE HDD. They are connected to the onboard SATA/150 via those IDE-SATA + 40-44 pins convertors. They are partitioned as follows:

Code: Select all

Mount Point     Devices      RAID
-----------     --------     -----
/boot           sda2, sdb2   RAID 1
/               sda3, sdb3   RAID 1
swap            sda4, sdb4     -
WindowsXP       sda1
Not Allocated   sdb1
SWAP is not in any form of RAID, but, independent swap partitions.

I need the WindowsXP partition as the board is an MSI K8MM-V board and it's easier to boot into WindowsXP to flash the BIOS once a while via the MSI LiveUpdate.

BTW, the new Seagate 7200.10 SATA drives have not been updated into the hddtemp database. So, if you want to use hddtemp to monitor it's temperatures, you'll have to wait till the maintainer updates it.

Have fun

Post Reply