# CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # Copyright (c) by Delphix. All rights reserved. # Copyright 2011 Nexenta Systems, Inc. All rights reserved. # #pragma ident "%Z%%M% %I% %E% SMI" # name="scsi_vhci" class="root"; # # Load balancing global configuration # The term "load-balance" is used to describe the multiplexing policy. # Currently, there is no load-based policy. # Available policies: # # "none" # All I/O to a given device (which supports multipath I/O) to occur # via one path. # # "round-robin" # Each path to the device to be used in turn. # # "logical-block" # I/O is grouped by logical block address (LBA). The group size is set # by the region-size parameter, default is 18. This algorithm chooses # the path by (LBA >> region-size) % path_count. By default, for 512 byte # block size devices, the region-size is effectively 128 MB. # # When to change: some devices perform poorly with round-robin policy. In some # cases, the device load-balance property is changed automatically, depending # on the device and product id. Use mpathadm(1m) to view the policy for a # given device. # load-balance="logical-block"; # # 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", # Symmetrical # "misc/scsi_vhci/scsi_vhci_f_tpgs_tape", # "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs"; # T10 # # 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) scsi-vhci-failover-override = "3PARdataVV", "f_sym", "COMPELNTCompellent Vol", "f_sym", "DGC VRAID", "f_asym_emc", "HP HSV2", "f_sym", "HP MB2000FAMYV", "f_sym", # HP, rebadged WD RE "HP EG0600FBDSR", "f_sym", # HP, rebadged WD S25 "HP OPEN", "f_sym", "NETAPP LUN", "f_sym", "HITACHI DF600F", "f_sym", "HITACHI HUS156060VLS600", "f_sym", "HITACHI HUS723020ALS", "f_sym", # Hitachi Ultrastar 7K3000 SAS HDD "OCZ TALOS", "f_sym", # OCZ Talos SSD "Pliant LS150S", "f_sym", # Pliant SAS SSD "Pliant LS300S", "f_sym", # Pliant SAS SSD "STEC Z4", "f_sym", # ZeusIOPS "STEC ZeusRAM", "f_sym", # ZeusRAM "STEC Z16", "f_sym", # ZeusIOPS "TOSHIBA MK1001TRKB", "f_sym", # Toshiba SAS HDD "TOSHIBA MK2001TRKB", "f_sym", # Toshiba SAS HDD "TOSHIBA MK1001GRZB", "f_sym", # Toshiba SAS SSD 100Gb "TOSHIBA MK2001GRZB", "f_sym", # Toshiba SAS SSD 200Gb "TOSHIBA MK4001GRZB", "f_sym", # Toshiba SAS SSD 400Gb "WD WD4001FYYG", "f_sym"; # WD RE 4TB SAS HDD