# # Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. # # name="scsi_vhci" class="root"; # # Load balancing global configuration: setting load-balance="none" will cause # all I/O to a given device (which supports multipath I/O) to occur via one # path. Setting load-balance="round-robin" will cause each path to the device # to be used in turn. # load-balance="round-robin"; # # Automatic failback configuration # possible values are auto-failback="enable" or auto-failback="disable" auto-failback="enable"; #BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE) # # Declare scsi_vhci failover module paths with 'ddi-forceload' so that # they get loaded early enough to be available for scsi_vhci root use. # # NOTE: Correct operation depends on the value of 'ddi-forceload', this # value should not be changed. The ordering of entries is from # most-specific failover modules (with a "probe" implementation that is # completely VID/PID table based), to most generic (failover modules that # are based on T10 standards like TPGS). By convention the last part of a # failover module path, after "/scsi_vhci_", is called the # "failover-module-name", which begins with "f_" (like "f_asym_sun"). The # "failover-module-name" is also used in the override mechanism below. ddi-forceload = "misc/scsi_vhci/scsi_vhci_f_asym_sun", "misc/scsi_vhci/scsi_vhci_f_asym_lsi", "misc/scsi_vhci/scsi_vhci_f_asym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_hds", "misc/scsi_vhci/scsi_vhci_f_sym", # "misc/scsi_vhci/scsi_vhci_f_sym_enc", # "misc/scsi_vhci/scsi_vhci_f_tpgs_tape", # "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs"; # # For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI # access also depends on one of the scsi_vhci failover modules accepting the # device. The default way this occurs is by a failover module's "probe" # implementation (sfo_device_probe) indicating the device is supported under # scsi_vhci. To override this default probe-oriented configuration in # order to # # 1) establish support for a device not currently accepted under scsi_vhci # # or 2) override the module selected by "probe" # # or 3) disable scsi_vhci support for a device # # you can add a 'scsi-vhci-failover-override' tuple, as documented in # scsi_get_device_type_string(9F). For each tuple, the first part provides # basic device identity information (vid/pid) and the second part selects # the failover module by "failover-module-name". If you want to disable # scsi_vhci support for a device, use the special failover-module-name "NONE". # Currently, for each failover-module-name in 'scsi-vhci-failover-override' # (except "NONE") there needs to be a # "misc/scsi_vhci/scsi_vhci_" in 'ddi-forceload' above. # # " 111111" # "012345670123456789012345", "failover-module-name" or "NONE" # "|-VID--||-----PID------|", # scsi-vhci-failover-override = # "STK FLEXLINE 400", "f_asym_lsi", # "SUN T4", "f_tpgs", # "CME XIRTEMMYS", "NONE"; # #END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE) #BEGIN: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE) # # Tunable for updating path states after a UNIT ATTENTION reset. # There are arrays which do not queue UAs during resets # after an implicit failover. For such arrays, we need to # update the path states after any type of UA resets, since # UA resets take higher precedence among other UNIT ATTENTION # conditions. By default, scsi_vhci does not update path states # on UA resets. To make scsi_vhci do that for such arrays, you need # to set the tunable scsi-vhci-update-pathstate-on-reset to "yes" # for the VID/PID combination as described below. # # "012345670123456789012345", "yes" or "no" # "|-VID--||-----PID------|", # scsi-vhci-update-pathstate-on-reset = "Pillar Axiom", "yes", "Oracle Oracle FS", "yes"; # #END: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE) #BEGIN: SPREAD_IPORT_RESERVATION_BLOCK # # Tunable for path selection optimization of SCSI reservation command. With # this optimization, a path with least busy initiator port will be selected # for a SCSI reservation command. If optimization is disabled scsi_vhci will # use load balancing policy "none" for SCSI reservation command's path # selection. Tunable spread-iport-reservation is used to establish the default # value. Its default value is "yes". To make scsi_vhci to turn off the # optimization globally, you need to set the tunable spread-iport-reservation # to "no". Tunable spread-iport-reservation-exceptions can describe exceptional # cases with the VID/PID combination specified, which has higher priority than # the tunable spread-iport-reservation. # spread-iport-reservation = "yes"; # # "012345670123456789012345", "yes" or "no" # "|-VID--||-----PID------|", # spread-iport-reservation-exceptions = # "STK T10000C", "yes", # "HP Ultrium 4-SCSI", "no"; # # To find the least busy initiator port, traffic load of every initiator port # need to be monitored. One important traffic load metric is rlentime: the # cumulative run length*time product of every initiator port. Delta rlentime # of latest period of time is used to represent the historical traffic load. # The simultaneous snapshot rlentime of every initiator port is needed to # calculate the delta rlentime. Tunable iport-rlentime-snapshot-interval is # used to configure the time interval in seconds to create rlentime snapshot # of every initiator port. Its default value is 30 seconds. # iport-rlentime-snapshot-interval = 30; # #END: SPREAD_IPORT_RESERVATION_BLOCK #BEGIN: LSR_CLIENT_GRACE_PERIOD_BLOCK # # Keep the LSR suspended client device as attached for # lsr-client-lifetime seconds when all paths are LSR suspended. # During this extended lifetime, all I/O requests would be queued up. When the # extended lifetime is over, the I/O requests in the queue would be # re-processed with the client device detached. # # Setting this value to 0 will disable the feature. # # suspend-client-grace-period = 0; # #END: LSR_CLIENT_GRACE_PERIOD_BLOCK #BEGIN: NOTE_BLOCK # The VID fields above should contain exactly eight left-aligned ASCII # characters. If the VID is less than 8 characters, it should be padded with # spaces (ASCII 0x20) to 8 characters. # # The PID fields above should contain at most sixteen left-aligned ASCII # characters. The PID field has an implicit wild-card rule. The product ID # in the returned SCSI inquiry string is considered a match if it has the # PID field as its prefix. For example, "Pillar Axiom" applies to both # the "Pillar Axiom 600" and the "Pillar Axiom 500". # #END: NOTE_BLOCK #BEGIN: ddi-child-instance-transient # When set to "yes" both here and in the corresponding pHCI driver .conf file # target devices will not have permanent instances assigned (e.g. no entry for # the device will be added to /etc/path_to_inst). If a target is beneath # multiple pHCI's, if any of those pHCI's do not have # ddi-child-instane-transient set to "yes", a permanent instance will be # assigned to the target device. ddi-child-instance-transient="yes"; #END: ddi-child-instance-transient