When a backed-up VM has multiple SCSI devices, use of a proxy VM may result in disordered SCSI controllers. VDDK 8.0 fixed this issue for Linux proxies, but here is a customer work-around for Windows.

When the backup proxy must add multiple SCSI controllers to back up a VM with multiple virtual disks, HotAdd transport could fail to recognize some disks correctly. Error messages might indicate "cannot use mode HotAdd to access" or "unable to locate appropriate transport mode" or "mount failed" or "cannot open disk" or "read error: Error 7 (a file access error occurred on the host or guest operating system)" – causing backup to fail.

These errors result when SCSI controller order in the proxy VM does not correspond one-to-one with SCSI initiator order in the backed-up VM. For example, SCSI controller 3 matches with SCSI initiator 1, throwing off subsequent numbering. Rather, SCSI initiator 0 in the guest VM must correspond to SCSI controller 0 in the proxy VM, initiator 1 in the guest to controller 1 in the proxy, initiator 2 in the guest to controller 2 in the proxy, and initiator 3 in the guest to controller 3 in the proxy.
Note: VMware strongly recommends use of paravirtual SCSI controllers (pvSCSI) as SCSI controllers in virtual machines. VMware also recommends limiting guest VMs to no more than two SCSI controllers, if possible.

Workaround for Disordered SCSI Controllers

When the issue occurs customers should perform this procedure on a proxy VM after every reboot (power off and on) to check for mismatched SCSI controller numbering. The KB article https://kb.vmware.com/kb/2141281 was written before the issue was fixed for Linux.

Prerequisites:

  • The OS disk(s) must be on SCSI controller 0 of the proxy VM.
  • Customers must apply this workaround before deploying any backup software. If backup jobs are running in the proxy VM, customers should reschedule those jobs on another proxy VM to avoid any issues.
  • Be familiar with topics "Add a Hard Disk to a Virtual Machine" and "Add a SCSI Controller to a Virtual Machine" in the vSphere Virtual Machine Administration manual on http://docs.vmware.com. Also see "Add a Paravirtualized SCSI Adapter" for details about pvSCSI.

Verify SCSI controller ordering:

Let's assume the proxy VM has four SCSI controllers and four SCSI host initiators. By adding disks to each controller, we can determine how SCSI controllers are matched to SCSI initiators.

  1. Confirm four SCSI host initiators of type vmw_pvscsi (numbers are not necessarily 1, 2, 3).
    # lsscsi -H
    [0] vmw_pvscsi
    [1] vmw_pvscsi
    [2] vmw_pvscsi
    [3] vmw_pvscsi
  2. Confirm disks are only on host0 with no disks on hosts 1, 2, 3.
    # lsscsi -d
    [0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda [8:0]
  3. Using the vSphere Client, add a dummy disk to SCSI controller 1.
    Disk Size: 1G
    Virtual Device Note: SCSI controller 1 SCSI (1:0) New Hard disk
  4. Confirm that the disk was added on SCSI host initiator 1. In this example, host 1 is correctly matched to controller 1.
    # lsscsi -d
    [0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda [8:0]
    [1:0:0:0] disk VMware Virtual disk 2.0 /dev/sdb [8:16]
  5. Remove the disk added from SCSI controller 1.
  6. Continue with similar steps for SCSI controllers 2 and 3.

If a non-correspondence is found at any step, continue by reconfiguring the SCSI controllers.

Reconfigure SCSI controllers:

  1. Power on the proxy VM, if powered off. Verify backup software is not running.
  2. Wait until the OS boots up completely to the login screen.
  3. Confirm there are no disks on SCSI controllers 1, 2, or 3.
  4. Remove SCSI controller 1, SCSI controller 2, and SCSI controller 3.

    Do not add multiple SCSI controllers in a single step.

  5. Add back SCSI controller 1.
  6. Add back SCSI controller 2.
  7. Add back SCSI controller 3.