Devices scsi_vhci(7D)
NAME
scsi_vhci - SCSI virtual host controller interconnect driver
DESCRIPTION
The scsi_vhci driver is a SCSA compliant pseudo nexus driver
that supports Solaris operating system I/O multipathing ser-
vices for SCSI-3 devices. This driver introduces a fundamen-
tal restructuring of the Solaris device tree to enable a multipath device to be represented as single device instance rather than as an instance per physical path as in earlier Solaris versions. The logical units (LUNs) associated multipath SCSI target devices managed by this driver are identified andrepresented by using the SCSI-3 VPD page (0x83) LUN global
unique identifier (GUID) represented as hexadecimal number (64/128 bits) Symbolic links in /dev/[r]dsk and /dev/scsi/changer continueto adhere to the cNtNdNsN format. cN is the logical con-
troller number assigned to this driver instance. tN is the GUID.Symbolic links in /dev/rmt/#[l|m|h|c|u],[b],[n] also adhere
to the same format as non-multipath devices. Because of per-
sistent binding of tape devices, you may want to remove oldnon-multipath links when enabling them for multipath.
The following is an example of a system with an A5000 storage array: .../dev/rdsk/c4t200000203709C3F5d0s0 -> ../../devices/
scsi_vhci/ssd@g200000203709c3f5:a,raw
.../dev/rdsk/c4t200000203709C3F5d0s7 -> ../../devices/
scsi_vhci/ssd@g200000203709c3f5:h,ra
... The following is an example of a system with a T300 storage array: .../dev/rdsk/c1t60020F200000033939C2C2B60008D4AEd0s0 ->
../../devices/scsi_vhci/
ssd@g60020f200000033939a2c2b60008d4ae:a,rawSunOS 5.11 Last change: 23 Jun 2008 1
Devices scsi_vhci(7D)
.../dev/rdsk/c1t60020F200000033939A2C2B60008D4AEd0s7 ->
../../devices/scsi_vhci/
ssd@g60020f200000033939a2c2b60008d4ae:h,rawThe scsi_vhci driver receives naming and transport services
from one or more physical HBA (host bus adapter) devices. Tosupport multi-pathing, a physical HBA driver must have its
multipathing enabled and comply with the multipathing ser-
vices provided by this driver.The scsi_vhci driver supports the standard functions pro-
vided by the SCSA interface. ConfigurationFor each candidate SCSI target device, the scsi_vhci code
must identify a failover module to support the device. If a failover module can't be identified, the device will notfunction under scsi_vhci multipathing control. For SCSI
target devices that support the standard Target Port Group Select, no special vendor/product knowledge is needed. For other SCSI target devices, each failover module understands which devices it supports.When autoconfiguration does not result in the desired confi-
guration, a vendor/product specific override mechanism isavailable. This scsi_vhci.conf base mechanism can be used to
direct a device to a specific failover module (or to indi-
cate that a device should not be under scsi_vhci multipath-
ing control by way of NONE). In scsi_vhci.conf, the pro-
perty 'scsi-vhci-failover-override' defines overrides in
scsi_get_device_type_string(9F) form. To add a third-party
(non-Sun) symmetric storage device to run under scsi_vhci
(and thereby take advantage of scsi_vhci multipathing), you
add the vendor ID and product ID for the device, as thosestrings are returned by the SCSI Inquiry command. For exam-
ple, to add a device from a vendor with the ID of "Acme" and a product ID of "MSU", you would add:device-type-scsi-options-list =
"Acme MSU", "f_sym",
In addition to "Acme", you also might want to add anotherentry, for example, a device from "XYZ" vendor with a pro-
duct ID of "ABC":SunOS 5.11 Last change: 23 Jun 2008 2
Devices scsi_vhci(7D)
scsi-vhci-failover-override =
"Acme MSU", "f_sym",
"XYZ ABC", "f_sym";
As a last override, you might add an entry so that no dev-
ices from "ABC" vendor use scsi_vhci multipathing:
scsi-vhci-failover-override =
"Acme MSU", "f_sym",
"XYZ ABC", "f_sym",
"ABC ", "NONE"; FILES/kernel/drv/sparcv9/scsi_vhci
64-bit kernel module (SPARC).
/kernel/drv/scsi_vhci
32-bit kernel module (x86).
/kernel/drv/amd64/scsi_vhci
64-bit kernel module (amd64).
/kernel/drv/scsi_vhci.conf
Driver configuration file.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 23 Jun 2008 3
Devices scsi_vhci(7D)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | PCI-based systems |
|_____________________________|_____________________________|
| Availability | system/kernel ||_____________________________|_____________________________|
SEE ALSO
eeprom(1M), prtconf(1M), stmsboot(1M), mpathadm(1M), attri-
butes(5), fcp(7D), fctl(7D), fp(7d), mpt(7D), ssd(7D),sd(7D), st(7D), sgen(7D), scsi_abort(9F),
scsi_get_device_type_scsi_options(9F),
scsi_get_device_type_string(9F), scsi_ifgetcap(9F),
scsi_reset(9F), scsi_transport(9F), scsi_inquiry(9S),
scsi_extended_sense(9S), scsi_pkt(9S)
Writing Device DriversSmall Computer System Interface-3 (SCSI-3)
NOTESIn previous releases, the scsi_vhci.conf file supported the
mpxio-disable property, which allowed you to disable
Solaris I/O multipathing on a system-wide basis. This pro-
perty is not present in the current release of the Solaris operating system. Multipathing is always enabled inscsi_vhci. If you want to disable multipathing, use the
mechanisms provided by the HBA drivers. See fp(7d) and mpt(7D). In previous releases, the override mechanism was based onthe scsi_get_device_type_scsi_options(9F) defined "device-
type-scsi-options-list" property. During upgrade,
scsi_vhci.conf is converted to the new form. After upgrade,
a scsi_vhci.conf modification based on the old mechanism is
silently ignored.In previous releases, Solaris I/O multipathing was also known as MPxIO and Sun StorEdge Traffic Manager (STMS).
SunOS 5.11 Last change: 23 Jun 2008 4