Thursday, 28 October 2010

Memtest and Build ESX from USB

VMware ESX 4 Installation USB Stick - Now with Memtest86+!
REDUX Adj: Brought back; returned.  Used postpositively.

Back in November last year, I showed you how to easily create a VMware ESX4.x Installation USB using an empty USB stick, UNetbootin and a copy of the ESX installation ISO. (here)

Since then the post has gone from strength to strength and has proved to be among the top five all time most popular posts on this blog.  Cheers all - glad you liked it!

So, a quick update post on how to increase the use of your ESX4.x installation USB by also incorporating Memtest86+ onto your USB stick.



Memtest86+
What is Memtest86+?
Memtest86+ is a thorough, standalone memory test tool for x86 architecture computers.  The sole purpose of the tool is to test and provide detailed information memory on memory failures detected.  It is written and maintained by Samuel Demeulemeesteris and is in turn based on the original memtest86, written by Chris Brady.  Further details can be found at http://www.memtest.org/

Why do I need it?  Why test memory?
By it's very nature VMware ESX is tough on memory.  Lets think for a second; at any one time your typical ESX server is going to be hosting multiple virtual machines with each VM running its own operating system and application stack.  In turn, each VM is going to demand and utilise memory as and when it needs it.  ESX's job is to juggle this demand to allow for smooth running of the VMs. A job it does very well.

Add to that the fact that when building high end ESX servers, memory configurations start to get slightly 'obscene'.  Some of the recent ESX builds I've been involved with are pushing 500Gb of memory per server (yes, that's right half a terabyte! of memory!!)  With this amount of memory per server the odds of having a faulty memory module increase several fold.

Lastly, ESX 4.1 incorporates a new feature: Memory Compression.  So, all in all, having known good memory fitted to your ESX is a very good idea indeed.  How do we confirm we have good memory fitted to our ESX before we commission it?  We test the memory with Memtest86+!

OK, lets do this thing.


Adding Memtest86+
Firstly, you need to create your ESX4.x USB installation media.  Follow the process in my original post here.

Next, you need to download a bootable version of the Memtest binary from the memtest website.  Specifically, the version you need is the Pre-Compiled Bootable Binary (.zip) from here.

Once downloaded, open the zip and extract the .bin file to the root folder of your ESX4.x installation USB.  I rename the file to memtest86 for simplicity.

Lastly, you need to add Memtest86+ to the USB boot menu.  This is done by again editing the syslinux.cfg found in the root folder of the USB.  Here is an example of the specific menu entry that calls and boots Memtest86+:

label ubnentry0
menu label Test Memory with Memtest86+ v4.10
kernel /memtest86

Which makes my complete syslinux.cfg boot menu look like this:

default menu.c32
prompt 0
menu title Chris' VMware ESX4.0 Update 2 USB
timeout 100

label unetbootindefault
menu label Test Memory with Memtest86+ v4.10
kernel /memtest86

label ubnentry0
menu label Install ESX in graphical mode
kernel /isolinux/vmlinuz
append initrd=/isolinux/initrd.img vmkopts=debugLogToSerial:1 mem=512M quiet askmedia

label ubnentry1
menu label Install ESX in text mode
kernel /isolinux/vmlinuz
append initrd=/isolinux/initrd.img vmkopts=debugLogToSerial:1 mem=512M text quiet askmedia

label ubnentry2
menu label ESX Scripted Install using USB ks.cfg
kernel /isolinux/vmlinuz
append initrd=/isolinux/initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=usb quiet askmedia

label ubnentry3
menu label ESX Scripted Install to first disk
kernel /isolinux/vmlinuz
append initrd=/isolinux/initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=file:///usr/lib/vmware/weasel/examples/ks-first-safe.cfg quiet askmedia

label ubnentry4
menu label ESX Scripted Install to first disk (overwrite VMFS)
kernel /isolinux/vmlinuz
append initrd=/isolinux/initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=file:///usr/lib/vmware/weasel/examples/ks-first.cfg quiet askmedia

label ubnentry5
menu label Boot from first hard disk
kernel /ubnkern
append initrd=/ubninit

Which in turn looks like this once booted:

Chris' VMware ESX4.0 Update 2 USB - what else? ;o)

Sure I could have more of a fancy menu with funky text and wizzy background images etc, but that's for someone else to play with.  I prefer functionality over guff ;o)

Simply swap the menu entries around if you would rather have the ESX installer as your default boot option.

- Chris

Newer Post Older Post Home