Skip to main content
SAN hosts and cloud clients

Use Red Hat Enterprise Linux 9.5 with ONTAP

Contributors netapp-sarajane netapp-pcarriga

You can use the ONTAP SAN host configuration settings to configure Red Hat Enterprise Linux (RHEL) 9.5 with ONTAP as the target.

Install the Linux Unified Host Utilities

You can download the NetApp Linux Unified Host Utilities software package as a 64-bit.rpm file from the NetApp Support Site.

NetApp strongly recommends installing the Linux Unified Host Utilities, but it is not mandatory. The utilities do not change any settings on your Linux host. The utilities improve management and assist NetApp customer support in gathering information about your configuration.

Steps
  1. Download the 64-bit Linux Unified Host Utilities software package from the NetApp Support Site to your host.

  2. Install the software package:

    rpm -ivh netapp_linux_unified_host_utilities-7-1.x86_64

Use the SAN Toolkit

Installing the NetApp Host Utilities package automatically installs the toolkit. This kit provides the sanlun utility, which helps you manage LUNs and host bus adapters (HBAs). The sanlun command returns information about the LUNs mapped to your host, multipathing, and information necessary to create initiator groups.

In the following example, the sanlun lun show command returns LUN information.

sanlun lun show all
Show example
controller(7mode/E-Series)/                                  device          host                  lun
vserver(cDOT/FlashRay)        lun-pathname                   filename        adapter    protocol   size    product
---------------------------------------------------------------------------------------------------------------
vs_sanboot                    /vol/vol_2742/lun              /dev/sdch       host17     FCP        180g    cDOT
vs_coexistence_QLE2742        /vol/fc_vol_2_9/dynamic_lun    /dev/sdcg       host17     FCP        10g     cDOT
vs_coexistence_QLE2742        /vol/fc_vol_2_8/dynamic_lun    /dev/sdcf       host17     FCP        10g     cDOT
vs_coexistence_QLE2742        /vol/fc_vol_2_7/dynamic_lun    /dev/sdce       host17     FCP        10g     cDOT
vs_coexistence_QLE2742        /vol/fc_vol_2_6/dynamic_lun    /dev/sdcd       host17     FCP        10g     cDOT

Enable SAN booting

If you decide to use SAN booting, it must be supported by your configuration.

Before you begin

Use the NetApp Interoperability Matrix Tool to verify that your OS, HBA, HBA firmware, HBA boot BIOS, and the ONTAP version are supported.

Steps
  1. Map the SAN boot LUN to the host.

  2. Verify that multiple paths are available.

    Note Multiple paths become available after the host operating system is up and running on the paths.
  3. Enable SAN booting in the server BIOS for the ports to which the SAN boot LUN is mapped.

    For information on how to enable the HBA BIOS, see your vendor-specific documentation.

  4. Reboot the host to verify that the boot was successful.

Enable multipathing

You can use multipathing with RHEL 9.5 to manage ONTAP LUNs. To use multipathing, the /etc/multipath.conf file must exist. If the /etc/multipath.conf file doesn't exist, you can create an empty, zero-byte file by using the touch /etc/multipath.conf command. You don't need to make changes to the /etc/multipath.conf file because RHEL 9.5 is compiled with all the settings required to recognize and correctly manage ONTAP LUNs.

Note A single LUN shouldn't require more than four paths. More than four paths might cause path issues during storage failures.

All SAN Array configurations

All SAN Array (ASA) configurations optimize all paths to a given LUN, keeping them active. This improves performance by serving I/O operations through all paths at the same time.

Example

The following example displays the correct output for an ONTAP LUN.

Show example
multipath -ll
3600a098038314c4a433f577471797958 dm-2 NETAPP,LUN C-Mode
size=180G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
  |- 14:0:0:0  sdc  8:32   active ready running
  |- 17:0:0:0  sdas 66:192 active ready running
  |- 14:0:3:0  sdar 66:176 active ready running
  `- 17:0:3:0  sdch 69:80  active ready running

Non-ASA configurations

For non-ASA configurations, there should be two groups of paths with different priorities. The paths with higher priorities are Active/Optimized, meaning they are serviced by the controller where the aggregate is located. The paths with lower priorities are active but are non-optimized because they are served from a different controller. The non-optimized paths are only used when optimized paths are not available.

Example

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

Show example
multipath -ll
3600a0980383149764b5d567257516273 dm-0 NETAPP,LUN C-Mode
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 16:0:3:0  sdcg 69:64  active ready running
| `- 10:0:0:0  sdb  8:16   active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 10:0:1:0  sdc  8:32   active ready running
  `- 16:0:2:0  sdcf 69:48  active ready running

The RHEL 9.5 OS is compiled to recognize ONTAP LUNs and automatically set all configuration parameters correctly for both ASA and non-ASA configurations. You can further optimize performance for your host configuration with the following recommended settings.

The multipath.conf file must exist for the multipath daemon to start. If this file doesn't exist, you can create an empty, zero-byte file by using the touch /etc/multipath.conf command.

The first time you create the multipath.conf file, you might need to enable and start the multipath services by using the following commands:

# systemctl enable multipathd
# systemctl start multipathd

There is no requirement to add devices directly to the multipath.conf file, unless you have devices that you do not want multipath to manage or you have existing settings that override defaults. You can exclude unwanted devices by adding the following syntax to the multipath.conf file, replacing <DevId> with the WWID string of the device you want to exclude:

blacklist {
        wwid <DevId>
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
}

In the following example, you determine the WWID of a device and add the device to the multipath.conf file.

Steps
  1. Determine the WWID:

    /lib/udev/scsi_id -gud /dev/sda
    360030057024d0730239134810c0cb833

    sda is the local SCSI disk that you want to add it to the blacklist.

  2. Add the WWID to the blacklist stanza in /etc/multipath.conf:

    blacklist {
         wwid   360030057024d0730239134810c0cb833
         devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
         devnode "^hd[a-z]"
         devnode "^cciss.*"
    }

You should always check your /etc/multipath.conf file, especially in the defaults section, for legacy settings that might be overriding the default settings.

The following table demonstrates the critical multipathd parameters for ONTAP LUNs and the required values. If a host is connected to LUNs from other vendors and any of these parameters are overridden, they will need to be corrected by later stanzas in the multipath.conf file that apply specifically to ONTAP LUNs. If this is not done, the ONTAP LUNs might not work as expected. You should only override these defaults in consultation with NetApp and/or an OS vendor and only when the impact is fully understood.

Parameter Setting

detect_prio

yes

dev_loss_tmo

"infinity"

failback

immediate

fast_io_fail_tmo

5

features

"2 pg_init_retries 50"

flush_on_last_del

"yes"

hardware_handler

"0"

no_path_retry

queue

path_checker

"tur"

path_grouping_policy

"group_by_prio"

path_selector

"service-time 0"

polling_interval

5

prio

"ontap"

product

LUN

retain_attached_hw_handler

yes

rr_weight

"uniform"

user_friendly_names

no

vendor

NETAPP

Example

The following example shows how to correct an overridden default. In this case, the multipath.conf file defines values for path_checker and no_path_retry that are not compatible with ONTAP LUNs. If other SAN arrays are still attached to the host, correct these parameters specifically for ONTAP LUNs by using a device stanza.

Show example
defaults {
   path_checker      readsector0
   no_path_retry     fail
}

devices {
   device {
      vendor         "NETAPP"
      product         "LUN"
      no_path_retry    queue
      path_checker     tur
   }
}

Configure KVM settings

You can use the recommended settings to configure Kernel-based Virtual Machine (KVM) as well. There are no changes required to configure KVM because the LUN is mapped to the hypervisor.

Known issues

There are no known issues for the FC host configuration for RHEL 9.5 with ONTAP release.