VMware vSphere

 View Only
  • 1.  VMware VAAI and SCST

    Posted May 19, 2016 06:51 PM

    I was trying to set up VMware with SCST iSCSI target running on Ubuntu Linux but I couldn't get EXTENDED COPY command working between LUNs. It works correctly in SCST with sg_xcopy command but in VMware it doesn’t. The EXTENDED COPY command works only within the same LUN. I analyzed the traffic with Wireshark and noticed that the EXTENDED COPY is executed when virtual machine is cloned within one datastore. I found out that NexentaStor advertises that it works with VMware VAAI, so I tested it with their trial version. The NexentaStor was unstable but VMware sent EXTENDED COPY commands between LUNs (datastores). I captured the whole login session of NexentaStor with Wireshark and modified SCST code to respond with the same data as NexentaStor (except of vendor, product identification in standard INQUIRY command). It didn't work. The last step was changing identification fields (VENDOR IDENTIFICATION, PRODUCT IDENTIFICATION and PRODUCT REVISION LEVEL) in standard INQUIRY and... it started to work. I reverted back all the changes leaving only these three fields that introduce drive as NexentaStor's one and VMware didn't discover the iSCSI LUNs. So I made also a device identification VPD page similar to NexentaStor's. It means containing NAA designator, target port vendor specific designator, target port group designator and relative target port designator. Devices were discovered then and EXTENDED COPY command was sent while cloning machines between datastores (LUNs).

    How is it possible that the VMware has hardcoded the behaviour for the NexentaStor target? This is even not a VAAI plugin:

    esxcli storage core device vaai status get -d naa.606144f0e0d4fd770000503970705800

    VAAI Plugin Name:

    ATS Status: supported

    Clone Status: supported

    Zero Status: supported

    Delete Status: supported

    I'd like to use VMware with open source solutions and I'd expect that it behaves the same way as when there is no proprietary plugin.

    The sample INQUIRY response that makes it works looks like below:

    standard INQUIRY:

    PQual=0 Device_type=0 RMB=0 LU_CONG=0 version=0x06 [SPC-4]

    [AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=2

    SCCS=0 ACC=0 TPGS=1 3PC=1 Protect=0 [BQue=0]

    EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=0

    [RelAdr=0] WBus16=0 Sync=0 [Linked=0] [TranDis=0] CmdQue=1

    [SPI: Clocking=0x0 QAS=0 IUS=0]

    length=66 (0x42) Peripheral device type: disk

    Vendor identification: NEXENTA

    Product identification: COMSTAR

    Product revision level: 1.0

    Unit serial number: 3afcb739

    Device Identification VPD page:

    Addressed logical unit:

    designator type: NAA, code set: Binary

    0x606144f0e0d4fd770000503970705800

    Target port:

    designator type: vendor specific [0x0], code set: ASCII

    transport: Internet SCSI (iSCSI)

    vendor specific: iqn.2016-05:com.testtg0

    designator type: Target port group, code set: Binary

    Target port group: 0x0

    designator type: Relative target port, code set: Binary

    Relative target port: 0x1

    Isaac Goldbaum



  • 2.  RE: VMware VAAI and SCST
    Best Answer

    Posted May 25, 2016 04:03 PM

    It works only with constant PRODUCT IDENTIFICATION field. No matter what is set.

    Isaac Goldbaum