jump to navigation

VMware PEX 2010: a short comment on DRS IO February 14, 2010

Posted by vneil in Virtualisation, VMware.
1 comment so far

There has been a good amount of coverage from the VMware Partner Exchange in Las Vegas last week but one bit of news that caught my attention was the mention of DRS for IO. The only blog post I saw it mentioned was in this post by Duncan Epping. After a quick google I found this great post by Ian Koenig over on his blog from last September.

It looks like if it was mentioned at PEX it might be coming soon, I had kind of hoped it might have been in vSphere as the next logical extension of DRS after CPU and Memory resource scheduling.

The way we run our current cluster  is one big cluster with test and production VMs spread across all the host servers with their VMDKs also mixed on datastores. They are distributed into appropriate  resource groups and all this helps to even the workload and make full use of all resources.

The cluster is not heavily burdened at the moment and we are continuing to P2V Windows servers and deploy new Linux servers onto it. I see IO DRS as an extremely helpful tool with the growth of the number of VMs in the cluster to keep the necessary prioritising of production over testing.

In the meantime I’ll keep an eye out for any more news on IO DRS.

Setting preferred paths in ESXi February 12, 2010

Posted by vneil in ESXi, scripts, VMware.
1 comment so far

Quite a while ago, when I was setting up our current production environment, I had to think about how to set up the multipathing for the SAN LUNs. We have an FC SAN fabric connected to a couple of HDS storage systems and each of our ESXi host servers has 2 dual port FC HBAs. All LUNs would be visible on all four HBAs so each LUN ends up with 4 paths.

To make this simple when setting up the cluster we went for a standard 500GB size for the LUNs and had about 8 LUNs allocated to start with. We needed to somehow level the usage of these LUNs across the 4 paths.

These servers were running ESXi 3.5 and the round robin path policy was still experimental this left a decision of either Fixed or Most Recently Used (MRU) as the multipath policy to use. After some investigation I chose to use Fixed multipath as with MRU you could possibly end up with all LUNs on one path if several path failures go unnoticed.

To simplify the spreading of LUNs over the multiple paths the LUNs were each allocated a path in order, for example LUN 1 to path 1 , LUN 2 to path 2 ..etc and then LUN 5 would go to path 1 again. Then of course this needed to be set on 20 ESXi servers in the cluster and if any new LUNs were added this would have to be set as well.

Nowadays I would maybe look at doing this with Powershell but back then I was still quite new to it and as I was more comfortable in Unix I used the Vima appliance and setup a simple shell script and the vicfg-mpath command to do the work for me.

Here is the script (click on view source for a better view):

#!/bin/bash
#
# Script to set preferred paths in rotational method
# Set VI_USERNAME and VI_PASSWORD environment variables before running.
#
esxhosts="esxhost1 esxhost2 esxhost3 esxhost4 esxhost5 esxhost6 esxhost7 esxhost8"
echo "===================== Start `date` =========================="
for esxhost in $esxhosts
do
   LUNs=`vicfg-mpath --server $esxhost -b | grep "vmfs/devices/disks" | cut -d\  -f1 | sort -u`
      if [ -z "$LUNs"  ] ; then
         echo "Error getting luns/paths for $esxhost"
      else
         echo "Setting preferred paths for $esxhost "
         for LUN in $LUNs
         do
             lunid=$( echo $LUN | cut -d: -f3)
             pathToSet=$(( $(($lunid % 4)) + 2 ))
             preferredPath=$(echo $LUN | sed "s/vmhba./vmhba${pathToSet}/")
# #debug#       echo Lun = $LUN  lunid = $lunid  path = $pathToSet preferredPath = $preferredPath
             echo Executing vicfg-mpath --server ${esxhost} --policy fixed --lun ${LUN} --path ${preferredPath} --preferred
             vicfg-mpath --server ${esxhost} --policy fixed --lun ${LUN} --path ${preferredPath} --preferred
         done
      fi
echo "----------------------------------------------------------------------------------------"
done

Getting started February 11, 2010

Posted by vneil in ESX, ESXi, Virtualisation, VMware.
1 comment so far

As I mention in the about page I have decided to start this blog to try and give a little bit back to the community and post some of my experiences with working in virtualisation.

The idea when I thought about starting this blog was to add more information about ESXi to the VMware blogging arena as most of the information I read was about ESX. Unfortunately since I decided to create this blog (it’s taken me a few weeks to get going) VMware have beaten me to it and they’ve started a major push to promote ESXi and seem to be selling it as an upgrade to move from ESX to ESXi, which I find a strange choice of words. I guess they could mean to upgrade from ESX3.5 to ESXi4.0 because otherwise it would just be a change of install base and methods, not an upgrade. VMware also added an ESXi contest to their vSphere Blog which has meant a sudden glut of ESXi blog entries popping up, it seems my timing for starting an ESXi focused blog was a little off.

I won’t be down hearted ,  I will continue with my mission and help promote ESXi and detail some of the experience we have had running it in our 2 production clusters which consist of a 10  and a 20 node cluster.