HP N54L Microserver as a desktop PC

If you’ve read any of my previous posts you’ll know I’m a long time fan of the HP Microserver. It’s an extremely versatile little machine that can be used for many different purposes (one of mine is a FreeNAS based NAS, another is a VMware ESXi virtualisation test machine) and with the various cashback schemes that HP has offered throughout its life, it’s worked out to be a very cost effective option.

HP ProLiant N54L Microserver

Although it’s designed as a home/small office server I know many people have used them as desktop PCs. I recently built my parents a basic Windows 7 desktop PC in a day, at very short notice when the main low-power PC they used to run their newsagents died.

I had a spare N54L G7 Microserver from the last HP £100 cashback promotion so I thought I would see how effective it would be as a desktop PC for myself, with a view to it possibly acting as a cheap replacement for my 8 year old Windows XP Pro based PC which I was sure was on its last legs.

This ancient PC had an Athlon 64 X2 dual core 4400+ CPU, 3GB RAM and a single NVIDIA GeForce 7800GT video card and has served me well for all these years. It’s graphics capability has changed somewhat over its life – I used to do a fair amount of flight simming on it using Microsoft Flight Simulator 2004 and FSX… it started out with a single 7800GT card, then a second identical 7800GT was added to form an SLI pair, then both of these were replaced with a single 8800GTS card which eventually blew up and so finally I reverted back to a single 7800GT. When I looked at the benchmarks for the Athlon X2 4400+ CPU and compared these with the dual core Atom in the N54L microserver, the microserver came out more powerful! And modern GPUs are much more poweful than the 7800 so it wouldn’t be difficult to improve the overall specs on a budget.

A basic desktop PC

After installing Windows 7 64-bit to the bundled 250GB hard drive I ended up with a usable desktop PC, albeit with only the stock 2GB RAM and using the on-board VGA-out only graphics and no sound. I then installed a few of my frequently used apps and trialed it for a few weeks.

EVGA GT620 2GB DDR3 graphics card

The machine performed admirably during this initial trial so I then decided to get a dedicated PCI-E graphics card to up the graphical power and also to add sound capability…
For the graphics I decided to go with the reasonably priced EVGA NVIDIA GT620 2GB DDR3 PCE-E graphics card for £42 from Amazon. I’d read reports that the 1GB version of this board had been tested successfully in the microserver so figured that the 2GB version should be almost identical. It’s a low profile card with a large heatsink and small fan so hoped it would fit in the limited space available. When it arrived I was relieved to find that it fit with no problems and worked just fine, increasing the Windows Experience Index for the graphical elements by several notches. You can just hear the fan on-board this card so it does add to the overall noise a little, but I wouldn’t describe it as loud and it’s way quieter than the big old cards in the old PC!

For the sound I opted for a bargain basement Dynavision USB sound adapter for the princely sum of £4.99 from PC World!

I also took the opportunity to swap out the 2GB RAM for 8GB of Kingston non ECC RAM from another of my spare microservers, a move which gave Windows more room to breath.

After these relatively minor upgrades the resulting PC felt very responsive, much more so than my ailing Windows XP Pro machine.

My first SSD

Newertech Adatadrive bracket

I’ve never owned an SSD before and have wanted to give one a try for a long time, so now seemed like the perfect opportunity in an attempt to make this little PC even more responsive. I did plenty of research and decided that the Samsung 840 Pro would be the best fit for this PC. I could probably have got away with a lesser performing drive given that the microserver’s SATA ports are only SATA II 3Gb/s and not SATA III 6Gb/s but I’d read no end of good reviews of these drives so decided that was the one to go for. I deliberated over what size to get but in the end thought that 128GB would not give me much headroom and so went for the 256GB model.

In order that I could mount the SSD in one of the four available drive bays I purchased a NewerTech Adaptadrive SSD to 3.5″ mounting adapter from Ebuyer. This clever little adapter bracket screws to the SSD so that the SATA data / power connectors and drive mounting holes are in the same position as a 3.5″ drive such that it can be mounted directly in the microserver drive bay caddy. This would mean I didn’t have to use up the optical drive bay with the SSD or have to route the eSATA connector back into the case.

Migrating the existing Windows installation

Given that I’d already got a fully tested Windows 7 installation on the 250GB HDD, I used the excellent bundled Samsung Data Migration tool to do a clone of the existing installation onto the SSD. This was very straightforward and took around 20 minutes for the 85GB Windows installation. Once the cloning had completed, I shut down the microserver, removed the 250GB HDD and rebooted, setting the SSD to be the boot drive in the BIOS. On reboot, Windows started as expected and from that point onwards felt even more responsive than before.

In summary

So all things considered, this little experiment has resulted in a very usable and responsive little desktop PC and a more than suitable replacement for my old Windows XP dinosaur.

Summarising good and bad points:

Good

  • Reasonably powerful
  • Good quality construction
  • Small form factor
  • Very quiet
  • Decent spec level (RAM, graphics, SSD)
  • Storage easily expandable (3 remaining HDD bays and eSATA port on rear)

Bad

  • External USB sound
  • USB2, not USB3
  • Only 2 x USB on the rear, other 4 x USB are on the front panel
  • Limited expansion possibility (CPU, graphics, RAM up to 16GB)

 

How fast should my FreeNAS based HP Microserver NAS be?…

It’s been a couple of weeks since I built a home NAS using a HP Microserver N36L with 8GB RAM, FreeNAS 8.0.2-RELEASE and 4 x 2TB Samsung F4 hard drives configured as a RAIDZ2. Apart from a scary incident which resulted in an unexpected real world test of RAIDZ2 resilience, the NAS has been pretty stable although I’ve not been blown away by read/write performance over the network. I didn’t really want to get into fine tuning ZFS this early as I was hoping the out-of-the-box performance would be good enough, but it looks like I’m going to have to do a bit of investigation to understand why performance is not as good as I had hoped.

Network dropouts

It’s worth mentioning that I was also experiencing regular incidents of the NAS dropping off the network and reappearing several seconds later. This was particularly noticeable when SSHing onto the box using Putty, only to have the shell stop responding and the connection terminated a few seconds later. At the same time the web GUI would also stop responding and any remote file shares would also disappear.

Checking the FreeNAS logs didn’t show anything scary such as disk problems, so I Googled a bit and found many reports of problems with the on-board Broadcom based NC107i embedded network controller on the HP Microserver N36L. Users report regular network disconnection and reconnection problems and many have resorted to installing a separate quality NIC (such as an Intel PRO/1000 server or desktop card) in one of the PCIe slots. This sounded promising and I was all set to order a NIC when it dawned on me that I had been playing about with configuring my various network devices for jumbo frames support and when I couldn’t get it to work reliably had forgotten to revert my Win XP PCs NIC settings back to a default MTU of 1500! As soon as I did this the NAS network connection was steady again so I’ve delayed the purchase of a separate NIC… for now at least!

Testing network speed with iperf / jperf

Given the numerous reports of problems with the on-board NIC in the N36L, the first test I wanted to perform was a low level network test using iperf and its GUI front-end jperf. Luckily iperf is bundled with FreeNAS so it was simply a case of starting it in server mode using the command:

iperf -s

Then I fired up jperf on my iMac and ran a few basic tests…

The results were very positive! After several runs the average TCP transfer rate was around 910 Mb/s (or around 113 MB/s) which must be near the theoretical maximum throughput for a Gigabit network. Now these were not exhaustive tests for any long period or under sustained load, but the on-board network controller appears to be doing its job at least some of the time so I don’t think that’s the main cause of poor performance.

So next I think I need to start drilling down into testing the raw hard drive IO performance and then maybe onto a bit of ZFS tuning. But that will have to wait until another post 🙂

Building a NAS using a HP Microserver, FreeNAS and ZFS

I’ve been wanting to setup a home NAS (Network Attached Storage) solution for a while on which to store the masses of media files, documents, backups etc. we have accumulated as a family rather than having it all spread across numerous computers, mobile devices and external hard drives. I’ve toyed with the idea of getting one of the higher spec off-the-shelf BYOD (Bring Your Own Disk) boxes such as a Synology DiskStation, Drobo FS, QNAP or Netgear ReadyNAS and also as an alternative I’ve considered expanding my existing HP ProLiant ML115 G5 server with some more disks and using that for NAS.

After problems in the past with a very near miss of losing gigabytes of irreplaceable data (thank you very much ABC Data Recovery!) I was very keen on a fault tolerant system which could keep my data safe in the event of losing one or maybe two drives out of a multi-drive array. (Of course, this wouldn’t be a replacement for true external backups but it would give me some peace of mind that my data has a relatively high degree of resilience.) This requirement suggests some sort of mirrored RAID setup, and the Drobo implementation of this sounded particularly tempting especially as you can mix and match drives of different sizes, expand the array up to the maximum number of drive bays available and also swap out and add drives on the fly while the NAS is still functioning. But nice as they are, Drobos are still pretty expensive. As a slightly cheaper option I was looking at the Synology DiskStation devices and I liked what I saw (after having first hand experience of setting up a DS211 for a friend). But, I was still leaning towards a more homegrown and probably cheaper solution…

…and along came the HP Microserver!

I’ve been impressed with HP kit for a long time, particularly the business oriented stuff. My trusty ProLiant ML115 server has been running faultlessly under my desk at home for the last few years hosting various mail accounts, low-traffic web sites, development source control repositories and other stuff. So, I happened to be browsing the Ebuyer online shop and saw that HP were doing a £100 cashback offer on the HP ProLiant Athlon II Neo N36L Microserver with 1GB RAM (expandable to 8GB), 250GB hard drive (with a further 3 drive bays unpopulated), on-board NC107i gigabit ethernet and 7 x USB sockets in a well engineered micro tower case. This meant it would cost a mere £124 after cashback – an absolute steal!

After reading lots of happy customer comments on the Ebuyer site saying how well it made a NAS box when running something like FreeNAS, and with the cashback offer deadline fast approaching, I decided it was too good an opportunity to miss and I ordered one along with 8GB (2 x 4GB) of Kingston RAM, 4 x Samsung SpinPoint F4 2TB 5400rpm 32MB cache hard drives and a Sony Optiarc 24x DVD re-writer optical drive.

One other feature worth mentioning is that the motherboard has an easily accessible internal USB socket which is ideal for plugging in a USB flash drive from which the base OS can be run.

FreeNAS & ZFS: The last word in filesystems

FreeNAS is a FreeBSD based platform which is a very popular choice for home built NAS systems. It is built on a solid FreeBSD OS with a handful of services such as CIFS, NFS and AFP sharing, FTP, SSH and features a nice browser based administration GUI. It’s also small enough to be installed on a small USB flash drive which would allow my NAS to boot from the internally installed flash drive leaving the hard drives free for storage only.

One major selling point for FreeNAS / FreeBSD is its support for the ZFS filesystem developed by a very talented team of engineers at Sun Microsystems (now Oracle). If you’ve not heard of ZFS before I recommend you take a look at this presentation by the team who developed it to learn about some of the cool and innovative technology it includes. For me, some of the most compelling features are those related to data integrity, resilience and self-healing in a degraded volume, and by using one of the ZFS custom RAID implementations – RAIDZ1, RAIDZ2 or RAIDZ3 – I would get Drobo-like multi-drive resilience in the event of the loss of 1, 2 or 3 drives respectively.

For my system with 4 x 2TB drives installed, I decided to go with a RAIDZ2 layout which would give me 3.6TB of usable storage with a fault tolerance of 2 drive failures at once. I feel that this gives me a good balance of storage vs fault tolerance given the number and size of drives used.

Installation & setup

After unboxing the HP Microserver I was immediately impressed with its build quality and attention to detail. The server itself is about 210mm (W) x 270mm (H) x 250mm (D) and is of a sturdy construction. The lockable metal front door is perforated to aid airflow and opens to reveal the 4 hard drive bays with removable caddies (the first of which is populated with the 250GB drive included). The spec for the server states that these drives are not hot-swappable but I’ve read that with the correct drivers they can be hot-swapped.

Above the front door is the optical drive bay together with the on/off switch, 4 x USB sockets and LEDs for network and drive activity. There’s also a large HP logo between the front door and optical drive which lights up blue when the server is on, which looks quite cool! The top cover of the server which wraps over and down the top front section of the case slides off to reveal the optical drive bay and is secured with a thumbscrew on the back.

Another small indication of the attention to detail is the inclusion of a set of screws for mounting hard drives in the drive caddies and also for mounting the optical drive which are fixed to the inside of the front door together with a tool for fitting them. A nice touch which means that the server is completely tool-less during set up.

In order to replace the single factory installed 1GB DIMM with the 2 x 4GB DIMMs I had to slide the motherboard out from the base of the server. This was a little tricky involving disconnecting a handful of connectors, some of which are quite stiff, and easing the motherboard out enough to expose the DIMM slots, but it was no more difficult than working on other small form factor PCs.

The final step was to plug in the 4GB USB flash drive onto which I installed FreeNAS 8.0.2-RELEASE (the latest release version available at the time).

After configuring the RAIDZ2 storage (3.6TB usable storage and 2 drive failure resilience) and setting up some CIFS shares and permissions, the NAS was ready for use.

In summary – a poor man’s Drobo FS!

Now that it’s complete, I have a NAS with 3.6TB storage and Drobo-like resilience features for a fraction of the cost. Time will tell how happy I am with this but if the numerous online testimonials are anything to go by, I’m quite optimistic that this will be a good NAS solution.