Building an Ultra-Low-Power File Server with the Trim-Slice
For the past several years, I've used a custom-built file server at my house. I've upgraded it many times, but it began life, as near as I can recall, in April 2000. When I say "upgraded", I mean the internals have been swapped completely on at least two occasions among other things. The most-recent major upgrade was in 2006 (or thereabouts) when I added a software RAID5 with three 500GB hard drives (later expanded to six). It has chugged along merrily for years, but lately it has begun showing its age. For starters, two terabytes of space isn't all that much anymore. Also, it's not as efficient power-wise as I would like (in my measurements, it draws between 1.8 and 2.0 amps continuously, depending on load). Finally, the case for this server takes up way too much space (it's a full tower).
As an experiment, and finally to get rid of that large, inefficient and ugly tower case, I decided to use the new Trim-Slice as the base for an ultra-low-power, ultra-small replacement file server. The Trim-Slice is built on the NVIDIA Tegra 2 platform, and the specific model I purchased features a 1GHz dual-core ARM Cortex A9 processor, 1GB of RAM and a 32GB SATA SSD. Did I mention that it's really small? You know, teeny—like, I-can't-believe-this-is-a-full-computer small. The dimensions are 130mm x 95mm x 15mm. For comparison purposes, a standard 3.5" hard drive has dimensions of approximately 146mm x 102mm x 25mm.
Figure 1. The Trim-Slice and Everything That Comes in the Box
Figure 2. Size Comparison: the Trim-Slice Next to a Nokia N900 and the Ben NanoNote
On the outside, it has an RS232 serial port, SD and microSD card slots (both SDHC-compatible), four USB ports, HDMI and DVI-D video out ports, 802.11n and a Gigabit Ethernet port. Inside, it comes with Ubuntu pre-installed on the SSD (10.10 "Maverick" was installed on the one I received, but there is now an update to 11.04 "Natty", which I applied and which I expect is now shipping on newly ordered units).
The full Ubuntu Linux inside is what set this solution above alternatives like the Drobo FS, ReadyNAS and others, at least in my mind. The price is in the same ballpark too. The model I ordered, complete with shipping from Israel, came to $335.
The main downside for my purposes is that there is no place to connect internal hard drives. I have to make do with external USB drives instead. I don't like the thought of running a software RAID over USB, so I further decided simply to use multiple large external USB drives (each with at least one corresponding backup drive).
To start with, my goal was to replace the old tower server, which just requires the Trim-Slice and two 2TB external USB hard drives. Yes, a single hard drive, especially a USB drive, is not as reliable or nearly as fast as a RAID5 array, but it's a compromise I'm willing to make for the power, space and noise savings. USB is plenty fast for my needs, and besides, with two drives, I have a backup.
Anatomy of a File Server
The purpose of a file server is to serve files over a network. There are many ways to do this, but I focus on the most common ones here.
First, there is classic "file server" software: NFS and Samba. These systems don't care what your data is. All they see are files, and no file is any different from the next (apart from size and permissions).
The new kids are content-aware file servers like UPnP and DAAP. This type of file server software does care about content types, and it serves up metadata about your files along with the files themselves. It will refuse to serve files it doesn't recognize or support. But, it can do some tricks that NFS and Samba can't, like alter data on the fly for clients who can't read the original data. So, they're more fussy than classic file server software, both to set up and run, but they do have advantages.
UPnP and DAAP are designed specifically for serving audio, video and image files. DAAP is built-in, or available as a plugin, for many popular audio jukebox apps, such as Rythmbox, Amarok and Banshee, but there also are standalone server applications available. UPnP Media Server support is built in to various consumer devices, such as the PlayStation 3, Xbox 360 and various handheld and set-top media players.
- A Switch for Your Pi
- Papa's Got a Brand New NAS
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Returning Values from Bash Functions
- Tech Tip: Really Simple HTTP Server with Python
- Simplenote, Simply Awesome!
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- Debugging Democracy
- NethServer: Linux without All That Linux Stuff