Final (random) thoughts

If you have more than one NUC, and want to setup a vCenter server to learn about clustering, I suggest you follow the amazing blog series by Derek Seaman here. It has a huge amount of information on installing every single aspect of vCenter in such depth that even novices can follow.

If you are into scripting, and want to learn how to script your way around ESXi and vCenter, check out William Lam’s excellent blog.

ESXi Installation

This should be the easy bit, just power on your NUCs, and let the technology do the hard work. It should boot up and immediately look for a DHCP address and server to boot from.

After a quick menu option, the installer will take over. Don’t press anything – it’s all automatic remember 🙂

The installer will take about 10-20 minutes, depending on the model of NUC, network speeds, angle of the sun…

The installer will then change screens and start processing it’s various modules. Below it’s loading the e1000 network driver.

After loading all it’s modules, it will then run though part of the automatic script we created.

Various text messages will appear, including…

Preliminary checks,

Partitioning disk for ESXi,

Writing syslinux bootloader,

Writing binary to boot partition,

Writing GUIDs to the bootbanks,

Caching the required files for ESXi,

Configuring network settings,

Writing the first-boot scripts.

Once complete, the following reboot message will appear. It will automatically reboot in about 10 seconds or so…

ESXi will then load up and run the rest of the configuration script, rebooting again at the end…

After the reboot, it will load all its modules. Mine pauses for a while when loading the software iSCSI adapter. This is because it will scan the adapter bus looking for available storage. Once done though, you will be presented with a screen similar to below. ESXi is now ready to be used…

vSphere Client

Now that ESXi has been successfully installed, we can finish any other configuration that needs to be done. If you don’t have the vSphere client installed, you can get it from your newly installed ESXi host.

Open your favourite web browser and go to the IP address (or host name) you gave your host.

Click the link middle-left to Download vSphere Client, and install it. Once installed, open it and connect to your new host. When the certificate warning appears, tick the checkbox, and click Ignore.

Networking and VLANs

With the NUCs only having one network card, things can get a little tricky, especially since I wanted separate live and private networks. However, it can be done, and it works well enough for me and in a home lab environment. One network card should never be used in a production environment.

My automatic configuration script creates the networks for me, however the basic layout is as below…

My Private network is using the VLAN 42, my Live network has no VLAN. The Management Network is on the IP address we gave to the NUC earlier in Part 3. Check out the configuration script if you want your own settings.

Requirements

You will need a server that can handle TFTP and Web requests. Since I am using a Synology Diskstation for my iSCSI storage needs, this can also handle both TFTP and Web. If you don’t have a TFTP server, you can use the free TFTP tool from SolarWinds.

DHCP Settings

In order for PXE booting to work, you need to create an entry in your DHCP server for the NUCs, and make sure the PXE settings are correct. I already have a Windows 2008 R2 server running DHCP for my home network, so these steps will reflect this. Most home routers should allow you to add the two required setings.

While you are in your DHCP settings, add an IP reservation for your NUCs. This will help with the auto configuration later. To do this, you will need IP addresses that is not being used, and should ideally be outside your DHCP Scope. You will also need the MAC addresses from the bottom of your NUCs.

You will also need to give your NUCs a name. I have gone for the simple route of calling them ESX1, ESX2 and ESX3.

TFTP Server / PXE Booting

Now that your have your DHCP setup, we can extract the files from the ISO image we created in Part 2. Extract them to a know location, and setup your TFTP server to point to these files.

Once extracted, you should have two folders called efi and upgrade. There should also be about 90 files in the root. Create a new folder called pxelinux.cfg and create a plain text file called default (no file extension)

Make sure you enter the name or IP address of your web server in the correct place. Don’t change anything else, unless you really have to.

The last remaining file is called pxelinux.0. To be honest, I can’t remember where I got this from, but it’s required and important. To download file file, unzip it and copy it to the same TFTP folder as the ISO files.

Automatic Installation Script

The installation script is a large file that automates the configuration of ESXi once it has been installed. I have separated this script out to another blog post as it would make this page very long indeed.

Building A Custom ESXi Installation Image

This is actually the easy part. I use the fantastic ESXi-Customizer-PS PowerShell script from Andreas Peetz at the v-front blog. This script does all the hard work of downloading the latest version of ESXi and saving it as a ZIP file. You can then run the script again to convert the ZIP file into an ISO and inject the required drivers.

Before you start, make sure you have installed the latest version of the VMware PowerCLI software on a Windows XP or better PC, and have downloaded Andreas script.

Steps Required

Open the VMware vSphere PowerCLI window (there should be an icon on your desktop),

When complete, you will have a single ISO image and the downloaded ZIP file, called something like this…

This process will take a few minutes, depending on the speed of your internet link and the computer you are running this on. The ISO should contain the two drivers required for the NUCs, and will be ready to go to install on your NUCs

There are a few ways to install ESXi on to your NUCs, the way I do it is to use PXE booting. This allows me to plug in a new NUC and switch it on. Almost everything else is automated.

Introduction

When deciding on my home lab, I wanted something small, quiet and powerful. Fortunately, the Intel NUC fits that bill for me. It’s not a perfect option, as they only have one network port and are limited to 16Gb RAM.

The configuration I am using here may not be the best, it may not even be right for you – but it works for me and I am happy with it. If you like to add your thoughts or comments, please do.

NUC Specs

The install of VMware ESXi doesn’t take up much space, so a 30Gb SSD is fine for my needs. If you want to install Windows or Linux on it at a later date, you might want to invest in a larger drive. Some models of NUC are built to hold a 2.5inch drive at the bottom, so this may be another option for you.

Since the NUC will take a maximum of 16Gb of RAM, we might as well take it all. Male sure you use the correct RAM for the model you are buying. For the one I am using, the RAM has to be the 1.35 volts type.

Once your NUC is built, we need to create an installation image to put on it.

Don’t forget however, make sure you download and install the very latest BIOS update for your particular NUC model. For the three NUCs I have, the download page is here.

Introduction

As part of my Intel NUC As A ESXi Host series, the following script helps to automate almost all the configuration steps needed for me to quickly provision a new NUC server, or to rebuild an existing one.

It performs the following basic steps…

Set root password,

Enables the ESXi SSH Shell, and disables the warning associated with it,