With a complete re-write of the iSCSI portion of the code, ESX 4(vSphere) provides better performance and useful features such as Jumbo Frame support and TCP Segmentation Offload (TSO). There is more reason than ever to consider iSCSI based share storage to house your VMs.
There are many low cost iSCSI storage solutions available such as OpenFiler of which I have written a configuration article here.
Here is a quick guide to assist you on your way to connecting your ESX(i) 4.0 host to an iSCSI source. Many of these screenshots are self explanatory so I will keep my descriptions to a minimum.
Initially you will most likely only have a ‘Management’ and a ‘Virtual Machine Network’ as you’ll need to have a dedicated network connection for the iSCSI traffic (between the ESX host and the iSCSI target) then…
… from the ‘Configuration’ –> ‘Networking’ screen select ‘Add Networking’.
Select ‘VMkernel’ as the ‘Connection Type’.
Select the NIC(s) you want to use for your iSCSI VMKernel connection (ensure that it has network connectivity through to your iSCSI target ideally on its own separate network segment – this is strongly advised).
Type in a meaningful ‘Network Label’ none of the other options are required so leave them unchecked.
Give your new iSCSI network connection a IP address. As a dedicated network is strongly recommended for iSCSI traffic ensure that it is given a unique IP address on the same subnet as your iSCSI target. As this traffic will not be leaving this dedicated network then there no need in this example to specify a new gateway.
After configuring this new iSCSI VMKernel port you will now see it displayed in the ‘Networking’ area of the ‘Configuration’ section. As you can see I am only using a single NIC meaning that this is potentially a single point of failure. If you are considering using iSCSI in a production environment then you would ideally want to use multiple NICs for extra resilience.
Now select ‘Storage Adapters’ from the ‘Configuration’ menu.
As outlined in the screen shot below select the ‘iSCSI Software Adapter’ and then click on ‘Properties’.
You’ll notice that by default the status of the ESX iSCSI software initiator is set to ‘Disabled’. We want to change this.. (see steps below)
You’ll notice that when you enable the iSCSI initiator a rather long name will be auto generated in the ‘iSCSI Name’ field. This is a unique name that only your ESX host will have. It can be changed to something else of your choosing though just make sure that it is unique. I personally always leave them with the auto generated iSCSI name.
Now select the ‘Dynamic Discovery’ tab and press the ‘Add’ button as we now want to tell our ESX host where to find the iSCSI target. In the ‘iSCSI Server’ field enter in the IP address of your iSCSI target – you shouldn’t have to change the default port number.
Depending on the level of security set on your iSCSI target you may have to enter in the ‘CHAP’ authentication details. Talk to the person who configured your iSCSI target to see if you need to do this..
Once you’ve added in the details of your iSCSI target you’ll see it’s IP address appear in the ‘Send Targets’ list.
You’ll also be prompted to rescan the Host Bus Adapter (HBA). Select ‘Yes’ as you want your ESX host to go and try to connect to your specified iSCSI target.
Everything going to plan and you should now see your iSCSI target (in this case my OpenFiler) appear in the ‘Storage Adapters’ configuration screen. This means that it has connected through successfully.
This next step will vary depending on whether your iSCSI storage has VMFS applied to it already or not. If it hasn’t and this is fresh new disk presented to the ESX host then you’ll want to format it with VMFS to allow VMs to be stored on it. Else if it has already been configured with VMFS then this iSCSI storage will automatically appear for use to your ESX host (see below).
You will now be all set to go. Enjoy!