Skip to main content
ONTAP SAN Host Utilities

Configure Solaris 11.4 for FCP and iSCSI with ONTAP storage

Contributors netapp-pcarriga

The Solaris Host Utilities software provides management and diagnostic tools for Solaris hosts that are connected to ONTAP storage. When you install the Solaris Host Utilities on a Solaris 11.4 host, you can use the Host Utilities to help you manage FCP and iSCSI protocol operations with ONTAP LUNs.

Step 1: Optionally, enable SAN booting

You can configure your host to use SAN booting to simplify deployment and improve scalability. If your configuration doesn't support SAN booting, you can use a local boot.

SAN boot

SAN booting is the process of setting up a SAN-attached disk (a LUN) as a boot device for a Solaris host. You can set up a SAN boot LUN to work in a Solaris MPxIO environment that is using the FC protocol and running Solaris Host Utilities. The method you use to set up a SAN boot LUN depends on your volume manager and file system.

Steps
  1. Use the Interoperability Matrix Tool to verify that your Solaris OS, protocol, and ONTAP version support SAN booting.

  2. Follow the best practices for setting up a SAN boot in the Solaris vendor documentation.

Local boot

Perform a local boot by installing the Solaris OS on the local hard disk, for example, install on an SSD, SATA, or RAID.

Step 2: Install the Solaris Host Utilities

NetApp strongly recommends installing the Solaris Host Utilities to support ONTAP LUN management and assist technical support with gathering configuration data.

Note Installing the Solaris Host Utilities changes some of the timeout settings on your Solaris host.

Step 3: Confirm the multipath configuration for your host

You can use multipathing with Solaris 11.4 to manage ONTAP LUNs.

Multipathing enables you to configure multiple network paths between the host and storage systems. If one path fails, traffic continues on the remaining paths. Oracle Solaris I/O Multipathing (MPxIO) is enabled by default for Solaris 11.4 and SPARC systems.

To ensure that multipathing and the recommended timeout parameters are configured correctly for your host, verify that you're using the NetApp recommended settings for your ONTAP LUNs.

Steps
  1. If your host is configured for FC, verify that the default setting in /kernel/drv/fp.conf is set to mpxio-disable="no".

  2. The Solaris Host Utilities load the NetApp recommended parameter settings for SPARC and x86_64 processors.

    Show parameter settings
    Parameter Value

    throttle_max

    8

    not_ready_retries

    300

    busy_retries

    30

    reset_retries

    30

    throttle_min

    2

    timeout_retries

    10

    physical_block_size

    4096

    disksort

    false

    cache-nonvolatile

    true

    For additional information about Solaris 11.4 system settings, see Oracle Support DOC ID: 2595926.1.

  3. If your storage configuration includes MetroCluster, Oracle Solaris virtualization, or SnapMirror active sync, change the default settings:

    MetroCluster

    By default, the Solaris OS fails to execute the I/O operations after 20s if all paths to a LUN are lost. This is controlled by the fcp_offline_delay parameter. The default value for fcp_offline_delay is the appropriate for standard ONTAP clusters. However, in MetroCluster configurations, you must increase the value of fcp_offline_delay to 120s to ensure that I/O doesn't prematurely time out during operations, including unplanned failovers.

    For additional information and recommended changes to default settings for MetroCluster, see the Knowledge Base article Solaris host support considerations in a MetroCluster configuration.

    Oracle Solaris virtualization
    • Solaris virtualization options include Solaris Logical Domains (also called LDOMs or Oracle VM Server for SPARC), Solaris Dynamic Domains, Solaris Zones, and Solaris Containers. These technologies are also referred to as "Oracle Virtual Machines".

    • You can use multiple options together, for example, a Solaris Container within a particular Solaris Logical Domain.

    • NetApp supports the use of Solaris virtualization technologies where the overall configuration is supported by Oracle and any partition with direct access to LUNs is listed on the IMT in a supported configuration. This includes root containers, LDOM I/O domains, and LDOM using NPIV to access LUNs.

    • Partitions or virtual machines that use only virtualized storage resources, such as a vdsk, don't need specific qualifications because they don't have direct access to ONTAP LUNs. You only need to verify that the partition or virtual machine that has direct access to the underlying LUN, such as an LDOM I/O domain, is listed on the IMT.

    Steps

    When LUNs are used as virtual disk devices within an LDOM, the source of the LUN is masked by virtualization and the LDOM doesn't correctly detect the block sizes. To prevent this issue:

    1. Patch the LDOM OS for Oracle Bug 15824910

    2. Create a vdc.conf file that sets the block size of the virtual disk to 4096. See Oracle DOC: 2157669.1 for more information.

    3. Verify the patch installation to ensure that the recommended settings have been configured correctly:

      1. Create a zpool:

        zpool create zpool_name disk_list
      2. Run zdb -C against the zpool and verify that the value of ashift is 12.

        If the value of ashift isn't 12, re run zdb -C11, and verify that the correct patch was installed and recheck the contents of vdc.conf.

        Don't proceed until ashift shows a value of 12.

    Note Patches are available for Oracle bug 15824910 on several Solaris versions. Contact Oracle if you need assistance in determining the best kernel patch.
    SnapMirror active sync

    Beginning with ONTAP 9.9.1, SnapMirror active sync setting configurations are supported in the Solaris host. To verify that the Solaris client applications are non-disruptive when an unplanned site failover switchover occurs in a SnapMirror active sync environment, you must configure the scsi-vhci-failover-override setting on the Solaris host. This setting overrides the failover module f_tpgs to prevent the execution of the code path that detects the contradiction.

    Steps
    1. Create the configuration file /etc/driver/drv/scsi_vhci.conf with an entry similar to the following example for the NetApp storage type connected to the host:

      scsi-vhci-failover-override =
      "NETAPP  LUN","f_tpgs"
    2. Verify that the override parameter has been successfully applied:

      devprop
      mdb
      Show examples
      root@host-A:~# devprop -v -n /scsi_vhci scsi-vhci-failover-override      scsi-vhci-failover-override=NETAPP  LUN + f_tpgs
      root@host-A:~# echo "*scsi_vhci_dip::print -x struct dev_info devi_child | ::list struct dev_info devi_sibling| ::print struct dev_info devi_mdi_client| ::print mdi_client_t ct_vprivate| ::print struct scsi_vhci_lun svl_lun_wwn svl_fops_name"| mdb -k
      svl_lun_wwn = 0xa002a1c8960 "600a098038313477543f524539787938"
      svl_fops_name = 0xa00298d69e0 "conf f_tpgs"
    Note After scsi-vhci-failover-override has been applied, conf is added to svl_fops_name. For additional information and recommended changes to default settings, refer to the NetApp Knowledge Base article Solaris Host support recommended settings in SnapMirror active sync configuration.
  4. Verify that 4KB aligned I/O with zpools using ONTAP LUNs is supported:

    1. Verify that you Solaris host is installed with the latest Support Repository Update (SRU):

      pkg info entire`
    2. Verify that the ONTAP LUN has ostype as "Solaris", independent of the LUN size:

      lun show -vserver` <vsersver_name>
      Show example
      chat-a800-31-33-35-37::*> lun show -vserver solaris_fcp -path /vol/sol_195_zpool_vol_9/lun -fields ostype
      vserver     path                         ostype
      ----------- ---------------------------- -------
      solaris_fcp /vol/sol_195_zpool_vol_9/lun solaris
  5. Verify the output for your ONTAP LUNs:

    sanlun lun show

    You should see an output similar to the following example for an ASA, AFF, or FAS configuration:

    Show example
    root@sparc-s7-55-148:~# sanlun lun show -pv
    
                        ONTAP Path: Solaris_148_siteA:/vol/Triage/lun
                               LUN: 0
                          LUN Size: 20g
                       Host Device: /dev/rdsk/c0t600A098038314B32685D573064776172d0s2
                              Mode: C
                Multipath Provider: Sun Microsystems
                  Multipath Policy: Native
  6. Verify the path status for your ONTAP LUNs:

    mpathadm show lu <LUN>`

    The following example outputs show the correct path status for ONTAP LUNs in an ASA, AFF, or FAS configuration. The path priorities are displayed against "Access State" for each LUN in the output.

    ASA configurations

    An ASA configuration optimizes all paths to a given LUN, keeping them active. This improves performance by serving I/O operations through all paths at the same time.

    Show example
    root@sparc-s7-55-82:~# mpathadm show lu /dev/rdsk/c0t600A098038313953495D58674777794Bd0s2
    Logical Unit:  /dev/rdsk/c0t600A098038313953495D58674777794Bd0s2
            mpath-support:  libmpscsi_vhci.so
            Vendor:  NETAPP
            Product:  LUN C-Mode
            Revision:  9171
            Name Type:  unknown type
            Name:  600a098038313953495d58674777794b
            Asymmetric:  yes
            Current Load Balance:  round-robin
            Logical Unit Group ID:  NA
            Auto Failback:  on
            Auto Probing:  NA
    
            Paths:
                    Initiator Port Name:  100000109bd30070
                    Target Port Name:  20b9d039ea593393
                    Logical Unit Number:  0
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
                    Initiator Port Name:  100000109bd30070
                    Target Port Name:  20b8d039ea593393
                    Logical Unit Number:  0
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
                    Initiator Port Name:  100000109bd3006f
                    Target Port Name:  20b3d039ea593393
                    Logical Unit Number:  0
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
                    Initiator Port Name:  100000109bd3006f
                    Target Port Name:  20b4d039ea593393
                    Logical Unit Number:  0
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
            Target Port Groups:
                    ID:  1003
                    Explicit Failover:  no
                    Access State:  active optimized
                    Target Ports:
                            Name:  20b9d039ea593393
                            Relative ID:  8
    
                            Name:  20b4d039ea593393
                            Relative ID:  3
    
                    ID:  1002
                    Explicit Failover:  no
                    Access State:  active optimized
                    Target Ports:
                            Name:  20b8d039ea593393
                            Relative ID:  7
    
                            Name:  20b3d039ea593393
                            Relative ID:  2
    AFF or FAS configuration

    An AFF or FAS configuration should have two groups of paths with higher and lower priorities. Higher priority Active/Optimized paths are served by the controller where the aggregate is located. Lower priority paths are active but non-optimized because they are served by a different controller. Non-optimized paths are only used when optimized paths aren’t available.

    The following example displays the correct output for an ONTAP LUN with two Active/Optimized paths and two Active/Non-Optimized paths:

    Show example
    root@chatsol-54-195:~# mpathadm show lu /dev/rdsk/c0t600A0980383044376C3F4E694E506E44d0s2
    Logical Unit:  /dev/rdsk/c0t600A0980383044376C3F4E694E506E44d0s2
            mpath-support:  libmpscsi_vhci.so
            Vendor:  NETAPP
            Product:  LUN C-Mode
            Revision:  9171
            Name Type:  unknown type
            Name:  600a0980383044376c3f4e694e506e44
            Asymmetric:  yes
            Current Load Balance:  round-robin
            Logical Unit Group ID:  NA
            Auto Failback:  on
            Auto Probing:  NA
    
            Paths:
    
                    Initiator Port Name:  100000109b56c5fb
                    Target Port Name:  205200a098ba7afe
                    Logical Unit Number:  1
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
                    Initiator Port Name:  100000109b56c5fb
                    Target Port Name:  205000a098ba7afe
                    Logical Unit Number:  1
                    Override Path:  NA
                    Path State:  OK
                    Demoted:  yes
                    Disabled:  no
    
                    Initiator Port Name:  100000109b56c5fa
                    Target Port Name:  204f00a098ba7afe
                    Logical Unit Number:  1
                    Override Path:  NA
                    Path State:  OK
                    Demoted:  yes
                    Disabled:  no
    
                    Initiator Port Name:  100000109b56c5fa
                    Target Port Name:  205100a098ba7afe
                    Logical Unit Number:  1
                    Override Path:  NA
                    Path State:  OK
                    Disabled:  no
    
            Target Port Groups:
                    ID:  1001
                    Explicit Failover:  no
                    Access State:  active not optimized
                    Target Ports:
                            Name:  205200a098ba7afe
                            Relative ID:  8
    
                            Name:  205100a098ba7afe
                            Relative ID:  7
    
                    ID:  1000
                    Explicit Failover:  no
                    Access State:  active optimized
                    Target Ports:
                            Name:  205000a098ba7afe
                            Relative ID:  6
    
                            Name:  204f00a098ba7afe
                            Relative ID:  5

Step 4: Review the known issues

The Solaris 11.4 release for FCP and iSCSI with ONTAP storage has the following known issues:

NetApp Bug ID Title Description Oracle ID

1362435

HUK 6.2 and Solaris_11.4 FC driver binding changes

Refer to Solaris 11.4 and HUK recommendations. FC driver binding is changed from ssd (4D) to sd (4D). Move the existing configuration from ssd.conf to sd.conf as mentioned in Oracle DOC: 2595926.1). The behavior varies across newly installed Solaris 11.4 systems and systems upgraded from Solaris 11.3 or earlier versions.

(Doc ID 2595926.1)

1366780

Solaris LIF issue noticed during storage failover (SFO) giveback operation with Emulex 32G host bus adapter (HBA) on x86 Arch

Solaris LIF issue noticed with Emulex firmware version 12.6.x and later on the x86_64 platform.

SR 3-24746803021

1368957

Solaris 11.x cfgadm -c configure resulting in I/O error with end-to-end Emulex configuration

Running cfgadm -c configure on Emulex end-to-end configuration results in an I/O error. This is fixed in ONTAP 9.5P17, 9.6P14 , 9.7P13, and 9.8P2

Not Applicable

1345622

Abnormal path reporting on Solaris hosts with ASA/PPorts using OS native commands

Intermittent path reporting issues are noticed on Solaris 11.4 with All SAN Array (ASA).

Not Applicable