I’ve been working with HP’s BL460C G1 blade servers recently. I’m putting together a network "my way" and part of that is using Windows Deployment Services for OS deployment. Reasons?
- It’s free.
- It’s good.
- It’s quicker for DVD installs than ILO mounted ISO’s.
- I can make template images for physical images that I can quickly deploy.
- The images are disk space efficient – moreso than Ghost.
The trick to getting WDS to work is to get a boot image working. It took a while for this model of server because the onboard NIC, the NC373i, is not supported in Vista or Windows Server 2008 out of the box in for the pre-installation environment. That means it’s driver is not in the boot.wim on the DVD. Here’s my start to finish guide on getting things working:
- Get a Vista SP1 machine. I use a virtual machine (VM) that I can reset quickly.
- Install WAIK for Vista and Windows Server 2008
- You’ll find that there is no download for the NC373i driver (not at this time) from HP. I found a Broadcom driver but only in setup.exe format and not in the required .inf, .cat and .sys format. Download the latest version of the Network Configuration Utility for your OS architecture. I.E. I’m deploying x64 Windows so I’m using x64 boot.wim. I downloaded the HP NCU for W2008 x64.
- Extract that. Under W2008x64 you’ll find a series of the HP setup/extaction files. Extract them until you find a series of files called bx*.inf, bx*.cat and bx*.sys. These are the driver files we’re after.
- Copy the boot.wim from the sources folder of your W2008 DVD, ensuring that it’s the right architecture, x86 or x64 and it matches your HP NCU. I copied it to E:Image on my Vista VM.
- Copy the drivers to the Vista machine, e.g. into E:Drivers.
- Launch the WAIK command prompt – not the usual Windows one. We need the WAIK tools in the search path for executables.
- Create an empty folder called mount, e.g. E:Mount.
- We’ll now mount the boot.wim into the Mount folder. WIM files have indexes, e.g. different images. You should run the command "imagex /info E:Imageboot.wim" to list the indexes and identify the one you need to add the drivers to. However, the DVD boot.wim index we will need to edit is 2. The one you can create from WAIK to create a default WinPE image uses index 1.
- Mount the boot.wim index using "imagex /mountrw E:Imageboot.wim 2 E:Mount".
- We will now add the drivers. The first you will add is done by running "peimg /inf=E:Driversbxnd.inf E:Mount". You add the second by running "peimg /inf=E:Driversbxvbd.inf E:Mount".
- That’s the driver injection done. Now you need to save the image by running "imagex /unmount /COMMIT E:Mount".
- Copy this to a folder on your WDS server and rename it as "Deploy – W2008 – x64.wim" (or " – x86" if it’s a x86 boot image). Go into the WDS console and add this file as a new boot image. Give it a name such as "Deploy – W2008 – x64". This way it’ll be clear what this boot image is for when you see it in the PXE client.
- Add the install image(s) on your WDS server from sourcesinstall.wim on your W2008 DVD.
- Enable PXE on your blade server in the BIOS, in the Onboard administrator and in Virtual Connect if you are using ethernet VC’s.
- Ensure the network is configured for PXE (Cisco portfast may be required – i.e. the request for DHCP address and BOOTP response from the WDS server may be too fast for Cisco spanning tree and the switch port may be still offline). Ensure your PXE NIC (configure one only!) is on the network where BOOTP is being routed to your DHCP server and WDS server.
- Boot the blade up and hit <F12>. When it gets an address you may will to hit <F12> again very quickly. I find it helps to configure the onboard administrator to do a one time only PXE boot for the server. Don’t do this on ILO via RDP – it’s sucks because it’s too slow and can suffer from "sticky keys".
- The PXE client connects to the WDS server and lists your new boot image. Select it. Once it loads, press <SHIFT>+<F10>. The command prompt appears. Do an IPCONFIG and your address should appear. If nothing does, run "WpeUtil InitializeNetwork" to try forcing the network to start. The driver should be working and your NIC should have a valid IPv4 configuration. Ping the WDS server to be sure.
- Continue installing Windows from the default install image.
- Customize the server as required and according to MS best practices for Sysprep and template images. You’ll want to install the HP PSP and maybe a MPIO driver if using Fibre Channel EVA’s. Remember to configure the SNMP service with public and private strings, otherwise the HP System Management page won’t work. Run sysprep to shut the server down. We’re now going to capture an image of this server which we can redeploy to an BL460C.
- In WDS, right click on our new boot image. Choose to create a new capture image. Save this in the same place as the file we copied over from the Vista machine. Call it "Capture – W2008 – x64.wim".
- In the WDS console, create a new boot image and import "Capture – W2008 – x64.wim".
- Configure the onboard administrator to do a one time boot from PXE for the server.
- Boot the server up and launch PXE again.
- This time, choose the capture image and let it load. You will have to run the WPEUTIL command here if you want to confirm network connectivity.
- Choose to capture C: and give the image a good name including a version number for your build and a good description.
- Choose to save the .wim image on C: and name the file after the image name e.g. "BL460CG1-W2008Std-x64-Full-V1.WIM". Connect to your WDS server so that the image will upload to there.
- Finish off the wizard and then check WDS to see that the image is correct. Deploy it to an idential BL406C G1 and ensure everything is OK.