I have three ESXi hosts, two of which are diskless other than a USB boot/OS disk. Since I had a USB disk failure, I thought it would be a perfect time to figure out iSCSI boot for ESXi.
Current setup:
ATHFVMH3
– SuperMicro Mobo A1SAM-2550F
– Intel x520 dual port 10gb NICs
FREENAS1
– FreeNAS 11.3 (Release)
Step 1: Flash NICs to boot iSCSI
I booted the server using a live Ubuntu 19 Desktop CD, and downloaded the Intel Boot Utility (Link), appropriate for Linux and extracted the tar file. You will also need to move the firmware file to the directory you with the executable you’ll be using.
tar zfvx Preboot.tar.gz
cd ./APPS/BootUtil
cp BootIMG.FLB Linux_x64/
cd Linux_x64
Make the bootutil64e file executable. Since this is a live CD, and it’ll be wiped anyway, I didn’t care too much about proper permissions.
chmod 777 bootutil64e
Running the following command should give results something like this:
sudo ./bootutil64e
The Gigabit NICs aren’t flashable, but the two 10GbE NICs are. The 10GbE NICs are all one card, so flashing one will flash the other. Use the following command to upgrade the firmware to iSCSI, please follow the prompts.
sudo ./bootutil64e -UP=iscsi -NIC=4
Step 2: Set up iSCSI Target
For some reason, I could only get it working using the Wizard. Even using the wizard on the first one, and setting up the next server the EXACT same way, it wouldn’t work. So, use the wizard in Freenas 11.3 (It’s in the top right corner when you go to Sharing/iSCSI settings in freenas.
First, create a zdev to boot from (I’ll assume you did that on your own)
iSCSI Wizard step 1:
- Name (This will be important later!): vmh3iscsiboot
- Type: Device
- Device (In my case): Pool1/iSCSI/vmh3iscsiboot
Click Next
I already have a portal set up, but you can create one here
Click Next
Create an Initiator name as well as a network it will be authorized to use. For some reason, if you specify an IP it doesn’t work, but if you specify a network, it does. The initiator name should be unique.
- Initiator: iqn.2020-05.com.vmware:vm3iscsiboot
- Network: 10.1.1.0/24
Click Next
Verify settings and click “Submit”
Modify your LUN ID of the LUN you created. You’ll need this specify what LUN to boot from in the next steps. This also verifies you’ll be installing on the correct LUN.
In the iSCSI menu, click on “Associated Targets” find the LUN you created, and click on three dots on the left side of the screen, click “Edit”
I used “43” since this is the third server, and to distinguish it from everything else.
Click “Save”
Step 3: Configure ESXi server
You are now ready to enter the iSCSI settings. Reboot, and when prompted, hit CTRL-D to go into the iSCSI setup.
Select the appropriate NIC (mine lists the NICs out of order, FYI). Try to use the MAC ID
Hit “P” to make it “Primary”. I disabled the others.
Hit “Enter” to configure
Hit “Enter” to set up iSCSI settings
I wont be using “DHCP” (maybe later?) so I set it up as follows:
- Initiator Name (Same initiator you used above):
iqn.2020-05.com.vmware:vm3iscsiboot - Initiator IP (I’m using the same IP as my server administration vNIC in ESXi):
10.1.1.100 - Subnet/Gateway: As appropriate for your network
- Target Name: This should be the Freenas Base Name under “Sharing/iSCSI/Target Global Configuration” with a colon, then the “Name” you chose on the first step of the wizard. In my case:
iqn.2005-10.org.freenas.ctl:vmh3iscsiboot - Target IP (Freenas Portal IP): 10.1.1.102
- Target Port (Default): 3260
- Boot LUN: 43
Click OK, then “Save Changes and Exit”
Exit out of the iSCSI setup and reboot! You should get a screen like this, eventually:
Set up the BIOS to boot from you iSCSI LUN (After the installation media, if you want)
Run the ESXi installer. Should eventually get you to a screen like this, select the appropriate LUN.
If you highlight the disk, and hit F1, you can find out more info on your disk:
Install as normal!
When you boot, you’ll see that an iSCSI Software Adapter is already created, along with the LUN in the devices.
1 Comment