NAS: Ubuntu Server on Intel ATOM

This entry was posted by on Saturday, 12 February, 2011 at

Time to attach some storage to your home network! I used to have a web / samba server for over five years running Slackware at first but Ubuntu since version 4.04. Given the noise and energy consumption I got rid of the large server system and decided to go for a more energy-efficient solution: a NAS.

Now, there are many COTS (Commercial Off-The Shelve) solutions out there. They all sport basics as network connectivity and storage, though many come with minimalistic platforms with a Dorito CPU and crappy raid, and very limited software. And since I like options I figured I’d stick to Ubuntu Server for a NAS option, and build the system myself.

Hardware

  • Intel Atom D510MO – a mini-ITX board with integrated dual-core Atom, audio, VGA, 2 DIMM slots, 1 PCI and 2 SATA – EUR 88
  • 2GB Kingston ValueRAM – ~EUR 30
  • 16GB Kingston SSD (SATA) – ~EUR 40
  • 2TB Western Digital “green” SATA harddrive – EUR 72
  • Mini-ITX NAS case from MyElectronics – EUR 129
  • SiliconImage 4-channel SATA raid controller from DealExtreme – ~EUR 14

updateI recently added another harddrive.

Total ran around EUR 373 (give or take a few Euros). Try find a COTS NAS for that money with these specs… Many will not even have a disk in them as you will still have to buy one. And now I built a fast, silent and energy efficient system (the SSD is fast, the magnetic disk can spin down when not used, and oh, did I mention that I can add four more disks if needed?).

Mainboard

The D510MO is a nice mainboard. It has Intel’s most powerful Atom processor (at time of building), but it is fanless and does not have all the multi-media mumbo-jumbo you only need if you build either a multi-media pc or an HTPC system (see here how to do that).

The reason why I choose this board is because of the tradeoff between simplicity and performance and I have some good experiences with this board in other contexts (building vehicular computing platforms, to be more precise). The Intel ATOM is powerful enough to support fast SSH connections, whereas lesser CPUs would not be able to run the encryption in real-time, greatly slowing down performance causing you to wait for ever.

Case

There’s a vast host of cases out there. You can use your old PC case, no problem. As for me, it had to be compact, silent and energy efficient. That’s why I got the one listed above, and it’s also available in one size larger (i.e. four in stead of two hot-swap bays). Why is a hot-swap bay handy, even in a home NAS? I intended to stack this machine well out of sight, and adding a drive is just a matter of sliding it in as opposed to opening up the entire case.

This case can hold 2 hot-swap 3.5″ drives, an internal 3.5″ and an optical drive. It has a 220W powersupply and one PCI slot, making a nice combo with the Atom board. The fan on the front is very silent, as is the one in the PSU. The front fan also has a dust filter, which is great if you plan to build, and then forget a system.

The two 40mm turbines over the mainboard can roach up quite a racket, but also make for a lot of moving air. I disabled them, as the system hardly runs hot and breathes enough with the other two fans.

Drives

Why an SSD and a HDD? The explanation is quite simple: I want to run the system from the SSD, making use of all nice benefits such as reliability, low power consumption and high performance. Then the larger files (e.g. shared music, backups etc.) are stored on a large-capacity HDD which is much cheaper per GB. When not in use, the HDD is powered down to reduce wear, energy consumption, noise and heat.

Why didn’t I completely load the system with drives? Well, at this moment 2TB drives have the best GB-per-money ratio. Of course this will change over time, and I guess within a year 4TB drives will be most interesting. With three spare bays and no present need for more than 2TB, I leave open the option to expand later when the need (and the money!) are there.

Installation

Ubuntu Server is installed on the SSD (motivations here are speed, dependability and low power consumption as mentioned before) and the files are stored on magnetic disk. During idle times, the drive can be powered down saving power and wear. As of version 11.4 (Natty Narwhal) Ubuntu Server is reported to be even more energy efficient. Given that it is a NAS in a home environment, you can expect long periods of idle time so sleep schedules pay off.

Several extra packages were installed:

  • MySQL
  • Apache
  • OpenSSH – need this for administration, and all the file transfers over the internet (scp). We don’t like deep-packet inspection, now do we?
  • CurlFtpFs – read here why.
  • backup2l – read my howto
  • samba – howto for user / password shares and a howto for public / open shares. The idea is we want to provide read-only shares to guests, and also an upload folder with read/write permissions.
  • NFS – howto. The idea is we want to auto-mount via NFS with read/write permissions on our fixed computers. From this howto, I only used the NFSv4 client/server directions.
  • Time-machine for Apple computers – howto because I have a fruity laptop.

In the BIOS, you may want to enable ‘reboot after powerloss’, especially if you plan to place the NAS out of sight (like I did, right above the ceiling in the toilet to be exact). That way, if you ever have a power outage, your system will be up and running as soon as power is back on.

update: I now have the system attached to a UPS; it was able to keep my 160W desktop running for over half an hour, so I suppose the NAS should be able to go on for quite a while. Linux has features to auto-shutdown after it receives signals from the UPS when it is almost out of juice – though I haven’t tried this.

Powerconsumption Tweaks

The Linux Kernel is quite energy efficient, and it has a whole bunch of options you can tweak. Have a look at the LessWatts project’s site for more info on this topic. As of Ubuntu Server 11.04 the stock kernel has become more energy-efficient – saving several Watts as I measured, reducing total consumption of this system to around 25 Watts.

Other tweaks:

Accessing across the Internet
You may want to turn on port-forwarding on you gateway or NAT-router, that way you can access your NAS across the Internet in a secure fashion. Some people run their own webserver, but to be honest the only application I trust to be accessible from the outside is SSH. I did get a whole bunch of port scans and login attempts (you know, the usual dictionary attacks with ‘admin’ passwords etc) so decided to forward a different port on my NAT to the NAS, leaving the SSH port unresponsive.

If you want to do GUI-based file transfers on Apple’s OSX, you may want to try Fugu – it’s basically a graphical front-end to SFTP and SCP. So there’s no need to run (security-hazardous) FTP servers.

Conclusions

The system is in use for about half a year now, running stable, silent and cool. I made a mounting bracket above the ceiling so it can be mounted out-of-sight, doing administration through SSH.

References

Build your own Atom-based NAS – Part 1 article at smallnetbuilder.com, also have a look at Part 2

8 Responses to “NAS: Ubuntu Server on Intel ATOM”

  1. Thanks for the support! The Linux kernel has some features which are not turned on by default in the stock kernel in Ubuntu. PowerTop comes up with some tricks which require to compile your kernel with some extra flags. May be worth a try…

  2. sulliwane

    Great posts with great ideas !
    Install the OS on SSD is a really good idea, and your hardware specs are good for that price. I didn’t know the bios featured an option to reboot after powerloss….add the powerless consumption of your solution, it’s for sure a great NAS experience ! keep things on (it give me ideas to improve my own Ubuntu home server)

  3. sux2bu101

    Hey this is a great read. I just purchased a Acer easyStore H340. I replaced the OS (WHS) to Ubuntu Server 11.04. Currently it uses 40 watts with (3) 1.5 TB drives in a RAID 5 configuration spinning constantly and running the OS from a 16 GB USB drive. I will be looking to power down the RIAD 5 next.

  4. Hey, da’s ‘n prima plan. Is een TODO voor een update 🙂

  5. JakeOfOz

    Nice! Kun je de prijzen nog bij de onderdelen vinden?

Trackbacks/Pingbacks

  1. Saving power by disabling sound chip on Linux @ Freeminded.org
  2. Building a HTPC with Intel Atom and NVIDIA ION @ Freeminded.org
  3. Upgrading Ubuntu Server to 11.04 using SSH @ Freeminded.org

Leave a Reply