How to Connect a Tape Autoloader to VMware ESXi Guest OS VM
In order to use a tape autoloader library with a virtual machine guest OS, both the autoloader and tape drive need to be passed-through to the guest OS by the ESXi operating system. Enabling pass-through access to a SCSI or SAS device can easily be setup within the Virtual Machine settings.
However most autoloaders use SCSI LUNs to provide separate connectivity to the autoloader (robotic) unit and the tape drive, or multiple drives if the autoloader has more than one. By default ESXi does not expose the separate LUNs when enabling pass-through access to SCSI or SAS devices so the guest OS can only see the tape drive - and cannot control or access the autoloader.
The result is that backing up to a single tape loaded in the drive works - but using the autoloader tape mechanisms fails. Backup software such as Backup Exec will not be able to control the loading, unloading and inventory of tapes.
To enable access to the tape autoloader you can 'unmask' the SAS/SCSI LUNs in ESXi so they are passed-through to the guest Virtual Machine.
Here are the basic steps:
Enable SSH on the VM Server
SSH to the server and get a list of the scsi/sas drivers using the following command line:
In the output, make note of the driver that is listed for the vmhba having issues. For example:
"vmhba3 mpt2sas link-n/a sas.500605b0069c9180 (0:13:0.0) LSI Logic / Symbios Logic HP H221 Host Bus Adapter"
- Take note of that on vmhba3 the driver needed is mpt3sas
Add a specific rule for that vmhba using the driver reported in step 3:
esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --driver="mpt2sas" --description="Rule to unmask SAS LUN"
Re-scan all storage adapters. The dead path to the autoloader component should come back online.