Skip to main content
SAN hosts and cloud clients

Use Red Hat Enterprise Linux 9.4 with ONTAP

Contributors netapp-ranuk

You can use the ONTAP SAN host configuration settings to configure Red Hat Enterprise Linux 9.4 with ONTAP as the target.

Install the Linux Unified Host Utilities

The NetApp Linux Unified Host Utilities software package is available on the NetApp Support Site in a 64-bit .rpm file.

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.

What you'll need

If you have a version of Linux Unified Host Utilities currently installed, you should upgrade or remove it, and then use the following steps to install the latest version.

  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

SAN Tool Kit

The tool kit is installed automatically when you install the NetApp Host Utilities package. This kit provides the sanlun utility, which helps you manage LUNs and 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

Example output:

controller(7mode/E-Series)/            device     host               lun
vserver(cDOT/FlashRay)   lun-pathname  filename   adapter  protocol  size    Product
vs_147_32glpe	         /vol/vol1/lun	 /dev/sdb	Host11  FCP        10g	cDOT
vs_147_32glpe	         /vol/vol1/lun	 /dev/sdx	Host11  FCP        10g	cDOT
vs_147_32glpe	         /vol/vol2/lun	 /dev/sdbt  host12 FCP        10g	cDOT
vs_147_32glpe	         /vol/vol2/lun	 /dev/sdax	host12  FCP        10g	cDOT

SAN booting

What you'll need

If you decide to use SAN booting, it must be supported by your configuration. You can use the NetApp Interoperability Matrix Tool to verify that your OS, HBA, HBA firmware and the HBA boot BIOS, and the ONTAP version are supported.

  1. Map the SAN boot LUN to the host.

  2. Verify that multiple paths are available.

    Note Multiple paths become available after the host OS 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 is successful.


For Red Hat Enterprise Linux (RHEL) 9.4, the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. RHEL 9.4 is compiled with all the settings that are required to recognize and correctly manage ONTAP LUNs.

You can use the multipath -ll command to verify the settings for your ONTAP LUNs.
The following sections provide sample multipath output for a LUN mapped to ASA and non-ASA personas.

All SAN Array configurations

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


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

# multipath -ll
3600a098038314359725d516c69733471 dm-22 NETAPP,LUN C-Mode
size=160G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 11:0:3:0	sdau 66:224 active ready running
|- 12:0:4:0	sdco 69:192 active ready running
|- 12:0:0:0	sdav 66:240 active ready running
`- 11:0:2:0	sdat 66:208 active ready running
Note Do not use an excessive number of paths to a single LUN. No more than four paths should be required. More than eight paths might cause path issues during storage failures.

Non-ASA configurations

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


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

# 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
Note Do not use an excessive number of paths to a single LUN. No more than four paths should be required. More than eight paths might cause path issues during storage failures.

The RHEL 9.4 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, but you can create an empty, zero-byte file by using the following command:

touch /etc/multipath.conf

The first time you create this file, you might need to enable and start the multipath services:

# systemctl enable multipathd
# systemctl start multipathd
  • There is no requirement to add anything directly to the multipath.conf file, unless you have devices that you do not want to be managed by multipath or you have existing settings that override defaults.

  • To exclude unwanted devices, add the following syntax to the multipath.conf file .

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

    Replace the <DevId> with the WWID string of the device you want to exclude.


    In this example, we are going to determine the WWID of a device and add to the multipath.conf file.

    1. Run the following command to determine the WWID:

      # /lib/udev/scsi_id -gud /dev/sda

      sda is the local SCSI disk that we need 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 for legacy settings, especially in the defaults section, 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. These defaults should only be overridden in consultation with NetApp and/or an OS vendor and only when the impact is fully understood.

Parameter Setting










"2 pg_init_retries 50"












"service-time 0"
















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 they cannot be removed because other SAN arrays are still attached to the host, these parameters can be corrected specifically for ONTAP LUNs with a device stanza.

defaults {
   path_checker      readsector0
   no_path_retry     fail

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

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 as the LUN is mapped to the hypervisor.

Known issues

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