Using Red Hat Enterprise Linux 6.6 with NetApp ONTAP
Contributors
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.
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.
-
Download the 32-bit or 64-bit Linux Unified Host Utilities software package from the NetApp Support Site Site to your host.
-
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.
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
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.
-
Map the SAN boot LUN to the host.
-
Verify multiple paths are available.
Remember, multiple paths will only be available after the host OS is up and running on the paths.
-
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.
-
Reboot the host to verify the boot is successful.
Multipathing
For Red Hat Enterprise Linux (RHEL) 6.6 the /etc/multipath.conf file must exist, but you do not need to make specific changes to the file. RHEL 6.6 is compiled with all settings required to recognize and correctly manage ONTAP LUNs.
To Enable ALUA Handler, perform the following steps:
-
Create a backup of the initrd-image.
-
Append the following parameter value to the kernel for ALUA and non-ALUA to work:
rdloaddriver=scsi_dh_alua
Examplekernel /vmlinuz-2.6.32-358.6.1.el6.x86_64 ro root=/dev/mapper/ vg_ibmx355021082-lv_root rd_NO_LUKS rd_LVM_LV=vg_ibmx355021082/ lv_root LANG=en_US.UTF-8 rd_LVM_LV=vg_ibmx355021082/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet rdloaddriver=scsi_dh_alua
-
Use the
mkinitrd
command to recreate the initrd-image.
RHEL 6x and later versions use either:
The command:mkinitrd -f /boot/ initrd-"uname -r".img uname -r
Or
The command:dracut -f
-
Reboot the host.
-
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.
The following sections provide sample multipath output for a LUN mapped to ASA and non-ASA personas.
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.
The following example displays the correct output for an ONTAP LUN with four Active/Optimized paths:
# multipath -ll 3600a0980383034466b2b4a3775474859 dm-3 NETAPP,LUN C-Mode size=20G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active |- 1:0:8:1 sdb 8:16 active ready running |- 2:0:8:1 sdd 8:48 active ready running |- 1:0:9:1 sdc 8:32 active ready running |- 2:0:9:1 sde 8:64 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. |
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.
The following example displays the correct output for an ONTAP LUN with two Active/Optimized paths and two Active/Non-Optimized paths:
# multipath -ll 3600a0980383034466b2b4a3775474859 dm-3 NETAPP,LUN C-Mode size=20G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | |- 1:0:8:1 sdb 8:16 active ready running | `- 2:0:8:1 sdd 8:48 active ready running `-+- policy='round-robin 0' prio=10 status=enabled |- 1:0:9:1 sdc 8:32 active ready running `- 2:0:9:1 sde 8:64 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. |
Recommended Settings
The RHEL 6.6 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, 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.*" }
In this example, sda is the local SCSI disk that we need to blacklist.
-
Run the following command to determine the WWID:
# /lib/udev/scsi_id -gud /dev/sda 360030057024d0730239134810c0cb833
-
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" |
no_path_retry |
queue |
path_checker |
"tur" |
path_grouping_policy |
"group_by_prio" |
path_selector |
"round-robin 0" |
polling_interval |
5 |
prio |
"ontap" |
product |
LUN.* |
retain_attached_hw_handler |
yes |
rr_weight |
"uniform" |
user_friendly_names |
no |
vendor |
NETAPP |
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 } }
Known Problems and Limitations
NetApp Bug ID | Title | Description | Bugzilla ID |
---|---|---|---|
Kernel crash occurs with RHEL 6U6 host during storage failures |
You might observe kernel crash on RHEL 6U6 host during storage/fabric. |
||
IO stall up to 300 sec seen with QLogic 16G FC (QLE2672) host during storage failures in RHEL 6U4 |
You might observe an IO stall up to 300 sec on QLogic 16G FC (QLE2672) host during storage/fabric failures. |
||
RHEL6 U5 multipathd incorrectly group multipath maps during MoD and storage failover fault operations |
You might observe an incorrect path grouping on LUNs during LUN move on demand operation along with storage faults. During LUN move operation multipath path priorities will change and multipath is unable to reloads the device table due to device failure caused by storage fault. This leads to incorrect path grouping. |
Release Notes
ASM Mirroring
ASM mirroring might require changes to the Linux multipath settings to allow ASM to recognize a problem and switch over to an alternate fail group. Most ASM configurations on ONTAP use external redundancy, which means that data protection is provided by the external array and ASM does not mirror data. Some sites use ASM with normal redundancy to provide two-way mirroring, normally across different sites. See Oracle Databases on ONTAP for further information.