Use Oracle Linux 7.0 with ONTAP

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

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.

What you’ll need

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

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.


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.

  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 Oracle Linux 7.0 the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. Oracle Linux 7.0 is compiled with all settings required to recognize and correctly manage ONTAP LUNs. To Enable ALUA Handler, perform the following steps:

  1. Create a backup of the initrd-image.

  2. Append the following parameter value to the kernel for ALUA and non-ALUA to work:

    kernel /vmlinuz-3.8.13-68.1.2.el6uek.x86_64 ro root=/dev/mapper/vg_ibmx3550m421096-lv_root rd_NO_LUKSrd_LVM_LV=vg_ibmx3550m421096/lv_root LANG=en_US.UTF-8 rd_NO_MDSYSFONT=latarcyrheb-sun16 crashkernel=256M KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_ibmx3550m421096/lv_swap rd_NO_DM rhgb quiet rdloaddriver=scsi_dh_alua
  3. Recreate the initrd-image with the dracut -f command.

  4. Reboot the host.

  5. Verify the output of the cat /proc/cmdline command to ensure that the setting is complete.

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 the higher priorities are Active/Optimized, which means 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
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 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 Oracle Linux 7.0 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 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










"3 queue_if_no_path 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 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.0 RedHat Enterprise Kernel (RHCK), use the recommended settings for Red Hat Enterprise Linux (RHEL) 7.0.

Known Problems and Limitations

NetApp Bug ID Title Description Bugzilla ID


OL7.0 : Host loses all paths to the lun and hangs due to "RSCN timeout" error on OL 7.0 UEK r3U5 Beta on Emulex 8G(LPe12002) host

You might observe that the Emulex 8G(LPe12002) host hangs and there is a high I/O outage during storage failover operations with I/O. You might observe paths not recovering, which is a result of the RSCN timeout, due to which the host loses all the paths and hangs. Probability of hitting this issue is high.



OL 7.0: High IO outage observed on QLogic 8G FC (QLE2562) SAN host during storage failover operations with IO

You might observe high IO outage on QLogic 8G FC (QLE2562) host during storage failover operations with IO. Aborts and Device resets manifests as IO outage on the host. Probability of hitting this IO outage is high.



OL7.0: Dracut fails to include scsi_dh_alua.ko module in initramfs on UEKR3U5 alpha

The scsi_dh_alua module might not load even after adding the parameter "rdloaddriver=scsi_dh_alua" in the kernel command line and creating Dracut. As a result, ALUA is not enabled for NetApp LUNs as recommended.



Anaconda displays an iSCSI login failure message although logins are successful during OL 7.0 OS installation

When you are installing OL 7.0, the anaconda installation screen displays that iSCSI login to multiple target IPs have failed though the iSCSI logins are successful. Anaconda displays following error message:
"Node Login Failed"
You will observe this error only when you select multiple target IPs for iSCSI login.
You can continue the OS installation by clicking the "ok" button. This bug does not hamper either the iSCSI or the OL 7.0 OS installation.



OL7.0 : Anaconda does not add bootdev argument in kernel cmd line to set IP address for iSCSI SANboot OS install

Anaconda does not add a bootdev argument in the kernel command line where you set the IPv4 address during the OL 7.0 OS installation on an iSCSI multipath’d LUN. Owing to this, you cannot assign IP addresses to any of the Ethernet interfaces that were configured to establish iSCSI sessions with the storage subsystem during the OL 7.0 boot. Since iSCSI sessions are not established, the root LUN is not discovered when the OS boots and hence the OS boot fails.



Qlogic 10G FCoE (QLE8152) host kernel crash observed during storage failover operations with IO

You may observe a kernel crash in Qlogic driver module on 10G FCoE Qlogic (QLE8152) host. The crash occurs during storage failover operations with IO. Probability of hitting this crash is high which leads to longer IO outage on the host.