Oracle VM Server for SPARC developer Andrew Rutz contributed this post.
Oracle VM Server for SPARC provides the virtual SCSI Host Bus Adapter (vHBA) subsystem which permits guest domains to address virtual SANs (vSAN) and pass SCSI I/O requests to physical SCSI HBA drivers that execute in the service domain. A vHBA can recognize any SCSI device type such as disk, CD, DVD, or tape, and use full Solaris device capabilities. This offers functional improvement over the traditional virtual disk (vdisk). It also reduces the number of commands needed to configure virtual devices, and reduces the number of logical domain channels (LDC) needed.
The vHBA feature is available with the Oracle Solaris 11.3 OS. Control, service, and guest domains should run at least Oracle Solaris 11.3 SRU 23. The new features described in this post require Solaris 11.4 public beta refresh 2, which includes Oracle VM Server for SPARC 3.6.
Oracle VM Server for SPARC 3.6 extends the virtual SCSI Host Bus Adapter (vHBA) subsystem by enabling the administrator to configure a virtual Storage Area Network (vSAN) device to have an explicit set of SCSI device(s). This provides administrator control over the devices visible to the guest domain while providing full vHBA functionality. The new implementation is backward compatible so the default arguments to the add-vsan command produce the same, historical behavior in which all SCSI devices reachable from the specified SCSI Initiator Port (iport) will be members of the vSAN.
Oracle VM Server for SPARC 3.6 adds or modifies five ldm(8) commands in order to create a per-vSAN device mask, where each mask member is the worldwide number (WWN) of a SCSI device reachable from the vSAN's iport. The vhba instance associated with the vSAN device has access to only those devices in the mask.
This feature enables Oracle VM Server for SPARC 3.6 guest domains to have customer-driven access-control at a per-SCSI-device granularity. Note that this feature does not prevent a specific SCSI device from being a member of one or more vSANs. Also, devices can be dynamically added and removed from the vSAN's mask. Completion of outstanding I/O requests is synchronized with changes to mask membership. Lastly, Oracle Solaris Multipathing interacts as expected with this feature such that all paths that reference the specified SCSI devices will be used to access the vSAN's devices.
With Oracle VM Server for SPARC 3.6, introduced with Oracle Solaris 11.4 beta, the vHBA function is enhanced to permit individual device masking, providing operational control of which devices guest domains can access on their virtual SANs, while compatibly retaining the functional benefits provided by vHBA.