What's new

(hopefully) Building a low cost/performance PC-based NAS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Rendar86

New Around Here
I have an elderly Dell Dimension B110 desktop and would like to turn it into a media storage/backup machine. I've built/customized a few Windows PCs (3.1 to win7), but this is my first step outside the box. I plan to use NAS4Free, unless there is a better software choice.

It only has IDE on the mobo, but the 3 PCI slots should allow me to add a SATA controller. I figured a couple WD Green drives would do well enough for storage, and I plan to boot from a USB thumbdrive.

I believe it has a celeron processor, and 2GB ram. The CPU can be upgraded to a P4 with hyperthreading (not the greatest, but quicker). 2GB is max for memory.

It has a 10/100 ethernet controller, and that may be upgraded to gigabit if it's needed.

If I add an NIC through PCI, I would then want to put the HDDs onto the IDE connector. SATA to IDE adapters are cheap and available, but can I add 2 SATA drives in Raid 1 through the one IDE port on the mobo? If not, would it make sense to stick to the built in NIC and use a PCI Raid controller for the two cards?

Are there any things that I should be aware of as far as hardware/software compatibility goes?

Obviously, this is not going to stream a full 4k rip of Batman, and that's fine. I just want to use these spare parts as a learning concept and maybe get some functionality out of this anchor. (And the upgrades I might need are dirt cheep on ebay and amazon).

My end goals are to:
Give this old PC some use.
Create a network backup source as my other PC's aren't backed up currently.
Create a storage area for music, pictures, and some video files.
Potentially stream those files to a PS3, android devices, and a PC via xbmc.
If possible, FTP into my network when i'm traveling for work.

Thoughts?

Thanks for the help.
 
Hello there! I personally think NAS4Free is a great idea. I have found it provides good performance, uses fairly low resources, and is one of the easiest free NAS OSes to use.

SATA controller would probably work just fine. Technically you can run both PCI NIC and PCI SATA controller at the same time but it might hurt performance due to limited bandwidth. Still would probably get speeds higher than you would by just using the onboard 10/100 NIC.

I have never used SATA to IDE adapters before but they would probably work as well. I would think you should be able to use two of the adapters on a single IDE port.

As for hardware/software compatibility I would say your basic setup should work just fine. Make sure if you get a SATA card get a chipset that is supported in FreeBSD. Also for a NIC I would get an Intel card. (I have a couple if you want one) One other thing I would recommend looking at is the power supply in that old Dell. If you plan on running it 24 x 7 you might consider getting a new power supply.

I think you should be able to meet all of your goals except realize that a central NAS with RAID is not really a backup. RAID is to help minimize the risk of data loss due to disk failure but won't protect against other hardware failures. If you have data that you don't want to lose consider getting an external USB drive that you can copy your important data to every so often. Then that USB drive can be disconnected and stored somewhere else. Just wanted to mention it.

As a point of reference I tested out NAS4Free on a Pentium 4 machine I have here at home. It looks like it might be a bit newer than the Dell B110. Here is the basic hardware I tested with:
HP a805n computer
Intel P4 515 (2.93GHz) CPU
2 x 1GB (2GB total) RAM
2 x 1TB Hitachi SATA HDD
Intel PRO/1000 MT PCI NIC

MAX network (iperf -c 192.168.0.6 -w 128k -r) throughput IN 614 Mbps/OUT 724 Mbps

File copy speeds to/from Windows 7 machine:
ZFS Mirror --- Average read 45 MB/sec --- Average write 38 MB/sec
Software RAID 1 (UFS) --- Average read 72 MB/sec --- Average write 70 MB/sec

NAS4Free testing notes: ZFS kernel tune extension installed and set to 2GB. Samba settings are default except SMB2, disabled store DOS attributes, Send/Receive Buffer Size set to 0, and AIO disabled.

Hope it helps. Let us know how it turns out.

Cheers,
00Roush
 
Wow, thanks. That's exactly what I needed to know.

A few questions:
Did you perform your test using a PCI SATA controller or through SATA connectors on your motherboard?

How much are you selling the Intel NIC for, and what is the model number?

This is the controller I believe I'll be using. It doesn't need to be seen in the BIOS, as I'll be booting from a USB stick. Do you see any problems? Chipset: VIA 6421 http://www.newegg.com/Product/Product.aspx?Item=N82E16816132009

Would using a USB NIC be more throughput efficient, even though transfer speeds would realistically be maxed at around 30-35MB/s (half the 480mbps transfer that USB 2.0 allows)? http://www.amazon.com/dp/B00BM7XY7Q/?tag=snbforums-20

I did some reading yesterday and found out that IDE doesnt handle RAID very well, due to the requirement of a master/slave. So I'm pretty much tied to a PCI SATA controller (which is no problemo, really).

As far as the backup to USB goes, you're exactly right. I have an external flash drive that i have some things stored on. Having it was a great relief when i mistakenly reformatted a storage drive a couple ago...

The things you learn... haha.
 
SATA drives in my tests were connected to the SATA ports on the motherboard.

The NIC is the same one I tested with. Intel PRO/1000 MT PCI. Free if you want to pay shipping. (like $5 for USPS small box) I have 2 desktop versions like the NIC I tested with and one server version that I really don't have any use for. PM me if you want it.

I did a few searches on the VIA 6421 cards and NAS4Free/FreeNAS/FreeBSD and it looks like it is possibly hit and miss. Some have issues and some don't... I think the Silicon Image based cards seem to have better support overall. Not 100% sure but I think these might be better supported in FreeBSD...
http://www.newegg.com/Product/Product.aspx?Item=N82E16815124006
http://www.newegg.com/Product/Product.aspx?Item=N82E16816124024
http://www.newegg.com/Product/Product.aspx?Item=N82E16816132013
http://www.newegg.com/Product/Product.aspx?Item=N82E16816132013
http://www.newegg.com/Product/Product.aspx?Item=N82E16816124028

USB NIC... Interesting idea and it could possibly give 30 MB/sec or so. One thing that comes to mind is that it would first have to be supported in NAS4Free/FreeBSD for it to work. Overall my opinion would be it probably is more trouble than it is worth versus getting a Intel PRO/1000 NIC for cheap off ebay.

00Roush
 
I ran Nas4free on the computer last night, using the on board NIC and a single 120GB IDE drive I had laying around. It booted from a USB drive without any issues. (once i formatted it to FAT32)

I was able to enable CIFS/SMB, set up and map few share drives, no problem. I haven't tested throughput speeds yet, but it looks like this will do exactly what I was hoping.

Thanks for the SATA controller links. I'll pick up one of those instead. And I'm sure you've noticed the PM I sent by now.

You're a great resource, thanks again.
 
I have an elderly Dell Dimension B110 desktop and would like to turn it into a media storage/backup machine. [...]
Are there any things that I should be aware of as far as hardware/software compatibility goes?
I expect NAS4Free will know about all of your hardware.

One "gotcha" with using NAS4Free (or any other ZFS system) is that ZFS wants a lot of memory or it will get unhappy. For plain old RAIDZ1, you want around 4GB of RAM + 1GB per terabyte of disk as a bare minimum. If you enable dedupe, requirements can balloon to 8GB + 2GB per terabyte or more. At least on FreeBSD (which the free NAS distributions are based on), you don't have to use ZFS. If you have 2TB storage or less, you might be better served with regular UFS[2], unless you need some feature that only ZFS provides.

I'd suggest trying that and seeing what sort of limits you run into - do you need more storage, better network speed, or something else?

Then you can decide where you should go - it might be easier to buy a whole system that has more of the things you want. Right now, there's a Dell PowerEdge R300 on eBay for $59.99 (291036661625, not my listing, never dealt with the seller, etc.). It is complete except for disk drives and sleds. Those systems have dual GigE on the motherboard, often have hardware RAID, and can be expanded to at least 16GB RAM, much faster CPUs, etc. The only thing that might be a problem is the 2-drive limit in the chassis. But you can always use some other chassis as an expander. A R200 would be similar, but even less expensive (there's one on eBay now for $29.00 - 350945377285). The things that make the R300 "better" than the R200 probably don't matter to you - the R200 has non-hotswap drives, a dumb front panel, etc.
 
I respectfully disagree about the memory requirements for ZFS. For home use where there is not that much random IO the memory requirements are not that high. For higher loaded setups I would agree that more RAM is needed but for most home setups I would disagree on the memory requirements. ZFS can scale up or down.

For example the P4 test system I used above only has 2GB RAM but it did okay with a 2 disk ZFS mirror. More RAM could help a bit with performance but it is not required for ZFS to function. Since I had the computer setup I decided to do a little more testing so I added another 1TB drive to the P4 system and created a 3 drive RAIDZ1 pool. Transfered a few files ranging from 4GB to 30GB and read/write speeds were about the same as ZFS mirror I tested above. As another test I transferred about 3000 photos (~7.5GB) to the RAIDZ1 pool and speeds were right about 30 MB/sec. Not the fastest ZFS setup but not too bad for old hardware.

00Roush
 
I respectfully disagree about the memory requirements for ZFS. For home use where there is not that much random IO the memory requirements are not that high. For higher loaded setups I would agree that more RAM is needed but for most home setups I would disagree on the memory requirements. ZFS can scale up or down.
In many cases, you can get by with less RAM than I listed for normal operation. However, under some conditions you can have lots of problems. One case is where you're doing a resilver on the ZFS pool. Another is when you have unsually high (for your environment) access rates. This comes up fairly often on the FreeBSD forums/mailing lists, normally when someone is trying to run ZFS on a 32-bit CPU (which is limited to 4GB max). You don't want to discover this (normally via a panic or hang) when you're trying to recover your data.
 
Very good points about higher loads and resilvering. Wonder what will happen to this little test box I have if I hammer on it for a day or two... then pull a drive and do a resilver?

My understanding is that most of the previous kernel panic issues were related to memory not being allocated correctly. To my knowledge this should be less of an issue with later versions of FreeBSD but still could come up. To help with allocating memory there is the ZFS Kernel Tune extension available for NAS4Free that specifically sets the amount of memory for kernel and ZFS ARC.

00Roush
 
I installed the NIC last night and transfered about 75GB worth of music files. It ran a constant 8.5MB/s, and took just over a couple hours. That was with the single IDE drive. I'm interested to see how video files play, I may get to that this weekend.

Knowing my bottlenecks, I'm going to upgrade as necessary. I've already got a spare mobo with onboard SATA1 and a faster processor.

Thanks for all the help guys, this is a really cool operating system and I'm blown away by how effective it is (even on really slow hardware like this).
 
I installed the NIC last night and transfered about 75GB worth of music files. It ran a constant 8.5MB/s, and took just over a couple hours. That was with the single IDE drive. I'm interested to see how video files play, I may get to that this weekend.

Knowing my bottlenecks, I'm going to upgrade as necessary. I've already got a spare mobo with onboard SATA1 and a faster processor.

Thanks for all the help guys, this is a really cool operating system and I'm blown away by how effective it is (even on really slow hardware like this).

8.5MB/s ... sounds like 100BT LAN was the constraint.
 
Now that you point that out...

The NAS was connected to a WGR614 access point, that was connected to a zyxel powerline PLA4225 adapter, that was connected to the other PC. That may be what slowed it down (assuming it wasn't the IDE hdd). Looking back, I have no idea why I connected them this way, as I have extra ports open on the powerline adapter.

I have a gigabit switch, I'll use that to connect the two PCs the next time i transfer files or test transfer rates.
 
Glad to hear you got the gigabit NIC. I think a gigabit switch will probably give you a bit higher speeds. To help with performance you can also change SAMBA settings... disable store DOS attributes, Send/Receive Buffer Size set to 0, and disable AIO. If you are using ZFS you can also install ZFS kernel tune extension.

I was actually a bit surprised with NAS4Free on the P4 box I tested with. Even when I had two computers transferring files and CPU load was near 100% the web interface remained pretty responsive. Also was surprised ZFS RAIDZ1 worked as well as it did.

Let us know how it goes.

Cheers,
00Roush
 
Now that you point that out...

The NAS was connected to a WGR614 access point, that was connected to a zyxel powerline PLA4225 adapter, that was connected to the other PC. That may be what slowed it down (assuming it wasn't the IDE hdd). Looking back, I have no idea why I connected them this way, as I have extra ports open on the powerline adapter.

I have a gigabit switch, I'll use that to connect the two PCs the next time i transfer files or test transfer rates.
yeah, the power line IP adapters are limited to about 70Mbps w/ideal conditions.
NAS on full gigE should get 30-60MBps, or more. With GB file sizes, speed would be depending on SMB overhead, not gigE speeds.
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top