ESXi

 View Only
  • 1.  vStorage APIs for array integration being used ?

    Posted Mar 20, 2013 04:17 PM

    Hello,

              Is the 'Hardware Acceleration' colum in vSphere client a fair indication of whether this feature is being used on a host. I realize there are certain restrictions like VMFS/NFS not being able to support some hardware acceleration capabilities, but does that column in vSphere Client reflect that properly.

    Also is the command "esxcli storage core device list | egrep “Display Name:| VAAI Status:" a good substitute to looking at the 'Hardware Acceleration' column in vSphere Client ?

    Additionally, the fields ->

    Configuration -> Software:

    DataMover.HardwareAccelerateMove
    DataMover.HardwareAcceleratedInit
    VMFS3.HardwareAcceleratedLocking

    need to be enabled on a host for a host to be able to use the feature.

    if this is true, Does anyone know of any support in the vSphere API, that can help me look at if this feature is being utilized on a host ?

    Gokul.



  • 2.  RE: vStorage APIs for array integration being used ?

    Posted Mar 20, 2013 05:21 PM

    the esxcli output shows you if the storage array supports the commands.

    The advanced config fields show if ESXi will use them if available.

    If you want to see them actually being used, watch esxtop - the various primitives like ATS have counters.



  • 3.  RE: vStorage APIs for array integration being used ?

    Posted Mar 20, 2013 05:36 PM

    Then, would the combination of 'advanced config fields' and 'esxcli output' be a fair indication of whether it is being used ?

    Any idea about vSphere API support instead of using esxcli ?



  • 4.  RE: vStorage APIs for array integration being used ?

    Posted Mar 20, 2013 11:10 PM

    Those fields will indicate that it *could* be used.  To see that it IS being used, you need to check the esxtop output.

    Not sure where to find that in the API.



  • 5.  RE: vStorage APIs for array integration being used ?

    Posted Mar 21, 2013 10:22 AM

    Thanks Matt for that.

    I am trying to understand under what conditions will the feature not be used even if both of those requisites are met i,.e 1)  (advanced config fields) it is enabled on the host and 2) (h/w accel) it is supported by the underlying storage. Is there anything in particular that can lead to the feature not being used even if both of them were true?



  • 6.  RE: vStorage APIs for array integration being used ?

    Posted Mar 21, 2013 11:27 AM

    esxcli storage core device vaai status get

    Will also give you a nice overview of primitives that are supported in your environment.

    Also check out http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1021976

    It has alot of examples where VAAI cannot be used.



  • 7.  RE: vStorage APIs for array integration being used ?

    Posted Mar 22, 2013 10:47 AM

    Thanks again. Yes I did look at that link.

    So the three main primitives used are : 'VAAI primitives "Full Copy", "Block Zeroing" and "Hardware Assisted Locking"

    1. My first question is when the 'Hardware acceleration' column against the storage says 'Supported', does it mean all of these are supported or could some of these supported ? Under what conditions, does this field say 'Unknown', can it be that way when not all the features/pritives are supported ? Can someone confirm this ? This basically means that even if the 'vStorage APIs for Array integration feature is being used' for one primitive, then the column can say 'Unknown' ?

    So say for these caveats:

    Use of the ATS (Atomic Test-and-Set) primitive depends on the type of filesystem:

    On VAAI HardwareNew VMFS-5Upgraded VMFS-5VMFS-3
    Single-extent datastoreATS only [1]ATS, but fall back to SCSI-2 reservationsATS, but fall back to SCSI-2 reservations
    Multi-extent datastoreOnly allow spanning on ATS hardware [2]ATS, except when locks on non-headATS, except when locks on non-head

    And

    VAAI hardware offload cannot be used when:

    • The source and destination VMFS volumes have different block sizes
    • The source file type is RDM and the destination file type is non-RDM (regular file)
    • The source VMDK type is eagerzeroedthick and the destination VMDK type is thin
    • The source or destination VMDK is any kind of sparse or hosted format
    • Cloning a virtual machine that has snapshots (or doing a View replica or recompose), because this process involves consolidating the snapshots into the virtual disks of the target virtual machine
    • The logical address and/or transfer length in the requested operation is not aligned to the minimum alignment required by the storage device (all datastores created with the vSphere Client are aligned automatically)
    • The VMFS datastore has multiple LUNs/extents spread across different arrays

    , For these 2 caveats, does the command output say 'Not supported' if any of the failing conditions arent met ? or is it left to me to fire other commands to get this status ?



  • 8.  RE: vStorage APIs for array integration being used ?

    Posted Mar 22, 2013 10:49 AM

    So in summary my question is for the command

    # esxcli storage core device vaai status get

    You see output similar to:

    mpx.vmhba1:C0:T1:L0

       VAAI Plugin Name:
       ATS Status: unsupported
       Clone Status: unsupported
       Zero Status: unsupported
       Delete Status: unsupported

    Is it fair to say that, If even one of these comes out as 'Supported', then VAAI is being used in some way ?



  • 9.  RE: vStorage APIs for array integration being used ?

    Posted Mar 22, 2013 03:48 PM

    Gokul_K wrote:

    Is it fair to say that, If even one of these comes out as 'Supported', then VAAI is being used in some way ?

    It would be fair to say that VAAI *could* be used in some way, if an operation is requested that would use the VAAI command and it meets the requirements you pasted above.

    The *only* way to tell if it *actually* being used us the ESXtop counters.



  • 10.  RE: vStorage APIs for array integration being used ?

    Posted Mar 27, 2013 04:04 PM

    Gokul_K wrote:

    Is it fair to say that, If even one of these comes out as 'Supported', then VAAI is being used in some way ?

    The alternatives of supported / unsupported / unknown are not quite obvious. Here is a blog post about the differences in the GUI and the CLI and what the different names means.

    http://rickardnobel.se/verify-vaai-from-gui-and-command-line

    And as Matt says, to actually know if they are used you must use ESXTOP while doing anything that might use the VAAI offloads, for example a storage vMotion to a datastore on the same SAN. Here is how to activate the relevant VAAI counters in ESXTOP:

    http://rickardnobel.se/monitor-vaai-with-esxtop-on-esxi-5-0