Start a Conversation

Unsolved

This post is more than 5 years old

1298

December 17th, 2011 11:00

Checking current status of VAAI support for your environment

I had a question come through twitter the other day from @AleXgTorres around how one would check a cluster's datastores for VAAI compatability.  First of all why is this important?  Typically to check VAAI compatability one goes to the Configuration -> Storage and looks at the table of datastores which lists whether VAAI is Supported/Unsupported/Unknown.  The important part of this is that all ESX hosts decide for themselves whether a datastore is VAAI capable.  Since this is a fan-out situation, a little scripting can help to gather the data to see which hosts have identified VAAI capabilities (Supported/Unsupported) and which ones have yet to send a VAAI test command (Unknown).

[array]$arrVMHost = Get-VMHost

$arrVMHost | %{ 

        $VMHost = $_

        $configStorageSystem = Get-View (Get-View $VMHost.ID).ConfigManager.StorageSystem

        [array]$arrVolumeMountInfo = $configStorageSystem.FileSystemVolumeInfo.MountInfo

        $arrVolumeMountInfo | select @{n="VMHostName";e={$VMHost.name}},@{n="name";e={$_.Volume.Name}},@{n="VAAISupport";e={$_.VStorageSupport}}

} | sort name,VMHostName

That's it! The first line can be modified to first specify a cluster (get-cluster name | get-vmhost) if you want to be more granular than collecting all ESX hosts from the vCenter instance you are using through PowerCLI.

1 Attachment

7 Posts

January 8th, 2012 23:00

Clint, is it possible to manually craft a "VAAI test command" ? If I could send one of these (scsi commands?) I could then be 100% sure about whether or not the arrays support VAAI (rather than them being in an 'Unknown' state).

   -Alex

7 Posts

January 8th, 2012 23:00

Hey Clint,

Thanks for the post! I ended up gathering the info via a busybox console on one of the ESXi hosts as such:

#!/bin/sh

for i in `cat /var/tmp/esxhosts.txt`

do

    echo $i

    esxcli --server vcentre.foobar.com.au --passthroughauth --passthroughauthpackage "kerberos" --vihost $i corestorage device list | egrep ".*Display Name: DGC|VAAI Status:"

done

Thanks for the PowerCLI solution! Looks great!

  -Alex (@AleXgTorres)

61 Posts

January 9th, 2012 06:00

There isn't a 'VAAI test command', because the way the host figures it out is by just trying it and seeing if it gets an error.

Its pretty easy to be certain - run a Clone operation where it 'should' work (same array, move between datastores, etc) and watch the ESXtop counters.  If the work is progressing and the VAAI counters are increasing, then its working just fine.

No Events found!

Top