Best practice for Linux proxy VM configuration in HotAdd transport
book
Article ID: 301575
calendar_today
Updated On:
Products
VMware vSphere ESXi
Issue/Introduction
Symptoms: When there are multiple SCSI controllers in the Linux Proxy VM,
The disk open may fail due to exception
2018-03-28_09:07:34.633 INFO VDDK - 2018-03-28T05:07:34.633-04:00 error -[03497] [Originator@6876 sub=transport] Cannot use mode hotadd to access [sharedVmfs-0] RHELXfsTargetClone_src/RHELXfsTargetClone_src-000001.vmdk: Cannot mount using this method. (Mounting 4217d91d-6112-4412-2a1a-54caec2cf7aa using transport hotadd failed : HotAdd ManagerLoop caught an exception.) 2018-03-28_09:07:34.633 INFO VDDK - 2018-03-28T05:07:34.633-04:00 info -[03497] [Originator@6876 sub=ThreadPool] Thread delisted 2018-03-28_09:07:34.633 INFO VDDK - VixDiskLib: Unable to locate appropriate transport mode to open disk. Error 13 (You do not have access rights to this file) (Mounting 4217d91d-6112-4412-2a1a-54caec2cf7aa using transport hotadd failed : HotAdd ManagerLoop caught an exception.) at 5283. 2018-03-28_09:07:34.633 INFO VDDK - VixDiskLib: VixDiskLib_OpenEx: Cannot open disk [sharedVmfs-0] RHELXfsTargetClone_src/RHELXfsTargetClone_src-000001.vmdk. Error 13 (You do not have access rights to this file) (Mounting 4217d91d-6112-4412-2a1a-54caec2cf7aa using transport hotadd failed : HotAdd ManagerLoop caught an exception.) at 5423.
The disk open may fail due to incorrect disk device open.
The target disk close may lead to other disk removal.
Environment
Virtual Disk Development Kit 1.0.1 Virtual Disk Development Kit 1.2.2 Virtual Disk Development Kit 1.2 Virtual Disk Development Kit 5.0 Virtual Disk Development Kit 5.1 Virtual Disk Development Kit 6.5 Virtual Disk Development Kit 5.5 Virtual Disk Development Kit 1.1.1 Virtual Disk Development Kit 1.1.0 Virtual Disk Development Kit 1.2.1 Virtual Disk Development Kit 6.0 Virtual Disk Development Kit 6.7
Cause
When there are multiple SCSI controllers in the Linux Proxy VM, the hotadd transport may not be able to recognize the disk correctly.
The cause of these errors is that SCSI controller ordering in the proxy VM must correspond one-to-one with SCSI controller ordering in the backed-up guest VM.
For example, SCSI initiator 0 in the guest VM corresponds to SCSI controller 0 in the proxy VM, SCSI initiator 3 in the guest VM corresponds to SCSI controller 1 in the proxy VM, SCSI initiator 4 in the guest VM corresponds to SCSI controller 2 in the proxy VM, and SCSI initiator 5 in the guest VM corresponds to SCSI controller 3 in the proxy VM.
[0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda [1:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0 [2:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr1 [3:0:0:0] disk VMware Virtual disk 2.0 /dev/sdb [4:0:0:0] disk VMware Virtual disk 2.0 /dev/sdc [5:0:0:0] disk VMware Virtual disk 2.0 /dev/sdd
The first column I:C:T:L indicates initiator, controller, target, and LUN. The root partition is assigned SCSI disk A, /dev/sda. When SCSI devices are added, they will be /dev/sdb, /dev/sdc, etc
Resolution
This issue is fixed for Linux proxy since VDDK 7.0.3.2 and later.
Workaround: HotAdd backup has a strict requirement for SCSI controller correspondence: SCSI controller ordering in the proxy VM must match ordering in the backed-up VM. Previously this requirement was documented as requiring numeric order, but the actual requirement is for one-to-one correspondence.
To work around this problem when it occurs, follow these steps after every reboot of the proxy VM:
1, Power off the proxy VM 2, Move all the disks to SCSI controller #0 (so you can remove other controllers in the next step) 3, Remove SCSI controller #1, SCSI controller #2, SCSI controller #3 4, Power on the proxy VM and make sure the proxy VM can boot successfully 5, Add back SCSI controller #1 6, Add back SCSI controller #2 7, Add back SCSI controller #3 8, Confirm that SCSI controller ordering can match the SCSI order in the proxy VM.
It’s highly recommended to use SCSI controller of type (Paravirtualized SCSI) in proxy VM.
May refer to latest VDDK Programming Guide for more info.