Friday, September 22, 2017
Upgrading the HP Microserver Gen 8 with a P222 RAID card
Upgrading the HP Microserver Gen 8 with a P222 RAID card
I am quite a fan of HPs Microserver range and have used the HP Microserver Gen 8 since soon after its release a couple of years ago - indeed it replaced my previous HP Microserver N54L.

I upgraded it as soon as it arrived to have a 128GB SSD boot drive in the optical drive bay running off a Startech PCI Express SATA card and I installed 4 x 3TB drives in the drive cage running off the integrated HP B120i RAID controller. I also upgraded the RAM to 6GB and swapped out the Celeron G1610T for a Core i3 3220T CPU, which made it more than adequate for its intended purpose.
As the B120i does not support RAID5 I set the drives up as 4 x RAID 0 arrays (basically JBOD) and used Microsofts Storage Spaces technology to provide redundancy via the use of a Parity space, effectively replicating RAID5 in software.
While I have been relatively happy using Storage Spaces - after all it is free with the Windows Server 2012 R2 Essentials OS I am using - the technology fails to live up to its promise; at least in its current iteration. Performance, especially write performance, is not too good, monitoring for failed disks is difficult and some of the possible advantages of software RAID, such as using drives of different sizes, adding new drives to an existing array etc, are not as flexible as you may hope.
The proper answer to this is to use an HP RAID card - as it will integrate well with the existing server hardware - however I initially dismissed this as they are very expensive - considerably more expensive than the HP Microserver itself! The P222 is around �400 new in the UK as I type!
When a P222 came up on one of the forums I belong to at �160 I thought id snap it up - it would be interesting to see how much better it is than Storage Spaces in terms of both performance and functionality.
Upgrading to the P222

Unlike the image above, my P222 came with a Low Profile bracket, which is perfect for the Microserver. Also in the box you get a battery pack and a 512MB cache module.
The first issue was to migrate the OS drive from the PCIe SATA card to the internal B120i controller, and attach the Mini SAS connector to the new P222 card.
Connecting the disks in the drive cage to the P222 is as easy as you may hope - unplug the Mini SAS plug from the motherboard and move it to the P222. The controller card picks up the existing array configuration that was configured on the B120i, so there is nothing more to do! It appears that pretty much all modern HP RAID cards automatically pick up the configuration of arrays that were set up on another HP controller, which is rather handy.

The B120i supports 6Gbps on Ports 1 & 2 and 3Gbps on Ports 3 & 4, so I attached the SSD to Port 1. The main concern that I had was that the drive needs to be included in a single drive RAID0 array in order for the server to recognise and boot from it (without changing the settings to AHCI, which causes fan noise issues). I didnt know whether creating a RAID0 array on the B120i would wipe the disk, but it turned out that it didnt - the data on the drive was untouched.
To ensure I wouldnt lose any data during the RAID0 conversion I took an image of the boot drive using Macrium Reflect Free and cloned the drive contents onto a spare SSD (which I then used on first boot to ensure that nothing terrible would occur).
Once the RAID0 was created and I changed the Controller boot order, so the server tried to boot from the B120i first and the P222 second, and everything came up as before - Windows Server 2012 R2 automatically picked up the P222 without me having to install any drivers from HP & the Storage Space was all present and correct.
Converting the Storage Spaces to Hardware RAID5
The process of converting the Storage Spaces to RAID5 on the controller is destructive so I had to ensure my backup was up to date. I personally use FreeFileSync to manually back up folders on my server onto 2 x 5TB external USB3 drives. What I like about this product, asides from the fact it is free, is that it allows you to Mirror sets of folders, which can be filtered to only contain a subset of the data/subfolders within that group.
To change the storage from using 4xRAID0 arrays and Storage Spaces to hardware RAID5, I simply deleted the RAID0 arrays in HPE Smart Storage Administrator and created a new RAID5 array, ignoring any configuration in Windows.
Disk Space
Before I performed the upgrade I ran a few simple disk benchmarks to see what the performance of the Storage Space on the B120i was. These are shown below.


Once I had upgraded to the P222, I was interested to see whether having the 512MB cache and a better controller would affect performance.


As can be seen, there is a performance increase (3% Read and 36% Write) when moving from the B120i to the P222 whilst still using Storage Spaces.
With the RAID5 array in place, I had to wait until the logical drive had finished its Parity initialisation in order to get a reliable metric. The message "Logical Drive 1 is undergoing parity initialization" is shown against the controller in the Smart Storage Administrator while this process is being performed. It does take quite a long time - somewhere around 16 hours in my case.


With the P222 we can see the multi-threaded sequential 128KB read is over 2.3X as fast and the write is just under 5.8X as fast.
Conclusion
The main benefits of the upgrade are:
1. An increase in storage space from 7.2GB to 8.18GB
2. Over a doubling in Read performance
3. Almost 6X write performance increase
4. Improved disk health monitoring capabilities
I am not sure whether the above would be worth a �400 outlay for a new card, but if you can source one around half price or under second hand then it offers a nice improvement to your existing Microserver setup.
download file now
Wednesday, September 20, 2017
Upgrading an HP ML330 G6 server
Upgrading an HP ML330 G6 server
Last weekend I purchased a second hand HP ML330 G6 server off eBay with the intention of setting up a machine with a decent amount of RAM and CPU cores to run a set of Virtual Machines in VMWare.
In this post I will provide an overview of what I bought and in a forthcoming post I will describe how I have set up the machine to run VMWare.
The ML330 G6 is a tower server which was released in 2009 and contains Xeon CPUs which are based around the Nehalem architecture - the same as that found in the first generation Core i7. The age of the machine means that both the machine itself and RAM / CPU upgrades are remarkably cheap. After the upgrades, the machine is plenty powerful enough for my purposes.
I deliberately chose a server with 2 CPUs - many only come with one installed. The motherboard itself only has 1 CPU slot, with a second processor requiring a mezzanine board. Having a second processor also increases the number of DIMM slots from 9 to 18.
My purchases were as follows:
HP ML330 G6 - �150
- 2 x Xeon 5504 (4 core, 4 thread)
- 8GB DDR3 Unbuffered ECC
- 4 x 250GB HDDs, RAID 5
64GB DDR3 Registered ECC - �65
- 16 x 4GB modules
2 x Intel Xeon 5645 - �51
- 6 core, 12 thread
Total cost: �266
RAM
Having 18 DIMM slots meant that I could get away with using the cheaper 4GB Registered modules. These worked out to be only around �1 per GB. Interestingly the (4x2GB) Unbuffered ECC memory modules that came with the machine cost around �30 second hand - �3.75 per GB.
CPUs
The fastest CPU that the ML330 can take is the Xeon X5650 (2.66Ghz, 6 core, 12 threads). These cost around �45 each on eBay, although can be imported from Aliexpress for around �37.
I chose the E5645, which is the third fastest 6 core CPU that the ML330 can take (2.4Ghz, 6 core, 12 threads) as it offers the best price/performance. I got a good deal at �51 for two, but generally they can be had for around �30 each on eBay.
Benchmarks
I quickly benchmarked the system before and after the upgrade using Geekbench.
Processor | Cores | Single-Core | Multi-Core |
---|---|---|---|
Intel Xeon E5504 | 4 x 2.0Ghz Gainestown | 1453 | 6753 |
Intel Xeon E5645 | 6 x 2.4Ghz Gulftown | 1558 | 11251 |
download file now
Tuesday, September 12, 2017
Upgrading the Samsung Galaxy Note 4 N910F to a custom Marshmallow 6 0 1 build
Upgrading the Samsung Galaxy Note 4 N910F to a custom Marshmallow 6 0 1 build
For around a year the Samsung Galaxy Note 4 has been my primary phone. While other devices have come and gone, my main SIM has always been in the Note 4. This is largely due to its flexibility (MicroSD card slot & removable battery), but also due to the great display & a screen size that I personally find about optimal.
Earlier in the week, Samsung released Android 6.0.1 for the Samsung Galaxy Note N910F, upgrading the device from 5.1.1 Lollipop.
My personal setup is quite complex on the Note 4, so I thought I would share with you how I performed the upgrade.

Firstly, I wanted to start from scratch - the device was quite full, with plenty of apps that I could cull - so I wanted to wipe the device and start again. The performance was also looking pretty tired, especially compared to my secondary device - the Xiaomi Redmi Note 3 Pro, which is undoubtedly the best �150ish phone on the market for my needs. I hoped Marshmallow would improve things in this area (and it sure did!).
My Lollipop install had these features, which I wanted to retain:
- Rooted
- A 480dpi setting (rather than 640)
- Xposed framework
- Xposed GEL settings to modify the homescreen grid
- Xposed App Settings to fix the camera, which doesnt like the DPI change
Luckily all the above are also available in Marshmallow, mainly due to work performed on other 6.0.1 Samsung devices.
It should be noted that flashing a custom firmware or TWRP will permanently trip the KNOX flag. I guess this could be an issue while the phone is still under warranty, but I tripped it within an hour of buying my Note 4.
If you just want to flash a stock build (Step 1 below) then KNOX will not be tripped.
Software Requirements
SM-N910F Generic UK Firmware from Sammobile
Samsung ODIN 3.11.1 from an XDA post (the latest version at the time of writing)
N910F TWRP from the official TWRP website
Alexndr DevBase v3.4 custom firmware (slimmed down stock firmware with Xposed)
On major Google Now launcher updates, the Xposed GEL Settings app may run slightly behind. It is worth checking the community to see whether the current version is supported and if not, download the last supported version.
Preparation
At a later date we will need to install the App Settings Xposed module, so while we are here we may as well enable Unknown Sources
While the default Samsung launcher isnt a fan of changing the dpi, I use the Google Now launcher and a lower dpi setting to enable more information to be shown on the Notes large 5.7" display.
2. Install Google Now Launcher
6. On reboot chose the Google Now Launcher as the default launcher
I install two Xposed modules:
App Settings allows per-app dpi settings, which can fix apps that do not like the dpi change.
Xposed GEL Settings allows us to customise the grid of the Google Now launcher, along with other features
download file now