VMworld, vForum, vAware

A lot has happened in the world since my last post. I have already touched on vSphere 5.5, and VMware have made some superb additions to the platform. I have also had a chance to get some more experience in the last few months with the new feature set and it seems obvious to me that at a high level the two most exiting areas are:

  • VSAN
  • VMware NSX

VSAN is going to make a huge impact especially in the VDI and entry level areas. Rackmount servers are the ideal solution in this space as I feel that the blade investments people have made will not be much use for a VSAN deployment. The setup for VSAN is very straight forward, enable it at a cluster level and it will pool all the local disk together into a single datastore which is then represented to the entire cluster. Given that the setup is moving to RAIN, is anything other than RAID 0 required at the local storage configuration layer.

I was at vForum in Sydney last week and had the pleasure of meeting Martin Casado, one of the founders of Nicira (now VMware NSX). I highly recommend you catch up on one of his talks if you have the time, follow this link to catch him at the OpenStack Summit in Hong Kong:


I must admit to finding it difficult to find time to post at the moment. I am five months into a new challenging role, it is an incredibly exciting place to work, however there is little that I can share in this blog! My blog comments are also my own and do not reflect the company that I work for.

Where to next. I still have ambitions to complete the VCDX (which is proving a challenge to do from Australia), and who would have thought two small sons would impact my time!

Cloud Highs and Lows

(My comments are my own)

I realised that it had been quite some time since I posted anything. My last update was when VMworld was playing out and that seems like a really long time ago now.

A lot seems to have happened since then. I am very interested in the updates and look forward to Barcelona to find out what happens next.

Some other notable things have happened in the cloud space. For those of you who are not aware, if you currently navigate to http://www.nirvanix.com you will be presented the following message:

“Nirvanix Customers,

For the past seven years, we have worked to deliver cloud storage solutions. We have concluded that we must begin a wind-down of our business and we need your active participation to achieve the best outcome.

We are dedicating the resources we can to assisting our customers in either returning their data or transitioning their data to alternative providers who provide similar services including IBM SoftLayer, Amazon S3, Google Storage or Microsoft Azure.”

I think this is an interesting statement on the risks that have been taken by pushing into cloud. Nirvanix were held up as a strong cloud company, yet the fall from grace has been meteoric. What does this say about cloud in general? I think that (and remember these are my thoughts and opinions) that this highlights the requirements to examine how profits are generated in the cloud space. I think it outlines that if your business model is not right then it does not matter how good the technology is, failure is the only result.

Lets look at the positive things that are happening in the cloud space. VMware have launched their vCloud Hybrid Service, a sensible addition to there product base, if you are interested more information can be found here:


The product offerings themselves are interesting, (quoted from http://www.vmware.com/files/pdf/vchs/vCloud-Hybrid-Service-Tech-FAQ.pdf):

  • Dedicated Cloud

The Dedicated Cloud offering includes 30 GHz of Compute (vCPU) capacity, 120 GB of vRAM, and 6TB of Storage to start.
Also, 3 public IP’s are provided, as well as a 50 Mbps network link, burstable to 1 Gbps.

  • Virtual Private Cloud

The Virtual Private Cloud offering includes 5 GHz of Compute (vCPU) capacity, 20 GB of vRAM, and 2TB of Storage to start.
Also, 2 public IP’s are provided, as well as a 10 Mbps network link, burstable to 50 Mbps.

There has been some speculation as to the hardware used for the back end infrastructure, there is an interesting line in the tech faqs stating that “our specific hardware vendors remain subject to change.”

What will be interesting is how will this product do in the market? Will we see companies using this infrastructure as their offsite DR target for their in house datacenter? I will be interested to see the numbers in a years time. Would a logical step be to produce reference architecture for on premise private cloud to off premise vCloud Hybrid Service, I think it would be. I am doing my best to avoid naming other vendors here.

Roll on VMware Barcelona, and then for those of us in Australia, vForum in Sydney!

VMWorld – vSphere 5.5

As usual my comments are my own.

Given that it is is VMWorld this week and also I am not able to attend, maybe next year, I felt it was time to highlight some of the announcements to come out of the conference.

I found the content of the key note interesting this year, continuing the drive towards the software defined data center, I think the decision to make the products a 5.5 release shows where the focus has been (more in the network/storage space). Whilst engineering limits have been increased, there is nothing ground breaking in the core products (please feel free to disagree with me). vSphere 5.5 for instance has some new features, for instance the scale out of VSAN for example. Here is a quick overview of the updates, (more details can be found here: http://www.vmware.com/files/pdf/vsphere/VMware-vSphere-Platform-Whats-New.pdf)

  • Enhancements to the use of processor C-states
  • Increase in the VMDK size to 62 TB
  • Permanent Device Loss AutoRemove
  • Full 16GB FC support
  • VMFS Heap Improvements
  • Increase in the number of support vCPUs 
  • vSphere Flash Read Cache
  • 40GB NIC Support

That is just highlight. Some of these bring VMware in line with other hypervisors, some of them are response to common issues I have witnessed on platforms, the PDL autoremove is a great addition. I have seen an issues with a single LUN take whole clusters offline.

So where is the focus right now, well it seems in the following two areas:

1) Software defined networking (building on the previous work already completed)

2) Software defined storage (to rival a number of vendors starting to offer these products to the enterprise, e.g. Gluster)

So where too next with vSphere, still the core VMware product, are we due for another core change to the internal architecture that will allow the product to scale with greater ease? I think so, but remember that is just my opinion.

It also seems to me that in other areas such as network and storage the focus is fantastic, how can we remove scaling limits. These are really game changing technologies especially in the service (cloud) provider space. The big question for me is as we push up a level in the storage/network space how do we:

1) Ensure compliance 

2) Ensure security is maintained, remember these solutions have to be rock solid from a security perspective.

Anyway, enough for today. I am going to be keeping an eye on the other announcements and I will write something more detailed around the introduction of VSAN in my next blog.


Progress through IT exams and certifications can sometimes be a challenging time. I feel a lot of the time they do not reflect the real world skills required to actually work in that area. For example a multiple choice question exam does not always suit everyone and can at times be a difficult thing to study for, what you really need is something that test day to day skills.

The VMware VCAP exams definitely do that. The DCA exam was like nothing I had ever experienced before. I remember looking through the blue print online and thinking it will be incredibly challenging. So that is where you should start here:


To prepare for the exam I did the following:

1) Attended the Optimize & Scale course. This was a really detailed course and challenged my knowledge in vSphere 5 (at this point I was still predominantly working with vSphere 4.1).

2) I had access to a high end lab environment and I also built out a smaller scale environment at home, so I could test settings, break things and see the repercussions, and most importantly remind myself of all the command line activities.

3) I reviewed the vBrownbag podcasts, these are an excellent source of information. Access here:


4) I started working with vSphere 5 more and more in my day to day role (we were implementing an enterprise scale VDI platform on vSphere 5 at the time).

5) I read as many PDF’s and kb articles I could find time to read.

6) I read as many blogs as I could around the exam itself, specifically:

(Just to name 3, there is a lot of material out there)

For those of you who have completed the DCA4 exam, there is of course one fundamental difference, no ESX classic.

The NDA around the exam prevents me from being specific about the content. But I wanted to reiterate what I have read and experienced. Read the blue print, understand everything, not everything will be tested though.

Book the exam if you have plenty of hands on experience with vSphere 5 and are comfortable with the command line, both shell and ideally powercli.

The exam itself is a bit of a monster, at 4 hours long. Depending on where you take it will depend on what you can take into the exam. With the DCA exam it is important to work through everything in order as it builds on work previously done and trying to go back in the exam later can be painful, due to the equipment lag.

The most important things are:

  1. When booking work out the best time of day for you to sit a 4 hour long exam, I tend to do better in the morning so I went with 9am.
  2. Get a good nights sleep before the exam.
  3. Eat something before you go in and take a snack and water in with you if you can. Because if you are like me if you need to eat something you lose focus.
  4. Stay calm and work through the problems, remembering that there is not specifically one way of doing things, you use your own preferred method.

I will leave you with one last thing. If the exam lab does not look right (ie you have a host not responding for example, this probably is not part of the exam and you have a problem). One of my friends sat the DCA4 and had a host in a not responding state, he spent 45 minutes trying to troubleshoot it, before doing a host reboot (something you are told not to do), he passed but could have done without the stress!

Have fun and good luck.

vExpert 2013

I realised on the weekend that I had not talked about one of the most exciting things that has happened to me in the last few months (besides a fantastic new role!), being awarded the vExpert 2013 status.

Over the last few years I have been lucky enough to be working on a number of projects, all Enterprise class deployments based on VMware. A brief list is included below:

  • Large Server platform based on vSphere 4.1 with HP c7000 Blade chassis and EMC VMax
  • Large VDI deployment on vBlock 700MX with Citrix Xendesktop and vSphere 5.0
  • Large Server platform based on vBlock 700MX with vSphere 5.0 and VPLEX.
  • Global Deployment of vSphere platforms across 36 countries based on vSphere 5.0 and NetApp.

Please see the following link to all the fantastic people who have been added or returned to the list this year:


As I have outlined this is a fantastic program. I only hope that I can make VMworld this year, but at this stage it is looking unlikely!

Further Adventures in Scripting

I wanted to explore some future areas where that I would like to write about:

1) Using Sharepoint as a VM deployment configuration source for automated VM deployment.

2) Using Sharepoint as an ESXi host deployment configuration source automated ESXi configuration.

3) Health checking in the vSphere environment, I think we can all agree that vCheck( thank you to the incredibly talented Alan Renouf) is the champion resource here and this can be found at:


This is useful from SMB to large Enterprise scale environments.

4) My experiences with the VCAP-DCA and VCAP-DCD.

5) My work in progress experience to attempt the VCDX.

6) My adventures and experiences in the world of cloud computing.

Its funny to write about the things that you want to write about and I hope they can eventuate soon, although with a new job and two small children, my free hours are few and far between.

Improving the Speed of a script using Get-View

Working in an enterprise environment with a large number of virtual centers presents a number of problems. Where is the VM hosted?

This challenge led to some thinking and as we had previously delivered a utility scripting server, it seemed like a good idea to enable IIS, and host some freely available searchable web pages.

I then built a central location to host the output (a simple IIS server will suffice), then we created a list of virtual centers that needed to be contacted and put this in a text file, then it was simply a question cycling through each VC and appending the information to the end of the HTML file.

  • Each virtual center was then queried with the following script (with help from the VMware communities).
## for environments older that v4.0 (older API)
Get-View -ViewType ClusterComputeResource -Property Name | %{
    ## store this cluster in a variable for later use
    $viewThisCluster = $_
    Get-View -ViewType HostSystem -SearchRoot $viewThisCluster.MoRef -Property Name | %{
        ## store this host in a variable for later use
        $viewThisHost = $_
        ## get the .Net View object for all VMs (not templates) and return a bit of info for each; add info to the Report array
        Get-View -ViewType VirtualMachine -SearchRoot $viewThisHost.MoRef -Property Name, Guest.HostName, Config.Hardware.NumCPU, Config.Hardware.MemoryMB, Config.Hardware.Device, Guest.IPAddress, Runtime.PowerState, Config.DatastoreUrl -Filter @{"Config.Template" = "False"} | %{
            $Report += Select -InputObject $_ Name,
                @{N="NumCPU"; E={$_.Config.Hardware.NumCPU}},
                @{N="MemoryMB"; E={$_.Config.Hardware.MemoryMB}},
                @{N="DiskGB";E={[Math]::Round((($_.Config.Hardware.Device | ?{$_ -is [VMware.Vim.VirtualDisk]} | Measure-Object -Property CapacityInKB -Sum).Sum / 1mb),2)}},
                @{N="IP Address";E={@($_.Guest.IPAddress)[0]}},
                @{N="VM VC";E={$VISRV}},
                @{N="ESX Host";E={$viewThisHost.Name}},
                @{N="Datastore";E={@($_.Config.DatastoreUrl | %{$_.Name})}},
                @{N="VM URL";E={"<a href=https://$VISRV/ui/vmDirect.do?view=" + ($URLVM = ($SdkUrlB64 = [System.Convert]::ToBase64String(([System.Text.Encoding]::ASCII.GetBytes("wsUrl=http://localhost/sdk&vmId=VirtualMachine|" + $_.MoRef.Value + "&ui=33")))) + "_") + ">$($_.Name)</a>"}}
        } ## end foreach-object
    } ## end Get-View for hosts
} ## end Get-View for Clusters
  • For newer environments (vSphere 4+) we used:

$Report = @()

Foreach ($VISRV in $VISRVs) {
if ($VISRV.contains($ProdDom))
{Connect-VIServer -Server $VISRV -user $UserProd -pass $PassProd}
{Connect-VIServer -Server $VISRV -user $UserLabs -pass $PassLabs}

Get-View -ViewType ClusterComputeResource -Property Name | %{
## store this cluster in a variable for later use
$viewThisCluster = $_
Get-View -ViewType HostSystem -SearchRoot $viewThisCluster.MoRef -Property Name | %{
## store this host in a variable for later use
$viewThisHost = $_
## get the .Net View object for all VMs (not templates) and return a bit of info for each; add info to the Report array
Get-View -ViewType VirtualMachine -SearchRoot $viewThisHost.MoRef -Property Name, Guest.HostName, Config.Hardware.NumCPU, Config.Hardware.MemoryMB, Summary.Storage.Committed, Guest.IPAddress, Runtime.PowerState, Config.DatastoreUrl -Filter @{“Config.Template” = “False”} | %{
$Report += Select -InputObject $_ Name,
@{N=”NumCPU”; E={$_.Config.Hardware.NumCPU}},
@{N=”MemoryMB”; E={$_.Config.Hardware.MemoryMB}},
@{N=”DiskGB”;E={[Math]::Round(($_.Summary.Storage.Committed / 1GB),2)}},
@{N=”IP Address”;E={$_.Guest.IPAddress[0]}},
@{N=”VM VC”;E={$VISRV}},
@{N=”ESX Host”;E={$viewThisHost.Name}},
@{N=”Datastore”;E={@($_.Config.DatastoreUrl | %{$_.Name})}},
@{N=”VM URL”;E={“<a href=https://$VISRV/ui/vmDirect.do?view=” + ($URLVM = ($SdkUrlB64 = [System.Convert]::ToBase64String(([System.Text.Encoding]::ASCII.GetBytes(“wsUrl=http://localhost/sdk&vmId=VirtualMachine|” + $_.MoRef.Value + “&ui=33”)))) + “_”) + “>$($_.Name)</a>”}}
} ## end foreach-object
} ## end Get-View for hosts
} ## end Get-View for Clusters

Disconnect-VIServer -Server $VISRV -Confirm:$false

($Report  | Convertto-Html -head $head -body $body -title $title -PostContent $postcont) -replace ‘&lt;’, “<” -replace ‘&gt;’, “>” -replace ‘<table>’, $tableout  | Out-File “$fileloc\$file”)

Now the code will return a list of VMs, there associated VC, a console link to the VM, and other quick reference data in a simple HTML format.