Sign in with
Sign up | Sign in
Your question

Wanting to build a NAS/Server

Tags:
  • NAS / RAID
  • Build
  • Servers
  • Storage
Last response: in Storage
Share
Anonymous
a b G Storage
May 27, 2009 5:44:13 PM

Heya,

Wondering if any of you kind people would mind helping me decide on a few things about a home server/NAS type PC i am wanting.

After reading through a few threads on the forums i have completely gone off the idea of a 'ready-built' type NAS thing you purchase from the shops, due to the very limited options available.

I was wondering what spec of build would be very good to do the following, and what OS would be best to run it on?;


Be able to attach a fairly large amount of storage and allow for later expansion. (1TB+)

Use the least amount of power possible, as having it running constantly would rack up a rather large bill. :na: 

Be an overall good server, which will allow me to;
Store files that can be accessed from multiple PC's and Devices.
Stream media from it to other Computers, especially movies.
Also have the ability so i can attach a printer for other Windows based PC's to print from.

An optional factor of;

Allow some sort of traffic shaping program to be run on it, so that i can use this as a 'router' type device, and so i can fairly distribute the connection to people within the house. Similar to what Tomato or DD-WRT firmware routers can do. But this isn't a must just an extra, which would be useful.


I was looking at the intel atom based motherboards, due to their low power consumption and small form factor, would soemthing like this be suitable for the build, or is it not powerful enough?

Also just a thought but would be possible to run the OS off flash memory, due to the low heat produced, and low power consumption. Or wouldn't it be able to cope with the repeated access, and would die after a few days?


Be great if anyone can help.

Regards

Craig

P.S. Wasn't sure if this was the correct place to post this btw, but seemed like the most suitable category.

More about : wanting build nas server

a c 127 G Storage
May 28, 2009 5:04:25 PM

If you want access to advanced technologies like the ZFS filesystem, or excellent software RAID 0/1/3/4/5/6 drivers, you should look at projects like FreeNAS and FreeBSD. Getting pf firewall to work also means you can do traffic shaping and perform NAT. It would also allow your system to be setup with a minimal of write cycles, which are the only thing flash storage have a limited cycle count for. Reading can be done as much as you want. So its the writes you need to concentrate on, should you choose cheap flash storage. If you pick a good SSD with controller+DRAM chip, you can disregard this problem since these often employ wear-leveling which fixes this issue. But those are more expensive than cheap flash units.

Windows would allow some software RAID0 and RAID1 configurations and allow usage of onboard RAID drivers, which sometimes enable RAID5. But these are bad implementations and if you go windows you should limit yourself to RAID0 and RAID1, or combinations of those. Windows is also not the ideal platform for running RAIDs, as for example FreeBSD has a much cleaner design when it comes to I/O. Hardware RAID is another option, but that would add significant cost which is equal to one home-built NAS server.

Also, using ZFS would add additional reliability, and allow you to gain more knowledge, control and authority over your files. You should look at the Wikipedia page of ZFS if you're interested.

As for the hardware, don't go Intel Atom. Intel dumps its old and power consuming chipsets that way, and they don't have any PCI-express slot so you can forget any expansion if you want performance as well. Instead, go for a cheap AMD Micro-ATX board employing a AMD 740G chipset and having 6 onboard SATA slots, as well as two PCI-express slots. Since it has integrated graphics, you only need to add a Case with power supply, cpu and heatsink, memory and storage. The CPU should be at least a dualcore, like the AMD X2 3800+ SFF 35W series, or the newer 45nm offerings. The former costs about 40 euro. Another reason not to pick the Atom is because it cannot do 64-bit, things like ZFS won't work flawlessly on that CPU.

In total, these systems can be built for as low as 150 euro, which is less than a commercial product would be but still offers you superior performance and features. But it would require you to invest time in learning something new. If you like that challenge than my blessings are with you, but don't expect everything to work or be ready in a short time. The rewards are more insight into the technology benefits and features, as well as a higher standard for storing your files. It also is a powerful platform to run additional services on, like NAT routing, perhaps a webserver, and so on. Because the hardware i suggested has a very low idle power consumption, you won't have much to complain here too (30-45W without disks on a good PSU).

If you have any questions feel free to ask. Personally i have some experience with setting up storage systems employing Linux or FreeBSD operating systems, i would be happy if i could help you in some way.
Anonymous
a b G Storage
May 28, 2009 7:53:11 PM

sub mesa said:
If you want access to advanced technologies like the ZFS filesystem, or excellent software RAID 0/1/3/4/5/6 drivers, you should look at projects like FreeNAS and FreeBSD. Getting pf firewall to work also means you can do traffic shaping and perform NAT. It would also allow your system to be setup with a minimal of write cycles, which are the only thing flash storage have a limited cycle count for. Reading can be done as much as you want. So its the writes you need to concentrate on, should you choose cheap flash storage. If you pick a good SSD with controller+DRAM chip, you can disregard this problem since these often employ wear-leveling which fixes this issue. But those are more expensive than cheap flash units.

Windows would allow some software RAID0 and RAID1 configurations and allow usage of onboard RAID drivers, which sometimes enable RAID5. But these are bad implementations and if you go windows you should limit yourself to RAID0 and RAID1, or combinations of those. Windows is also not the ideal platform for running RAIDs, as for example FreeBSD has a much cleaner design when it comes to I/O. Hardware RAID is another option, but that would add significant cost which is equal to one home-built NAS server.

Also, using ZFS would add additional reliability, and allow you to gain more knowledge, control and authority over your files. You should look at the Wikipedia page of ZFS if you're interested.

As for the hardware, don't go Intel Atom. Intel dumps its old and power consuming chipsets that way, and they don't have any PCI-express slot so you can forget any expansion if you want performance as well. Instead, go for a cheap AMD Micro-ATX board employing a AMD 740G chipset and having 6 onboard SATA slots, as well as two PCI-express slots. Since it has integrated graphics, you only need to add a Case with power supply, cpu and heatsink, memory and storage. The CPU should be at least a dualcore, like the AMD X2 3800+ SFF 35W series, or the newer 45nm offerings. The former costs about 40 euro. Another reason not to pick the Atom is because it cannot do 64-bit, things like ZFS won't work flawlessly on that CPU.

In total, these systems can be built for as low as 150 euro, which is less than a commercial product would be but still offers you superior performance and features. But it would require you to invest time in learning something new. If you like that challenge than my blessings are with you, but don't expect everything to work or be ready in a short time. The rewards are more insight into the technology benefits and features, as well as a higher standard for storing your files. It also is a powerful platform to run additional services on, like NAT routing, perhaps a webserver, and so on. Because the hardware i suggested has a very low idle power consumption, you won't have much to complain here too (30-45W without disks on a good PSU).

If you have any questions feel free to ask. Personally i have some experience with setting up storage systems employing Linux or FreeBSD operating systems, i would be happy if i could help you in some way.


What can i say. Wow :o  Thanks alot for the detailed post.

I would be happy to have a pc which would idle at around 40W without the HDD's. To be honest that'd be perfect. Wouldn't go for anything which would be over 50W's idle though, as power is a really important factor i want to take into account.

I'll have a look into this ZFS filesystem and those OS's you mentioned. I'll also look at packet filter firewall. But it all looks :pt1cable:  complicated lol. But i have the patience to be honest, as long as i get a well functioning server in the end :)  .

As far as hardware is concerned thanks for the tip, the atom did look good in my view but if you say i can get a motherboard which is that expandable and runs at 40W...why not :) 

Would you mind pointing me towards a 45nm X2, cant seem to find any anywhere, unless the sites have labelled them incorrectly :??:  . However haven't been looking for long :D  .

But anyway ill have a more detailed look into it and get back to you, but thank again for answering!

Regards

Craig



Related resources
Anonymous
a b G Storage
May 28, 2009 8:10:36 PM

One other quick thing, if i later wanted to add some additional windows based programs such as utorrent, and maybe something like media portal tv server on it. Would be easily done by using the program through wine?

Also having a bit of a longer look round the net i've seen that AMD are meant to be releasing a new low power consuming PSU to compete with the atom, codenamed
Conesus think it would be worth waiting around to see how this cpu turns out=)?

Thanks again,

Craig
a c 127 G Storage
May 29, 2009 1:43:30 AM

You should first focus on which operating system you will be using for the server, for all choices some things are simple and should not pose any problem:

  • a torrent peer-to-peer program
  • NAT routing (pf on freebsd is really easy, its just one config file and you can use many examples on the net, the only thing you need to change are the names of your network adapters)
  • Samba (windows filesharing)
  • webserver (etc)

    Some things are harder though. For having a GUI on FreeBSD it means installing alot of packages and changing some settings so the system boots automatically into graphical mode, those things are not done by default since FreeBSD is primarily aimed at being a server operating systems, though it should run your desktop just fine.

    My personal experience is that Ubuntu Linux resolves many issues i had with FreeBSD, such as good working Flash support with Firefox on a 64-bit system. Ubuntu is a distribution of linux which aims to be a very user-friendly operating system. However, FreeBSD offers features that Linux cannot, such as a fast in-kernel ZFS implementation, whereas Linux can only run ZFS outside the kernel, due to licensing issues. So its going to be a tradeoff:


    Windows
    + known environment, user friendly
    + can run your windows-only applications without issues
    - no access to advanced storage technologies

    Linux
    + great desktop experience
    + some access to advanced technologies related to storage
    + good samba performance
    + good hardware support
    - less familiarity, GUI is standard but command-line interface will have to be used
    - licensing issues prohibit use of kernel-level ZFS
    - raid-subsystem to be of lesser quality than offered by BSD

    FreeBSD
    + excellent software RAID-drivers and storage add-on modules via the GEOM storage framework
    + access to hot technology like a true kernel implementation of ZFS, being on par with what is being offered on OpenSolaris
    + excellent SMP (multiprocessor) performance
    - less good hardware support, especially for exotic hardware or hardware from very proprietary vendors
    - newest version of ZFS requires you to use FreeBSD version 8.0, which is not labeled stable yet (though should work fine)
    - command line interface driven, GUI is optional and may not give the same experience as offered by linux
    - operating system assumes knowledgeable user

    FreeNAS:
    + easy to setup via web-interface
    + relatively little technical knowledge is required to setup a decent storage system
    + allows some advanced technology, although ZFS support is not in the main branch yet
    - adding more services is unsupported, so its pretty much a storage-only solution
    - hardware support may be lacking, just like FreeBSD


    Personally, i would not off-load too many services to your storage server. The more things you add the more things that can go wrong, is my experience. Usage of wine may also introduce problems as not all applications work flawlessly in Wine. Wine on FreeBSD may also have bugs that do not exist on Windows, and graphics drivers under FreeBSD may also be problematic. So if you can, avoid needing a GUI.

    So without GUI, how does that work, you do everything on a DOS-like text screen? Well, you don't have to ofcourse. After you installed the system and made it connect to the network, you should be able to do all configuration from your windows system via a terminal application like PuTTY. This makes it easy to copy/paste stuff for diagnosing problems or setting things up. If you like, i can also offer my services to help you configure your server via SSH terminal, but i think you should first think about your setup and which direction you will choose.

    About the CPUs, its not really the TDP you are looking for, its the idle power consumption which is important. Luckily, AMD has some success with its 45nm technology and its idle load of the current triplecore and quadcore 45nm chips are very low. This is often obscured by tests which include the whole system, instead of just testing CPUs so you are comparing the CPU only, not the motherboard plus other memory, etc. So a 125W TDP chip may consume less power than a 65W chip in your case.

    CPUs that have low idle power consumption are Intel 45nm chips, such as E8400 etc, and AMD 45nm offerings, plus some older chips that have very low idle load. The new dualcores based on 45nm are not for sale yet, but i think there are enough CPUs that are low idle power. Nowadays you can combine high-performance with low power consumption because of energy saving technology working better every generation, and the 45nm process also has its benefits. I think you should go for a 'normal' dualcore+ CPU, preferably AMD because their chipsets are low power consumption as well. Intel chipsets often consume much more power.

    The real problem is that motherboards are investing on their power components, which negates the very low idle power consumption of modern CPUs. In other words, they will not allow very low power consumption for low-power CPUs. Those are often designated as having "8-phase" power supply, or something like that. 3-phase PWM should be the most efficient ans sensible for a low-power chip. Fortunately, many cheap Micro-ATX with Socket AM2+ are for sale now, and it would make an ideal server because they combine PCI-express with 6 SATA ports, allow usage of cheaper DDR2 memory and has the right socket for a powerful yet low-power system. The only real barrier left is the power supply. I don't think my recommended brands are available in your country, but you may want to focus on a power supply that is very efficient on the low-power range of 40-60W. Many 800W+ power supplies, even those with 80-plus label, are very inefficient at low idle values of 40-60W. Do spend your money on a good power supply if you want a stable and reliable system, but don't pick a high quality power supply that is very inefficient for low-idle systems either!

    About AMD's 45nm plans this may be a nice resource: http://www.theinquirer.net/inquirer/news/1137458/45nm-p...

    Ok i'll stop now before i reach the maximum post length, lol.
    Anonymous
    a b G Storage
    May 29, 2009 12:58:40 PM

    Well thanks again for the indepth response, again :) 

    As far as the OS is concerned i'd want to stay away from the rather limited option of FreeNAS.

    I would snatch up FreeBSD anyday if it could support as much hardware as Windows/linux. As im not overly fussed about having to using the command line interface, as it'd be interesting to learn it.

    After a bit of looking on the net, i couldn't find a page, which displayed cold hard facts about how the ZFS filesystem is advantageous over lets say NTFS. There is the obvious option of that it can store HUGE amounts of data, but i doubt ill ever have that much storage space. :na:  But there are probly other incredibly good reasons, which you'll probably tell me :) 

    At the moment its a toss up between windows and freeBSD.

    FreeBSD - Because of the challenge, and the very high tech advantages in the end.

    Windows - Easy to set up, nice GUI interface, can use all my current services and finally supports practically all hardware.

    I'll have a bit more of a think about both of them, but im leaning towards FreeBSD at the moment.

    Hardware: What would you suggest about the following?

    Including the chipset you mentioned, here are a few motherboards;

    Either this;

    Gigabyte-GA-MA74GM-S2H

    or This

    Sapphire PE-AM2RS740G

    When it comes to CPU's i was thinking along the lines of;

    Either:

    AMD Athlon X2 5050e

    Or something less powerful;

    AMD Athlon X2 4850e

    Or

    Wait for the processors which are coming out later this year. But then again i'd still have the problematic issue of having to get an AM3 board with a power hungry chipset on it i presume?

    As far as memory goes, i'm presuming it would be best for energy consumption to use one good ram module, instead of two with lesser capacity. So i was thinking of something like this;

    Corsair 800Mhz

    And while we're looking at hardware, i may aswell look at a PSU and HDDs.

    Would the Western digital green power hard drive range be suitable for my server, one like this

    And for the psu, this

    I probably will find better sites to buy these products cheaper, but for a rough guide of what to go for, i think these links will be suitable for now :D  .


    Thanks

    Craig

    a c 127 G Storage
    May 29, 2009 3:45:39 PM

    You can read about ZFS over here:
    http://en.wikipedia.org/wiki/Zfs#Features

    In short, ZFS is a totally new filesystem which opens up a new generation of storage technology; ZFS is both a RAID-engine and a filesystem combined, offering many features which fundamentally change reliability and performance. In theory this is the kick-ass filesystem at the moment, but due to its license, only FreeBSD and derivatives can use the real-deal: a kernel-level implementation. Linux can only use it via some sort of "emulation" layer if i may misuse this term, due to the license it may not run in the kernel itself.

    The benefits versus NTFS are many, in essence:
    - you maintain a history of the files, so even accidental deletions, virusses which changes your .exe files or other unwanted modifications to the filesystem can be undone. Creating snapshots is really easy to keep incremental backups, or automated incremental backups, or your valuable data. This makes ZFS act as both a backup (providing a "history" of the files) and a RAID-engine, providing redundant storage to cope with disk failure.
    - drastically improved reliability and resistance against data/metadata corruption, drive failure, dirty buffers lost due to crash/power issues
    - improved performance due to dynamic striping and other key changes, can provide both RAID0 performance potential and RAID1+ data security
    - more convenient managing and control of your data, by giving you many features and management you can perform on your ZFS volume
    - maintenance-free storage because of self-healing features and no "filesystem check" anymore.

    ZFS can not directly be compared with NTFS, because they differ alot. The RAID-engine contained in ZFS means it can perform tricks only possible when both RAID and filesystem are aware of eachother and can share information to optimize data storage and performance. Its unique technology and at the moment the coolest filesystem to store your data on, IMO.

    The real downside is that it's only available in a couple of distributions, and its not 'finished and proven' technology. It is possible hidden bugs in the code still exist that - in the worst case - may corrupt or otherwise disable access to your data. For real data security, an off-site incremental backup is always required. But for home-users i think ZFS alone would provide enough reliability, as long as ZFS can use multiple disks to store copies on of its important data.

    As for the hardware:
    For the PSU, keep in mind you need 35W from each 3,5" disk to spin-up during boot time, so with many disks in your system a stronger PSU is required. Keep it as low as possible though, as these will typically be more efficient at low loads.

    The the disks, yes the WD10EADS appears to be the real thing. There are newer models too, like WD10EVDS. But their changes may be very small, the price is pretty high though, as these disks sell for 75 euro in my area. 70 pounds is alot more.

    The mobo look fine, six SATA ports and onboard gigabit ethernet. I would skip the Sapphire since it doesn't have any PCIe x1 slot, which is ideal to expand the number of SATA ports on your system to be used by ZFS.

    Memory, it would be preferable to pick dual-channel memory configuration, because ZFS can be very memory intensive. Also checkout the voltage, some modules run at or over 1.9V while others are 'regular' 1.8V modules. I recommend you pick two 1.8V modules with the lowest latency you can find, though still only slightly more expensive than the OEM models. 2x 2GB may be a good thing, as you can use the memory. 2x 1GB is also possible, but keep in mind DDR2 memory will raise in value because its production will decrease while demand is still there. The same happened to SDRAM and DDR SDRAM memory.
    Anonymous
    a b G Storage
    May 29, 2009 10:01:01 PM

    Heya again,

    After reading what you say, and on the wiki you linked i guess the main feature, is the filesystems ability to repair corrupted files on its own without user interaction. And also its ability to revert back to previous 'snapshots'. I was just wondering how it would be able to do something like this if your hard drives were 80% full? As how can it remember the data for 80% of the files when there's only 20% to store it in?

    Lets say you had 3 drives in an array;

    - if i were to add another drive, would i have to delete the whole volume and re-create it, or is it able to adapt, as such, to a new drive straight away?

    - What is the fault tolerance of a ZFS filesystem drive array? 1 drive etc. ?

    - Are the disks spun up constantly with this OS/filesystem?

    - And finally if the answer is no to the previous question, when someone accesses a file on the server, does it spin up the drives one at a time, like UnRaid? Or all together? I'm presuming the latter, due to the way the filesystem works.

    Cheers

    Craig

    a b G Storage
    May 30, 2009 1:49:30 AM

    Wow! For wanting to build a simple file server to stream media and movies, this thread has gotten more complicated that it needs to be.

    Do not discount FreeNAS. FreeNAS has an incredibly small footprint, has meager hardware requirements, is well supported, and is also very reliable. Given the minimal hardware requirements, you can build a FreeNAS based file server that idles at less than 25W, including the hard drives. With a 35W single core Celereon, a 945GC based mobo, and 3-1TB (RAID5=2TB storage) WC Green Caviar drives, the max wattage under full load for the entire system will be no more than 95W.

    Seriously, for what you want, check out FreeNAS and spec out a machine that is double what FreeNAS requires, and you will have an extremely reliable and stable NAS/file server. Also with FreeNAS, I do not recommend using software RAID, spend the money on a quality dedicated hardware RAID controller, preferably 3Ware or Areca. You can usually find good deals on used 3Ware 9500S 8-port SATA controllers on eBay; and yes, a 64bit PCI-X controller card will work just fine in a 32bit PCI slot. If the mobo has a PCIe slot and you have some extra cash, get a 9600 series 3Ware controller.

    Check out my signature in More Information and Member Configuration under my avatar for the specs of my FreeNAS build. And, just to give you an idea, my FreeNAS box only cost $350 for everything listed; I'm not afraid of eBay or used parts.

    I'm telling you, what you want is not difficult, FreeNAS kick's arse. Just remember that sometimes the best solution is also the easiest.

    a c 127 G Storage
    May 30, 2009 8:17:20 PM

    Quote:
    Heya again,

    After reading what you say, and on the wiki you linked i guess the main feature, is the filesystems ability to repair corrupted files on its own without user interaction. And also its ability to revert back to previous 'snapshots'. I was just wondering how it would be able to do something like this if your hard drives were 80% full? As how can it remember the data for 80% of the files when there's only 20% to store it in?

    Snapshots are really cool, say you have a /data volume (called a pool in ZFS terminology) you can snapshot the volume or part of it. This happens instantly and requires no duplication or copy processing, just some meta-data updates which are very low-bandwidth. So BANG you got your snapshot, now what? Now you can make changes to that volume. ZFS writes the new changes, but thanks to the Copy-On-Write model, the original data doesn't get overwritten. Instead, all file alterations or new files added or files removed, are written to a different part on the physical disks. So its always possible to revert to the original situation when creating a snapshot. Better yet, snapshots do not cost you any additional space; only changes you made after making the snapshot will cost you additional space. Maybe you should watch some youtube videos. :) 

    Quote:
    Lets say you had 3 drives in an array;

    - if i were to add another drive, would i have to delete the whole volume and re-create it, or is it able to adapt, as such, to a new drive straight away?

    No, because of the storage pool design, you can add new vdevs (virtual devices) to an existing pool. So say you start with a 2-disk RAID1 array (vdev) and a 5-disk RAID5 array (vdev), combined in one pool. You can then add a new virtual device to the pool, it can be a single disk, or a RAID-array by using ZFS' internal RAID engine. So not only can you add storage capacity to an existing filesystem, you can mix different types of RAID within one filesystem, without you ever needing to bother about it.

    At the moment, however, you cannot expand a RAID5 or RAID6 volume. But you can add a second RAID5 (or other type) to the same filesystem.

    Quote:
    - What is the fault tolerance of a ZFS filesystem drive array? 1 drive etc. ?

    RAID-Z is comparable to RAID-5 (1 sustained drive failure without loss of R/W access)
    RAID-Z2 is comparable to RAID-6 (2 sustained drive failures without loss of R/W access)

    Aside from that, ZFS has cool features that increase the reliability beyond the "RAID scope". Say you have one big filesystem with many files on it, but only your personal directory is so important you wish you could enhance its reliability even further. With ZFS you can by changing the settings for that directory only, to store two copies of each file. These copies will be stored on other disks, so this would be like a mirror, each with checksum data so that the good version can be seperated from the bad. Also, ZFS stores metadata on all disks, so this and other features safeguard against filesystem metadata corruption.

    Better yet, due to the self-healing, there is no need for an offline disk check or rebuild procedure. Due to careful checksumming, if one drive has bad data, it can be automatically fixed by either using the redundancy of RAID1/5/6, or by using additional copies of a file when you tag a directory with the copies=2 option. You can increase this number to the number of disks you have, so each disk would store a full copy of your files, in only that directory. Unfortunately this option only applies to newly written files, so any existing files in that directory will have to be re-written or copied.

    Quote:
    - Are the disks spun up constantly with this OS/filesystem?

    Yes, ZFS utilizes the parallel potential of I/O by reading/writing to as many disks as possible, which is good for performance. It does mean however, that spin-down energy saving methods are unsuccessful. The only method where this works is a concat/spanned/JBOD configuration with a traditional filesystem. Due to the JBOD, if there is light read activity it is likely only one or two drives will spin-up, not the whole array.

    Quote:
    - And finally if the answer is no to the previous question, when someone accesses a file on the server, does it spin up the drives one at a time, like UnRaid? Or all together? I'm presuming the latter, due to the way the filesystem works.

    Unknown, but it is possible to implement a staggered spin-up configuration in software. However, not as the system boots. You can cut one pin from the SATA cable to prevent it from powering on instantly, though. This is not really my area, google could be more helpful.
    a c 127 G Storage
    May 30, 2009 8:18:59 PM

    chunkymonster: he wants a multi-purpose server, not just a storage server. And FreeNAS doesn't have stable releases with ZFS support yet. And when they do, they will have version 6, not version 13 like in FreeBSD and OpenSolaris.
    !