My home server is an old EEE 701 netbook with a 2TB WD elements attached. My selection process was mostly guided by three factors: I wanted a small and silent system with low power consumption.
I was considering many alternatives, among them a PC Engines Alix machine (500MHz Geode + 256MB RAM) with only 3-5 watts of power consumption, but eventually I decided on a 7″ EEE, for the following reasons:
- integrated UPS (laptop battery with >2hrs of life; saved me more than once)
- integrated monitor and keyboard (priceless when things get dirty)
- expandable RAM (I installed 1GB)
- low power consumption (with disabled wifi, screen and camera) at 7-9W
- slightly faster CPU than Alix (EEE is underclocked from 900 to 600MHz, which should extend battery life. I played with overclocking, but concluded it was not worth the fear of an occasional unexpected freeze)
- much lower power consumption than modern-day quad cores, but just as much CPU power as high-end PCs 10 years ago (much more is not needed for a file server anyway)
- small form factor
- cheap (can obtain a second-hand replacement for a small price, should one be needed)
- had one lying around anyway, collecting dust.
I run on it a n-lited Windows XP. I gave this a lot of thought and was deciding between XP, Ubuntu and the original Xandros. Still have two of them installed (on separate media: internal SSD and a SD card), but eventually XP won because of the following reasons:
- On-the-fly NTFS compression (reduces used storage on 4GB SSD system disk from 3.9GB to 2.8GB and my data from 1500 to 1200GB; in other words: with more than 1GB of junk installed in program files, the 4GB internal drive is still only 65% full; NTFS also supports shadow copies of open files and hard links for rsync link farm backups).
- Some windows-only services and utils I use (EyeFi server, Fitbit uploader, Total Commander, WinDirStat, etc.).
- Actually *working* remote desktop (as compared to various poor-performing VNC-based solutions).
- N-lited XP (with most of unnecessary services completely removed) has a memory footprint of <100 MB and easily clocks 6 months of uptime.
I do occasionally regret my choice, but for now familiarity and convenience still trump unrealized possibilities. But upcoming BTRFS might be just enough to tip the scale in favor of Linux.
What I run on it
- Filezilla server for remote FTP access (I use FTP-SSL only)
- Rsync server (Deltacopy) to efficiently sync stuff from remote locations
- WinSSHD to scp stuff from remote locations
- Remote desktop server for local access
- Windows/samba shares for easy local file access
- Firefly for exposing MP3 library to PC/Mac computers running iTunes (v1586 works best, later versions seem to hang randomly)
- A cloud backup service to push the most important stuff to the cloud
- EyeFi server, so photos automatically sync from camera to the server
- “Time Machine server”, which is nothing but a .sparsebundle on a network share, allowing me to backup my Mac machines (tutorial)
- Gmailbackup, which executes as a scheduled task.
Some other random considerations and notes
- Disable swap file when using SSD (especially such a small one).
- No more partitions for large drives: I just “split” the 2TB drive into dirs. The times of partitioning HDDs are long gone and such actions brought nothing but pain when a small partition was getting full and needed resizing. Think of dirs as of “dynamic pools”.
- No WiFi means no reliability issues, more bandwidth, more free spectrum for other users and more security.
- WD Elements runs 10ºC cooler than WD Mybook when laid horizontally and is also cheaper.
- Use Truecrypt containers to mount sensitive stuff. When machine is rebooted, they are unmounted and useless until the password is entered again.
- Use PKI auth instead of keyboard-interactive authentication for publicly open remote connections.
- Use firewall to allow only connections from trusted sources.
In any case, this is just a file/media/backup server and I’ve been quite satisfied with it so far (I’ve been using it for over a year). However, all my web servers are virtual, hosted elsewhere and regularly rsynced to this one.