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 sporting a Dorito CPU and crappy raid, and very limited software. And since I like options I figured I’d stick to Ubuntu 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

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. 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.

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). 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 two 40mm turbines over the mainboard can roach up quite a racket, but also make of a lot of moving air. I disabled them, as the system hardly runs hot.

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.

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.

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. 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 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 to around 25 Watts.

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 is SSH. 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

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

  1. JakeOfOz

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

  2. Hey, da’s ‘n prima plan. Is een TODO voor een update :)

  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. 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)

  5. 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…

Trackbacks/Pingbacks

  1. Upgrading Ubuntu Server to 11.04 using SSH @ Freeminded.org
  2. Building a HTPC with Intel Atom and NVIDIA ION @ Freeminded.org

Leave a Reply