[Updated 16 September, 2013]
Until recently I had been running my ESX VM’s on local disk. This is mostly due to not having enough time to get some shared storage up and running.
I however was determined to get something up and running for my ESX lab so that I can play around with some of ESX’s more powerful, and interesting, features such as DRS, HA and VMotion.
As with most of you money is a serious consideration so as I am not in a position to implement a fibre attached SAN solution – though this would be nice. The next best option is iSCSI. I am running both VMware ESX 3.5 and ESXi 3.5 in my lab and both provide iSCSI functionality by default to connect through to an iSCSI target.
There are a handful of good free (free is always good ) iSCSI software that can be downloaded. Some are standalone installs, others come in the form of virtual appliances and some both.
Here is a list of those that I know of (there will no doubt be many more):
- Free NAS
- EMC Celera (VM) – log into the EMC portal and search for ‘Celerra Simulator’.
I decided to give OpenFiler a go – as I’d heard good things about the latest release, v2.3. Here’s a link to a really good document on the OpenFiler site that details the underlying architecture.
The download link to OpenFiler can be found here.
As you can see there are many different downloads available. I decided to install it on old Shuttle XPC PC I had lying about. This server has 1GB of memory, Single AMD64 2GHz CPU and a single Gigabit NIC all of which are more than adequate for running OpenFiler. I downloaded and installed the x86_64 version.
I then burnt the ISO to CD and installed OpenFiler using the great graphical step by step installation guide provided on their web site.
For this lab install I have used the following network configuration.
OpenFiler (Shuttle PC)
NIC: Single port 1Gb
ESX Server (ML110 G5)
ESXi 3.5.0 U3
NIC: Dual port NIC
IP#1 (iSCSI): 10.0.0.10/24
IP#2 (General Traffic): 192.168.1.11/24
Management Server (Home Brew PC)
OS: Windows 7
NIC: Dual port NIC
IP#1 (iSCSI network – for management of OpenFiler): 10.0.0.2/24, IP#2 (General Traffic): 192.168.1.1/24
Once you have OpenFiler installed you can then access a web based management console which allows you to configure your new OpenFiler installation.
Opening a web browser and pointing it to the IP address (ie: https://<IP of OpenFiler>:446> of the OpenFiler server you should be presented with a logon screen like that below (love the fat Linux penguin).
At the prompt enter ‘openfiler’ for the ‘Username’ and ‘password’ for the password. These details can be changed once you’ve successfully logged onto the management portal along with the ability to create additional accounts and groups.
Step 1 – Network Access Configuration:
The first thing to do is set up the ‘Network Access Configuration’. This is the host or subnet (depending on how granular you want the access to be) you wish to provide access from. Select the ‘System’ tab and from the ‘Network Access Configuration’ section at the bottom of the page enter in either the IP from which you wish to access the OpenFiler from or enter in a whole subnet from which the Open filer will accept traffic from.
As I am running a secure lab environment I am just going to enter in the whole subnet for ease. You may want to be a little more granular if using this in a production or non-secure environment.
Make sure that the ‘Type’ is set to ‘Share’.
Volumes – Important Information (for the clarity of mind).
Before we go any further I just want to point out some potential confusion that can arise when creating, assigning and configuring the various ‘Volume’ parameters within OpenFiler. There are 3 volume items we’ll be dealing with in the next few steps. I personally found this a little confusing at first so thought I’d try and throw down some clarification around this area:
1. Physical Volume – Assigning space on a physical disk for use in a Volume Group.
2. Volume Group – Contains Physical Volumes from which a Logical Volume will be created.
3. Logical Volume (LUN) – This is what is presented through to a server (eg: ESX).
Now with that out of the way.. on with the show!
Follow these steps in order to configure your OpenFiler SAN and present it through to VMware ESX/ESXi.
Step 2 – Create a New Physical Volume:
Select ‘Edit Disk’ on the hard disk you want to create this new physical volume.
Scroll to the bottom of the screen and you will see the available spare space on this disk along with some other parameters. If you are not intending to create a RAID set for your physical volume then select ‘Physical volume’ as your partition type and select the ‘Mode’ as ‘Primary’.
Adjust the start and end cylinders to determine the size of physical volume and when satisfied press the ‘Create’ button.
Step 3 – Create a New Volume Group:
Next we want to create a new ‘Volume Group’ for the ‘Physical Volume’ we created to reside in. Click on the ‘Volumes’ tab and then select ‘Volume Groups’ from the ‘Volume section’ menu on the right hand side menu.
You should now be presented with a new Volume Group that looks like this:
Step 4 – Create a Volume:
We now want to create a ‘Volume’. Click on ‘Add volume’ from the right hand ‘Volumes section’ menu.
Now select the ‘Volume Group’ you just created and press the ‘Change’ button. You will now be presented with the following screen where you determine the size of the ‘Volume’ your going to create within your ‘Volume Group’.
For this example I’m going to create a ‘Volume’ that occupies the entire space of the ‘Volume Group’. Enter in the ‘Volume Name’ and determine the size by either keying in the required space or using the slider bar. Then for the ‘Filesystem/Volume type’ select ‘iSCSI’. This lasts part is important to all of this working so make sure it is set correctly (ie: iSCSI)!
When your happy with your settings press the ‘Create’ button.
Once the ‘Volume’ is created you will be greeted with a screen with a nice big green coloured pie chart in it which is indicating the amount of the ‘Volume Group’ that the volume has consumed. Which in this example is all of it.
This is now everything to do with creating a volume completed. We now want to enable the connectivity side of things (ie: allowing other PCs/Servers to connect to the OpenFiler SAN).
Step 5 – Enable the iSCSI Target Service:
Click on the ‘Services’ tab of the main window.
Next click on the ‘Services’ tab and enable the ‘iSCSI target server’ (see below). By default it is set to ‘Disabled’. For connecting the OpenFiler SAN through to an VMware ESX/ESXi host we don’t need any of the other services enabling.
Step 6 – Add an iSCSI Target:
Returning to the ‘Volumes’ section of the OpenFiler web interface select ‘iSCSI Targets’ from the ‘Volumes section’ menu on the right hand side of the screen.
We first want to create a new iSCSI target and do by select the first sub-tab called ‘Target Configuration’ in the ‘iSCSI Targets’ section. I personally keep the default ‘Target IQN’ generated by OpenFiler though you can alter it at this stage if your want. Now press the ‘Add’ button.
You will now be given a screen with a summary of the settings for the new iSCSI Target.
Step 7 – Map the LUN:
Now select the ‘LUN Mapping’ tab and click on the ‘Map’ button. There are no other settings that need changing.
Step 8 – Allow access to the iSCSI Target:
Select the ‘Network ACL’ tab and from the ‘Access’ drop down list box select ‘Allow’ (Note: it is set to ‘Deny’ by default) and then press the ‘Update’ button. This allows the IP range we defined in step 1 access to the iSCSI Target we just created.
You may have noticed the next menu tab which is called ‘CHAP Authentication’. In this section you would specify a logon name and password with incoming access to this iSCSI target. I am not worrying about configuring this as it is just a temporary set up for my test lab. Though if you are think about setting something up which will be a little more permanent then I’d definitely recommend enabling CHAP authentication. This’ll need enabling and these credentials specifying on the ESX side of things – but is very easy to do.
Open Filer Configuration Stage Finished!
This is now a basic OpenFiler configuration up and running with a LUN ready to be added to ESX.
IMPORTANT NOTE: If you are ever thinking of implementing OpenFiler for use with ESX in a production environment then it is highly recommended to keep the iSCSI network separate (for security and performance) from all other general type traffic and to apply CHAP’s encryption. In my lab I have created two VLAN’s on my Linksys SLM2008. One for general network traffic and the other for the iSCSI traffic.
Step 9 – VMware ESX iSCSI Configuration:
Open up the VMware Virtual Infrastructure Client (VIC) and select the ESX server that you want to add the iSCSI storage to. From the ‘Configurations’ tab in the right pane select ‘Networking’. You will now be presented with the networking configuration for that ESX server.
As you can see my particular install of ESX is using ESXi.
I have created a second Virtual Switch and have allocated a VMKernel port on the second NIC port (which is patched into the 10.0.0.0/24 VLAN) which I have given a 10.0.0.11/24 IP address. The is the port that the iSCSI traffic will use.
If you are configuring this using ESX 3.5 then you will also have to add a ‘Service Console’ port to this newly created Virtual Switch. If you don’t do this you’ll get this friendly reminder:
You will see that there is an iSCSI Software Adapter already in place – though currently not enabled. All that needs doing is to configure and point it to the OpenFiler LUN(s). Notice how all the iSCSI related details are currently blank.
Click on the ‘iSCSI Software Adapter’ and select ‘Properties’.
The status of the iSCSI Software Adapter is initially set to ‘Disabled’. We want to enable it and assign the relevant details. Click on ‘Configure’. Check the ‘Enable’ status box and click ‘Ok’
The iSCSI properties will now be populated (see below). I won’t go into the format of the iSCSI name and alias though the VMware Infrastructure 3: Advanced Technical Design Guide and Advanced Operations Guide has a good section on iSCSI and explains these details.
Clicking on the ‘Dynamic Discovery’ tab and selecting ‘Add’ we are presented with an ‘Add Send Targets Server’ dialogue box. This is where we’ll enter the IP address of our OpenFiler server/SAN. (Note: the ‘Static Discovery’ tab is only used when using a hardware iSCSI initiator)
After entering in this IP information and pressing ‘Ok’ it can take a little while before iSCSI server is detected.
With these new iSCSI setting we are prompted to re-scan the host. Select ‘Yes’
After ESX has finished its re-scan you should now see the LUN(s) appear that you created in OpenFiler.
With this shared storage and a couple of ESX servers you can now start using some of the more interesting and powerful features of VMware ESX such as VMotion and HA (assuming you have the appropriate license ).
As mentioned this is purely intended as a rough guide to getting OpenFiler up and running with VMware ESX. OpenFiler has plenty of other great features and is worth investing some time into.
Hope this guide helps. Good Luck!