Skip to main content
SAN hosts and cloud clients

Use Red Hat Enterprise Linux 7.5 with ONTAP

Contributors netapp-ranuk netapp-pcarriga netapp-sdaffy netapp-aoife netapp-reenu netapp-madhulik

You can use the ONTAP SAN host configuration settings to configure Red Hat Enterprise Linux 7.5 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 32-bit and 64-bit .rpm file. If you do not know which file is right for your configuration, use the NetApp Interoperability Matrix Tool to verify which one you need.

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.

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

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

  2. Use the following command to install the software package:

    rpm -ivh netapp_linux_unified_host_utilities-7-1.x86_64

Note You can use the configuration settings provided in this document to configure cloud clients connected to Cloud Volumes ONTAP and Amazon FSx for ONTAP.

SAN Toolkit

The toolkit 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.

Example

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
------------------------------------------------------------------------------------
data_vserver          /vol/vol1/lun1   /dev/sdb   host16   FCP       120.0g  cDOT
data_vserver          /vol/vol1/lun1   /dev/sdc   host15   FCP       120.0g  cDOT
data_vserver          /vol/vol2/lun2   /dev/sdd   host16   FCP       120.0g  cDOT
data_vserver          /vol/vol2/lun2   /dev/sde   host15   FCP       120.0g  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 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 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 was successful.

Multipathing

For Red Hat Enterprise Linux (RHEL) 7.5 the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. RHEL 7.5 is compiled with all settings 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 example multipath outputs 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.

Example

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

# multipath -ll
3600a09803831347657244e527766394e dm-5 NETAPP,LUN C-Mode
size=80G  features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
  |- 11:0:7:1    sdfi   130:64   active ready running
  |- 11:0:9:1    sdiy  8:288     active ready running
  |- 11:0:10:1  sdml 69:464   active ready running
  |- 11:0:11:1  sdpt  131:304  active ready running
Note A single LUN shouldn't require more than four paths. 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 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:

# multipath -ll
3600a09803831347657244e527766394e dm-5 NETAPP,LUN C-Mode
size=80G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle’ hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 11:0:1:0 sdj  8:144  active ready running
| |- 11:0:2:0 sdr  65:16  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 11:0:0:0 sdb  8:i6   active ready running
  |- 12:0:0:0 sdz  65:144 active ready running
Note A single LUN shouldn't require more than four paths. More than eight paths might cause path issues during storage failures.

The RHEL 7.5 OS is compiled to recognize ONTAP LUNs and automatically set all configuration parameters correctly for both ASA and non-ASA configuration.

The multipath.conf file must exist for the multipath daemon to start. If this file does not exist, you can create an empty, zero-byte file by using the following command:

touch /etc/multipath.conf

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

# chkconfig multipathd on
# /etc/init.d/multipathd start

There is no requirement to add anything directly to the multipath.conf file unless you have devices that you don't want multipath to manage or you have existing settings that override defaults. To exclude unwanted devices, add 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.*"
}
Example

The following example determines the WWID of a device and adds it 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 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 must be corrected by later stanzas in the multipath.conf file that apply specifically to ONTAP LUNs. Without this correction, the ONTAP LUNs might not work as expected. You should only override these defaults in consultation with NetApp, the OS vendor, or both, 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

"3 queue_if_no_path 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 they cannot be removed because of other SAN arrays 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

The RHEL 7.5 with ONTAP release has the following known issues:

NetApp Bug ID Title Description

1440718

If you unmap or map a LUN without performing a SCSI rescan, it might lead to data corruption on the host.

When you set the 'disable_changed_wwids' multipath configuration parameter to YES, it disables access to the path device in the event of a WWID change. Multipath will disable access to the path device until the WWID of the path is restored to the WWID of the multipath device. To learn more, see NetApp Knowledge Base: The filesystem corruption on iSCSI LUN on the Oracle Linux 7.

1139053

Kernel disruption occurs on RHEL7.5 with QLogic QLE2672 16GB FC during storage failover operations

During storage failover operations on the RHEL7U5 kernel with QLogic QLE2672 16GB fibre channel host bus adapter, the kernel disruption occurs due to a panic in the kernel. The kernel panic causes RHEL 7.5 to reboot, which leads to an application disruption. The kernel panic generates the vmcore file under the /var/crash/directory if kdump is configured. The vmcore file is used to understand the cause of the failure. In this case, the panic was observed in the “get_next_timer_interrupt+440” module which is logged in the vmcore file with the following string: " [exception RIP: get_next_timer_interrupt+440]" After the kernel disruption, you can recover the operating system by rebooting the host operating system and restarting the application as required.

1138536

Kernel disruption occurs on RHEL7U5 with QLogic QLE2742 32GB FC during storage failover operations

During storage failover operations on the Red Hat Enterprise Linux (RHEL) RHEL7U5 kernel with QLogic QLE2742 HBA, kernel disruption occurs due to a panic in the kernel. The kernel panic leads to a reboot of the operating system, causing an application disruption. The kernel panic generates the vmcore file under the /var/crash/ directory if kdump is configured. When the kernel panics, you can use the vmcore file to investigate the reason for the failure. The following example shows a panic in the bget_next_timer_interrupt+440b module. The panic is logged in the vmcore file with the following string: " [exception RIP: get_next_timer_interrupt+440]" You can recover the operating system by rebooting the host OS and restarting the application as required.

1148090

Kernel disruption occurs on RHEL 7.5 with QLogic QLE2742 32GB FC HBA during storage failover operations

During storage failover operations on the Red Hat Enterprise Linux (RHEL) 7.5 kernel with a QLogic QLE2742 Fibre Channel (FC) host bus adapter (HBA), a kernel disruption occurs due to a panic in the kernel. The kernel panic causes RHEL 7.5 to reboot, which leads to an application disruption. If the kdump mechanism is enabled, the kernel panic generates a vmcore file located in the /var/crash/ directory. You can analyze the vmcore file to determine the cause of the panic. In this instance, when storage failover with the QLogic QLE2742 HBA event occurs, the "native_queued_spin_lock_slowpath+464" module is affected. You can locate the event in the vmcore file by finding the following string: " [exception RIP: native_queued_spin_lock_slowpath+464]" After the kernel disruption, you can reboot the Host OS and recover the operating system, and then you can restart the applications as required.

1146898

Kernel disruption occurs on RHEL 7.5 with Emulex HBAs during storage failover operations

During storage failover operations on a Red Hat Enterprise Linux (RHEL) 7.5 system with Emulex LPe32002-M2 32-GB FC host bus adapters (HBAs), a disruption in the kernel occurs. The kernel disruption causes a reboot of the operating system, which in turn causes an application disruption. If you configure kdump, the kernel disruption generates the vmcore file under the /var/crash/ directory. You can use the vmcore file to determine the cause of the failure. In the following example, you can see the disruption in the "lpfc_hba_clean_txcmplq+368" module. This disruption is logged in the vmcore file with the following string: " [exception RIP: lpfc_hba_clean_txcmplq+368]" After the kernel disruption, reboot the host OS to recover the operating system. Restart the application as required.