Sunday, March 28, 2010

New server : MicroClient Jr DX

I've got my new server up and running. It took me some time and effort to get it working, but now it's ready to replace my current server.

Norhtec MicroClient  Jr DX

First some specs :

  • Norhtec MicroClient  Jr DX
  • CPU : Vortex86DX Soc (System on Chip)
  • OS : Debian server 5.0.4 (Lenny)
  • Kernel : 2.6.33.1
  • Memory : 512 MB
  • Storage :
    • Compact Flash (CF) 8 GB (root, system files)
    • 2,5" HD 160 GB (swap and data files)
    • USB HD 320 GB (backup)
  • 100 Mbit LAN
And running services :
  • Fileserver : Samba (3.2.5)
  • Webserver : Apache (2.2.9) + PHP (5.2.6)
  • Database : MySQL (5.0.51)
  • Mailserver : Postfix (2.5.5)
  • DNS : Bind 9
  • DHCP 3
  • NTP
 
And now a small summary of the hurdles and how I overcame them to get it all working :
I got this new 'toy' a few months ago, in december 2009.
It doesn't have a cd-rom drive (the housing of the server is too small to hold one), so I decided to try PXE to install the OS. I added a PXE service to my network and soon was able to boot a Debian netinstall.
But the installer didn't recognise the hardware (CPU, network, harddrive). It turned out the default kernel didn't support it, so I had to use a custom one.
I followed this manual on how to get it and finally install the custom kernel. The only thing I did different is using a PXE-boot instead of the USB pendrive.

Small success here, but the hard drive controller still didn't work, so I was only able to install Debian on an USB harddrive. It worked, but I wanted to use the internal harddrive and CF-card.
Tinkering a bit with the BIOS settings didn't help much either. I found several possible settings on different websites. In the end, these settings worked for me :
  • PCI IDE Bus Master : Enable (HD doesn't work when Disabled)
  • Onboard IDE operate mode : Legacy (could be set to Native as well, but this has the best performance so far)
Then I stumbled upon the book Linux Kernel in a Nutshell written by Greg Kroah-Hartman. In Chapter 7  (p. 52-56) he describes how you can find a kernel module for hardware you are using. I found that module ata/pata_rdc.c was the one I needed to get the IDE-controller (RDC Semiconductor, Inc. Device 1011 (rev 01)) working.

It was introduced in kernel 2.6.32.* and is still experimental. I get a lot of warnings when booting or accessing the CF or HD, and it only runs at UDMA/33, which is much slower than the possible UDMA/100. But I hope the driver will get better in future kernel releases.
So, after building a custom kernel with all necessary modules included, I was able to boot and install Debian on the CF card, with the internal hard drive containing data.

After installing and configuring all services, copying data from my old server, and setting up the backup scripts, the new server is ready to replace the current one.
After more than 6 years of loyal service and an uptime of (currently) 90 days, it will retire, or at least, it will be used less frequently.

To summarize : the new server isn't more performant than the previous one, and it doesn't have that much more memory or storage, but : It's much smaller, less power consuming and less noisy. It think it might even pass the wife test. ;)

1 comment:

Peter Dedecker said...

Interesting device!

I have an Alix system board, which is also very interesting due to its no-noise and low-power design. I (plan to) use it as server (WoL, netboot, DHCP, VPN,...) and as media center. See also this old post. And most important: it also passed the wife-test :-)

Good luck with your device!