My cheap NAS box build

Joined
Apr 28, 2006
Messages
835
In a recent thread about building a NAS box, I made the comment "Honestly, for your intended usage, that hardware is way beyond overkill in response to using something like a AMD X2 machine as the basis of a NAS.


I am going to eat some crow on this. Couple weeks ago I picked up a gigabit NIC card for my Pentium 3 fileserver and added a gigabit switch to my network. Sadly, the P3 just doesn't have the muscle to fully utilize gigabit. With a 4 port sata card, a 400 gig Western Digital hard drive, I can only manage about 25 megabytes a second, which isn't too bad, but I knew I could do better.


Enter: The Upgrade.

I wanted a more modern platform with atleast 4 SATA ports on the mobo and a decent integrated gigabit NIC. But, it had to be budget friendly.

Here is what I picked up:

ECS GF7100PVT-M $50 - 4 Sata ports, Nvidia chipset and gigabit NIC, and several PCI and a PCIe slot for expansion.

Celeron 420 $43 - 1.6GHz and Conroe core. Little brother to the Core2Duo line.

1 gig DDR2 ram $20 - I actually picked up the 667 version, but for these purposes it won't matter.

I already had the 400 gig WD SATA hard drive, optical drive and tower case.


I had intended to use either FreeNAS or Ubuntu Server 7.10, but ran into some issues. FreeNAS would hang at the splash screen and Ubuntu installed fine, but didn't seem to support the NIC. LSPCI indicated it was an unknown Nvidia networking device. It was already late and I didn't feel like troubleshooting this anymore.


I went ahead and installed Windows Server 2003 on the machine. I only intend to use the machine for file serving and UPnP media streaming to my PS3. The install went without a hitch for the most part. Mid way through the setup my optical drive died and I had to power the machine off and swap drives. Second part of the install had to restart. Ooops.


Anyways, I installed the Windows XP 32bit nForce driver set from the Nvidia website and it installed without a hitch. Audio needed an additional driver set, but I wasn't too worried about it as I disabled the audio in the bios. Don't need it.

Since I only had one hard drive on hand, I partitioned the drive. 20 gigs for the OS and the rest is a data partition.


Before I went to bed I lauched the Intel NPT benchmark suite..


Results:


Code:
 Testname      	             	Avg of 3 runs
HD Video Playback		 57.4MB/s
2x HD Playback	                  8.8MB/s
3x HD Playback	             	 31.8MB/s
4x HD Playback	           	 31.1MB/s
HD Video Record	 	         47.9MB/s
HD Playback and Record 	         50.5MB/s
HD 2xPlayback 2xRecord 	         38.0MB/s
HD Playback with Office	         65.2MB/s
HD Playback with Backup 	 33.1MB/s
Content Creation	 	  6.1MB/s
Backup        	             	 49.1MB/s
Restore       	             	 70.4MB/s
File copy to NAS	 	 48.9MB/s
File copy from NAS	 	 61.0MB/s
Dir copy to NAS	             	 23.6MB/s
Dir copy from NAS	 	 35.0MB/s
Photo Album   	             	 14.7MB/s

nas_npt.jpg



To say that I am pleased would be an understatement. Keep in mind this is also a single disk to single disk transfer; there isn't a raid array on either side. I know a couple of those numbers are oddly low (2x HD Playback and Content Creation), but I am not too worried about it.

If I just grab a random 1 or 2 gig file, I can typically see 50 to 60 megabytes a sec transfer to and from the server. According to task manager I am utilizing 45% of the gigabit connection. At this point I am pretty much disk I/O limited. I am probably going need a raid array on each end to see much more performance. Next on my shopping list is a couple 750 GB or perhaps 1 TB drives. Need to feed that bandwidth. Haha.


Its a shame I couldn't get this working under Ubuntu Server, maybe I will look into this sometime in the near future.



Summary: Unless you really don't need high end performance, it just doesn't make sense to even invest any money in an older machine to repurpose as a NAS box. For less than $150, you can buy a motherboard, cpu and ram for the basis of kick ass NAS machine with integrated gigabit NIC, multiple SATA ports and leftover future expansion options. Stir in your choice of hard drives, case and Operating System and you have a product that will easily exceed any of these inexpensive NAS enclosures on the market.
 
Thank you for that post. I find way too many people settling on a prebuilt option, like a DROBO or linksys, or Lacie, or similiar NAS that is very expensive for what you get. Homebrewed NAS'es are the way to go, even for joe-average. :D
 
Thank you for that post. I find way too many people settling on a prebuilt option, like a DROBO or linksys, or Lacie, or similiar NAS that is very expensive for what you get. Homebrewed NAS'es are the way to go, even for joe-average. :D

Exactly what I thought.
 
DIY is the way to go just too bad you gave up on *nix, in the end is way better choice for file server then win2k3
 
DIY is the way to go just too bad you gave up on *nix, in the end is way better choice for file server then win2k3

Have no fear, as I have worked out my NIC issue.

Currently have Ubuntu Server 7.10 installed to a 1 gig USB flash drive (no swap) and the machine is booting off of it. Currently installing Samba and getting ready to mount the 400 gig drive and see what kind of speed this gets me.

Just for anyone curious about the amount of space this requires for a basic Ubuntu Server install (with OpenSSH and Samba/SMB stuffs):


Code:
fixed@nas:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             942M  491M  404M  55% /
varrun                474M  184K  474M   1% /var/run
varlock               474M     0  474M   0% /var/lock
udev                  474M   64K  474M   1% /dev
devshm                474M     0  474M   0% /dev/shm


Running some tests now.
 
good to hear you went *nix, if you build your os from scratch you can make it even smaller, but ~500mb is not bad. What kinda file system will you run for the data drives?
 
good to hear you went *nix, if you build your os from scratch you can make it even smaller, but ~500mb is not bad. What kinda file system will you run for the data drives?

Still running some tests before I commit to formatting the Server 2k3/data drive, but probably ext3.


I want a file system that gives good performance, while at the same time isn't so esoteric as to make file/disaster recovery difficult.

Seems like ext3 would fit that bill nicely.
 
I used to go reiserFS, but yea...

I've seen samba configs outperform the same box running win2k3 server. Ext3 has built in journaling and should handle you're load. The main crux is generally the effort you want to go through to get your storage adapter to work under linux.

If you dont mind going with a RH variant I'd look into openfiler. It has some very promising features for a storage server.
 
I used to go reiserFS, but yea...

I've seen samba configs outperform the same box running win2k3 server. Ext3 has built in journaling and should handle you're load. The main crux is generally the effort you want to go through to get your storage adapter to work under linux.

If you dont mind going with a RH variant I'd look into openfiler. It has some very promising features for a storage server.

Yeah, but doesn't Openfiler require a LDAP or AD to authenticate? I don't think it does local user authentication.
 
Yeah, but doesn't Openfiler require a LDAP or AD to authenticate? I don't think it does local user authentication.

I'm still playing with getting it installed, I run a 2k3 DC at home though. I'm not sure to be honest.
 
Yes it does, and its a PITA trying to use either solution. I'm running it strictly to serve NFS to my ESX box.
 
Yes it does, and its a PITA trying to use either solution. I'm running it strictly to serve NFS to my ESX box.

Well, apparently there is a way to run local LDAP authentication so you don't need a seperate server.

http://www.openfiler.com/community/forums/viewtopic.php?pid=2398

I downloaded the Openfiler VMware virtual machine and after setting this up and rebooting the virtual machine, I am unable to log back into the Openfiler web interface. LOL - I guess thats something I need to work on...


I was the man that posted the "overkill" server you responded to.:)

But yes I totally agree with your summary. Good luck on that server!


I stuck my foot in my mouth with that response. In all honestly though, a Pentium 3 era machine is more than capable of streaming audio, video and even high def video to a set top box. But once you factor in the cost of upgrading the networking, or adding in a SATA card and etc...it just doesn't make sense.

So, yeah, a low end AM2 or 775 box is definately the way to go.
 
Ok, had some more time last night to run the Intel NPT benchmark suite on the NAS running Ubuntu Server 7.10

nas_npt_linux.jpg


I optimized the samba config as much as I could before I ran the benchmark. Overall the results are pretty good, but they get smashed by the results under Server 2k3 from the first post.


As a side note, here are the benchmarks from my Intel bx chipset based P3 800 (running Server 2k3) with the same 400 gig WD hard drive, a add-in Silicon Image SATA 4 port card and Realtek gigabit NIC:

p3_800_NAS.jpg


As you can see, these are overall pretty decent results, more than capable of streaming High Def video to multiple users at once. I will probably keep this machine around as a backup server.



Also, about a week ago I picked up a cheap Pentium 4 1.7GHz cpu and Tyan Trinity 510 motherboard and 1.5 gigs ram. I thought for sure this would be a good combo for better speed and expansion than the P3. Moved the same 400 gig WD drive, SATA card and Realtek GigE NIC over to it. Installed Server 2k3 and ran the Intel NPT on it:

p4_1700_NAS.jpg



Holy Hell! that sucks. Some of the numbers are lower than even the P3! Even after tweaking the bios and memory timings, I wasn't able to raise these numbers much more. This motherboard uses a VIA chipset, and thats the only reason I can think of for the poor performance.


Conclusion: Motherboard chipset most likely plays a larger role in gigabit file transfer performance than cpu speed, especially with older hardware.



Another funny thing: When copying multi gig files to the test NAS machine, on both the P3 and P4 setups, the CPU goes up to 90%+ utilization writing to the disk. The Celeron 420 rig is maybe 40% to 50% cpu utilization with far faster write speeds. Most likely the integrated NIC and SATA controller contribute to lower cpu utilization.
 
I had intended to use either FreeNAS or Ubuntu Server 7.10, but ran into some issues. FreeNAS would hang at the splash screen...
Are you sure FreeNAS was in fact hanging? The way the current version installs can be a bit confusing, and it caught me out until I realised what was happening... it was actually loading "behind" the splash screen, and a quick tap on the spacebar revealed all.

Apologies if I'm stating the obvious and you were aware of this. :)
 
Are you sure FreeNAS was in fact hanging? The way the current version installs can be a bit confusing, and it caught me out until I realised what was happening... it was actually loading "behind" the splash screen, and a quick tap on the spacebar revealed all.

Apologies if I'm stating the obvious and you were aware of this. :)



Ohh yeah, it was hung. I tried also booting with ACPI disabled and Safe mode. Same results.

Tis a shame. I am not sure if there is anything I can do to get around it.
 
I have done a lot of system throughput testing for transferring files to/from a server. See this thread and skip to post 17. There is a link for tweaking memory buffer settings in Windows boxes too. Some NICs suck. With fast server drives you can get 100MBytes/sec transfers.

http://www.hardforum.com/showthread.php?p=1032170858

I used a couple different versions of Linux, for the server Ubuntu 8.04 was working very well with vsftpd, & FileZilla clients. I didn't try the FileZilla server because it only runs on WIndows. I do have enterprise Win2003, maybe someday.

I tried unRAID tonight and the concept is goood, didn''t like the way they set it up for use with Linux even though it is based on Linux Slackware. If I was familiar with Slackware installation of more software, maybe it would work. Next up is Openfiler, better package management system.
 
Back
Top