Using Oracle Linux 7.9 with NetApp ONTAP

Contributors netapp-reenu Download PDF of this page

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

Installing the Linux Unified Host Utilities is strongly recommended, but 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.

Before you begin

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

  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

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

Before you begin

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.

  1. Map the SAN boot LUN to the host.

  2. Verify multiple paths are available.

    Remember, multiple paths will only be 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 the boot is successful.

Multipathing

For Oracle Linux (OL) 7.9 the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. OL 7.9 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 sample multipath outputs for a LUN mapped to non-ASA and ASA personas.

Non-ASA Configuration

For non-ASA configuration 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.

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
3600a098038303458772450714535415a dm-15 NETAPP  ,LUN C-Mode
size=40G 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:5:7   sdbg 67:160  active ready running
| `- 12:0:13:7  sdlg 67:480  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 11:0:8:7   sdck 69:128  active ready running
  |- 11:0:12:7  sddy 128:0   active ready running
Do not use an excessive number of paths to a single LUN. No more than 4 paths should be required. More than 8 paths might cause path issues during storage failures.

All SAN Array Configuration

For All SAN Array (ASA) configuration there should be one group of paths with single priorities. All the paths are Active/Optimized, meaning they are serviced by the controller and I/O is sent on all the active paths.

Example

The following example displays the correct output for an ONTAP LUN with four Active/Optimized paths:

# multipath -ll
3600a0980383143596f5d514b65507846 dm-7 NETAPP  ,LUN C-Mode
size=10G 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:6   sdbz 68:208  active ready running
  |- 11:0:11:6  sddn 71:80   active ready running
  |- 11:0:15:6  sdfb 129:208 active ready running
  `- 12:0:1:6   sdgp 132:80  active ready running
Do not use an excessive number of paths to a single LUN. No more than 4 paths should be required. More than 8 paths might cause path issues during storage failures.

The Oracle Linux 7.9 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, but you can create an empty, zero-byte file using the command:
touch /etc/multipath.conf
The first time you create this file, you might need to enable and start the multipath services.

[root@jfs0 ~]#systemctl enable multipathd
[root@jfs0 ~]# systemctl start multipathd

There is no requirement to add anything directly to multipath.conf, unless you have devices that you do not want to be managed by multipath or you have existing settings that override defaults.
You can add the following syntax to the multipath.conf file to exclude the unwanted devices.

Replace the <DevId> with the WWID string of the device you want to exclude. Use the following command to determine the WWID:
blacklist {
        wwid <DevId>
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
}
Example

In this example, sda is the local SCSI disk that we need to blacklist.

  1. Run the following command to determine the WWID:

    # /lib/udev/scsi_id -gud /dev/sda
    360030057024d0730239134810c0cb833
  2. Add this WWID to the blacklist stanza in the /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 may be overriding default settings.
The table below shows 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 multipath.conf that apply specifically to ONTAP LUNs. If this is not done, the ONTAP LUNs may not work as expected. These defaults should only be overridden in consultation with NetApp and/or 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

"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
 }
}

Known Problems and Limitations

NetApp Bug ID Title Description Bugzilla ID

1311575

IO delays observed due to Read/Write operations failed to switch through secondary paths during storage failover with Qlogic QLE2672(16G)

I/O operations might fail to resume through secondary paths during storage failover operations on Oracle Linux 7.7 kernel (5.4.17-2011.0.7.el7uek.x86_6) with QLogic QLE2672 16G HBA.
If I/O progress stops due to blocked primary paths during storage failover, the I/O operation might not resume through secondary paths causing an I/O delay. The I/O operation resumes only after primary paths come online after the completion of the storage failover giveback operation.

17171

1311576

IO delays observed due to Read/Write operation failing to switch through secondary paths during storage failover with Emulex LPe16002(16G)

I/O operations might fail to resume through secondary paths during storage failover operations on Oracle Linux 7.7 kernel (5.4.17-2011.0.7.el7uek.x86_6) with Emulex LPe16002 16G HBA.
If I/O progress stops due to blocked primary paths during storage failover, the I/O operation might not resume through secondary paths causing an I/O delay. The I/O operation resumes only after primary paths come online after the completion of the storage failover giveback operation.

17172

1328943

I/O delays observed during storage failover with Emulex LPe32002(32G) host

I/O operations might fail to continue through existing active paths during storage failover operations on Oracle Linux 7.8 kernel (5.4.17-2011.1.2.el8uek.x86_64) with QLogic LPe32002 32G HBA.
If I/O progress stops due to failure in continuing through existing active paths during storage failover, the I/O operation might not resume causing an I/O delay. The I/O operation resumes only after the completion of the storage failover giveback operation.

17319

Note

For Oracle Linux (Red Hat compatible kernel) known issues, see the Known Issues section in the corresponding Red Hat Enterprise Linux release documentation.