Use Ubuntu 20.04 with ONTAP
You can use the ONTAP SAN host configuration settings to configure Ubuntu 20.04 with ONTAP as the target.
NetApp Linux Unified Host Utilities software package is not available for Ubuntu 20.04 OS. |
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 that multiple paths are available.
Multiple paths become 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 that the boot was successful.
Multipathing
For Ubuntu 20.04, the /etc/multipath.conf
file must exist, but you do not need to make specific changes to the file. Ubuntu 20.04 is compiled with all the 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.
The following example displays the correct output for an ONTAP LUN:
# multipath -ll 3600a098038314559533f524d6c652f62 dm-24 NETAPP,LUN C-Mode size=10G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw `-+- policy='service-time 0' prio=50 status=active |- 11:0:1:13 sdm 8:192 active ready running |- 11:0:3:13 sdah 66:16 active ready running |- 12:0:1:13 sdbc 67:96 active ready running `- 12:0:3:13 sdbx 68:176 active ready running
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.
The following example displays the correct output for an ONTAP LUN with two Active/Optimized paths and two Active/Non-Optimized paths:
# multipath -ll 3600a098038314837352453694b542f4a dm-0 NETAPP,LUN C-Mode size=160G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 14:0:3:0 sdbk 67:224 active ready running | `- 15:0:2:0 sdbl 67:240 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 14:0:0:0 sda 8:0 active ready running `- 15:0:1:0 sdv 65:80 active ready running
A single LUN shouldn't require more than four paths. More than eight paths might cause path issues during storage failures. |
Recommended settings
The Ubuntu 20.04 OS is compiled to recognize ONTAP LUNs and automatically set all configuration parameters correctly for both ASA and non-ASA configurations. You can further optimize performance for your host configuration with the following recommended settings.
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.*" }
The following example determines the WWID of a device and adds it to the multipath.conf
file.
-
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. -
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 |
"2 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 |
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 other SAN arrays are 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
There are no known issues for the Ubuntu 20.04 with ONTAP release.