October 18, 2018 | Written by: Stanley Soman
Categorized: How-tos | Storage | VMware
Share this post:
VMware ESXi and IBM Cloud Block Storage
It seems like pretty much everyone is using VMware ESXi virtualization nowadays. In this article, I’ll cover how to mount IBM Cloud Block Storages onto this popular hypervisor using the iSCSI protocol.
Steps to follow before you mount
You’ll first need to log into the Infrastructure portal. You can access the portal through http://control.softlayer.com or http://control.bluemix.net. Please note that if you access through the latter link, you will want to click on the three-bar hamburger and select Infrastructure to be redirected to the IBM Cloud Infrastructure portal.
Once you are inside the portal, click on Storage and then click on Block storage.
This will list all your block storages. They will be listed as “iSCSI storage,” which lets you know that they use the iSCSI protocol.
Make sure you’ve selected the block storage specifically ordered for VMware ESXi—the other block storages will not work for our use. Once you’ve selected you block storage and the storage details page loads, authorize the storage for your VMware ESXi host use. You can find the steps for authorizing a storage for a host by reading this guide.
After it is authorized, access the Infrastructure portal again in a new tab. This time, click on Devices and then Device List. This will show all your servers. Next, select your VMware ESXi server, which will load the device details page with all the information.
Keep note of the private IP. On a new provision on VMWare ESXi, the public interface is disabled by default and is unreachable. You will be accessing the ESXi web client through the private IP.
Accessing the ESXi web client
The ESXi web client is accessed through the private IP. To have access to the private IP, you will need to connect to the IBM Cloud Infrastructure SSL VPN. You can find instructions on connecting to our VPN by following this guide.
You can test the VPN connectivity after connecting by pinging 10.0.80.11 from your command line tool (command prompt on Windows, terminal/command line on Linux).
If this works, you are good to go, and you can now access the private endpoint of your VMware ESXi server.
Simply copy the private IP of your VMware ESXi server into the browser and hit Enter—this should allow you to get the ESXi web client login page. If the private IP does not load for you, you can also use the following format:
To login to the ESXi client, you will need appropriate credentials, which you can get from the Infrastructure portal. You can find the password by going to your customer portal, clicking the Device tab, selecting the Devices List, then finding and clicking on your device name. You should have a tab that says Passwords—click it to find the username and password needed to login to the ESXi client.
VMware ESXi Configurations
Log in to the ESXI web client, and go to the Storage tab on the left-hand side. Then, click the Adapters tab on the loading page.
Note: You can find the configuration values for this section from the Block Storage Portal page—this includes IQN, CHAP credentials, and the target IPs.
You will see a Software iSCSI option—select that and then follow the steps below:
1. Set the first setting: iSCSI enabled to enabled.
2. Skip the Name and Alias fields for now—you will not be able to enter a name here. This will be set later through the console or command line.
3. Click on CHAP Authentication to reveal a dropdown menu for entering the credentials. You can find the credentials Name and Secret values from the Block Storage Portal page (e.g.,
Name : SL01SU17123123-H123525).
4. Set Mutual Authentication as “
Do not use CHAP” as it’s not something we use.
5. Leave the Advanced Settings as is.
6. For Network Port Bindings, click on Add port bindings and select the default vmk0.
7. Don’t enter the static IPs manually—they will autopopulate later once you fill in the Dynamic IP below and save the configuration.
8. For the Dynamic IP, put the target IP (you can find this from the Block Storage Portal), the port should be 3260.
9. Save the configuration!
Then, select Refresh to show your new iSCSI interface.
For the next portion, use the ESXi console or command line to set the IQN.
The first thing you will need is to get the name of the adapter. You can do this by running the following command:
esxcli iscsi adapter list. Using this adapter name, set the IQN (remember to change the adapter name and IQN for your own values):
esxcli iscsi adapter set -A vmhba64 -n iqn.2018-02.com.ibm:sl01su123123-h123525.
Confirm the changes made:
esxcli iscsi adapter get -A vmhba64 | grep iqn
Go back to the ESXi web client and click on the Storage tab and then Adapters. Select Rescan and Refresh. Next, select your adapter—it may be something like
vmhba64—and click Configure iSCSI. You should now see two static targets auto-populated. Save the configuration once again.
To verify redunduncy, we verify the MultiPath Input Output (MPIO) settings. To do this, you can pull up the console or command line and run the following command:
You can see the output of this command below. You should be able to see two targets listed for your IQN, for redunduncy. There is also a Device section that lists the identifier of the iscsi device.
Runtime Name: vmhba64:C1:T0:L162
You may have a different identifier since the
naa.600a09803830344f515d465258666656 is the device identifier in our example. Make note of your unique device identifier and use it to find the paths for the iscsi disk in the following command:
esxcfg-mpath -bd naa.600a09803830344f515d465258666656
The command esxcfg-mpath has the -b flag, which lists paths for the disk, and the -d flag, which narrows it down to the disk with that unique identifer (this should be the iSCSI disk from earlier). Here is the output of the command above:
naa.600a09803830344f515d465258666656 : NETAPP iSCSI Disk (naa.600a09803830344f515d465258666656)
vmhba64:C1:T0:L162 LUN:162 state:active iscsi Adapter: iqn.2018-02.com.ibm:sl01su123123-h123525 Target: IQN=iqn.1992-08.com.netapp:hou0201 Alias= Session=00023d000004 PortalTag=1058
vmhba64:C0:T0:L162 LUN:162 state:active iscsi Adapter: iqn.2018-02.com.ibm:sl01su123123-h123525 Target: IQN=iqn.1992-08.com.netapp:hou0201 Alias= Session=00023d000002 PortalTag=1035
We now have our two paths to the device (hence multipath). To list the existing iSCSI sessions, for additional confirmation of the multipath redundancy, run the following command. Replace the XX with the number of your iSCSI adapter—for me, it was 64 or vmhba64. This will show two active sessions for your single dynamic IP.
esxcli iscsi session list --adapter vmhbaXX
Create your datastore
You can now create your first datastore by following these steps:
- Go to the ESXi web client
- Click Storage on the left-hand side
- Click the Datastore tab
- Click New datastore
- Choose Create a new VMFS datastore
- Select the NETAPP iSCSI Disk
- Follow the rest of the prompts
That’s it! You are now good to go!
The article was written and tested for VMware ESXI 6.5 U2.