Skip to main content
SAN hosts and cloud clients

Use Oracle Linux 7.6 with ONTAP

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

You can use the ONTAP SAN host configuration settings to configure Oracle Linux 7.6 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 don't 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's not mandatory. The utilities don't 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 Linux Unified Host Utilities currently installed, you should either upgrade it to the latest version, 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 to your host.

  2. 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 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.

Multipathing

For Oracle Linux 7.6 the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. Oracle Linux 7.6 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.
There should be two groups of paths with different priorities. The paths with higher priorities are Active/Optimized, which means 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. Having more than four paths might cause path issues during storage failures.

The Oracle Linux 7.6 OS is compiled to recognize ONTAP LUNs and automatically set all configuration parameters correctly.
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:

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

You don't need 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 worldwide identifier (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.*"
}

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
    3600a098038314c4a433f5774717a3046
    /lib/udev/scsi_id -gud /dev/sda

    360030057024d0730239134810c0cb833

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

. Add the `WWID` to the blacklist stanza in `/etc/multipath.conf`:
[source,cli]
+

blacklist {
wwid 3600a098038314c4a433f5774717a3046
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)"
devnode "^hd[a-z]"
devnode "^cciss.
"
}

Always check your `/etc/multipath.conf` file, especially in the defaults section, for legacy settings that might be overriding 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.

//ONTAPDOC-2578 9-Dec-2024
//ONTAPDOC-2561 25-Nov-202


[cols=2*,options="header"]
|===
| 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"
| 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 `detect_prio` 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
detect_prio no
}
devices {
device {
vendor "NETAPP "
product "LUN.*"
path_checker tur
detect_prio yes
}
}

NOTE: To configure Oracle Linux 7.6 Red Hat Enterprise Kernel (RHCK), use the link:hu_rhel_76.html#recommended-settings[recommended settings] for Red Hat Enterprise Linux (RHEL) 7.6.

== Known issues

The Oracle Linux 7.6 with ONTAP release has the following known issues:

[cols=3*,options="header"]
|===
| 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  link:https://kb.netapp.com/Advice_and_Troubleshooting/Flash_Storage/AFF_Series/The_filesystem_corruption_on_iSCSI_LUN_on_the_Oracle_Linux_7[NetApp Knowledge Base: The filesystem corruption on iSCSI LUN on the Oracle Linux 7^].
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1202736[1202736^] | LUNs might not be available during host discovery due to "Not Present" state of remote ports on a OL7U6 host with QLogic QLE2742 adapter |During host discovery, the status of Fibre Channel (FC) remote ports on a OL7U6 host with a QLogic QLE2742 adapter might enter into "Not Present" state. Remote ports with a "Not Present" state might cause paths to LUNs to become unavailable. During storage failover, the path redundancy might be reduced and result in an I/O outage.
You can check the remote port status by entering the following command:
# cat /sys/class/fc_remote_ports/rport-*/port_state
The following is an example of the output that is displayed:
  Online
  Online
  Not Present
  Online
  Online
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1204078[1204078^] | Kernel disruption occurs on Oracle Linux 7.6 running with Qlogic(QLE2672) 16GB FC HBA during storage failover operations | During storage failover operations on the Oracle Linux 7.6 with a Qlogic QLE2672 Fibre Channel (FC) host bus adapter (HBA), a kernel disruption occurs due to a panic in the kernel. The kernel panic causes Oracle Linux 7.6 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.  After the kernel disruption, you can reboot the host OS and recover the operating system, and then you can restart any applications as required.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1204351[1204351^] | Kernel disruption might occur on Oracle Linux 7.6 running with Qlogic(QLE2742) 32GB FC HBA during storage failover operations | During storage failover operations on the Oracle Linux 7.6 with a Qlogic QLE2742 Fibre Channel (FC) host bus adapter (HBA), a kernel disruption might occur due to a panic in the kernel. The kernel panic causes Oracle Linux 7.6 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.
After the kernel disruption, you can reboot the host OS and recover the operating system, and then you can restart any applications as required.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1204352[1204352^] | Kernel disruption might occur on Oracle Linux 7.6 running with Emulex (LPe32002-M2)32GB FC HBA during storage failover operations | During storage failover operations on the Oracle Linux 7.6 with an Emulex LPe32002-M2 Fibre Channel (FC) host bus adapter (HBA), a kernel disruption might occur due to a panic in the kernel. The kernel panic causes Oracle Linux 7.6 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.
After the kernel disruption, you can reboot the host OS and recover the operating system, and then you can restart any applications as required.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1246134[11246134^] | No I/O progress on Oracle Linux 7.6 with UEK5U2 kernel, running with an Emulex LPe16002B-M6 16G FC HBA during storage failover operations | During storage failover operations on the Oracle Linux 7.6 with the UEK5U2 kernel running with an Emulex LPe16002B-M6 16G Fibre Channel (FC) host bus adapter (HBA), I/O progress might stop due to reports getting blocked. The storage failover operation reports change from an "online" state to a "blocked" state, causing a delay in read and write operations. After the operation has completed successfully, the reports fail to move back to an "online" state and continue to remain in a "blocked" state.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1246327[1246327^] | Remote port status on QLogic QLE2672 16G host blocked during storage failover operations | Fibre Channel (FC) remote ports might be blocked on Red Hat Enterprise Linux (RHEL) 7.6 with the QLogic QLE2672 16G host during storage failover operations. Because the logical interfaces go down when a storage node is down, the remote ports set the storage node status to blocked. IO progress might stop due to the blocked ports if you are running both a QLogic QLE2672 16G host and a QLE2742 32GB Fibre Channel (FC) host bus adapter (HBA).
When the storage node returns to its optimal state, the logical interfaces also come up and the remote ports should be online. However, the remote ports might still be blocked. This blocked state registers as failed faulty to LUNS at the multipath layer. You can verify the state of the remote ports with the following command:
 # cat /sys/class/fc_remote_ports/rport-*/port_stat
 You should see the following output:
 Blocked
 Blocked
 Blocked
 Blocked
 Online
 Online
|===

// 2024 SEP 2, ONTAPDOC-2345
// BURT 1440718, 2022-05-20