Skip to main content
ONTAP SAN Host Utilities

Configure Proxmox VE 8.x for FCP and iSCSI with ONTAP storage

Contributors netapp-sarajane

Configure Proxmox VE 8.x for multipathing and with specific parameters and settings for FCP and iSCSI protocol operations with ONTAP storage.

FCP and iSCSI with Proxmox VE 8.x have the following known limitations:

  • The Linux Host Utilities do not support Proxmox VE 8.x operating systems.

  • The SAN boot configuration is not supported.

Step 1: Confirm the multipath configuration for your host

You can use multipathing with Proxmox VE 8.x to manage ONTAP LUNs.

To ensure that multipathing is configured correctly for your host, verify that the /etc/multipath.conf file is defined and that you have the NetApp recommended settings configured for your ONTAP LUNs.

Steps
  1. Verify that the /etc/multipath.conf file exits. If the file doesn't exist, create an empty, zero-byte file:

    touch /etc/multipath.conf
  2. The first time the multipath.conf file is created, you might need to enable and start the multipath services to load the recommended settings:

    systemctl enable multipathd
    systemctl start multipathd
  3. Each time you boot the host, the empty /etc/multipath.conf zero-byte file automatically loads the NetApp recommended host multipath parameters as the default settings. You shouldn't need to make changes to the /etc/multipath.conf file for your host because the operating system is compiled with the multipath parameters that recognize and manage ONTAP LUNs correctly.

    The following table shows the Linux OS native compiled multipath parameter settings for ONTAP LUNs.

    Show parameter settings
    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

    "always"

    hardware_handler

    "1"

    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

  4. Optionally, override the default value for the find_multipaths parameter to ensure that ONTAP LUNs are correctly discovered and managed by multipathd:

    1. Set find_multipaths to "no" in the defaults section of /etc/multipath.conf:

      defaults {
          find_multipaths "no"
      }
    2. Reload the multipath service:

      systemctl reload multipathd
    Note By default, the Proxmox OS-native multipath configuration sets find_multipaths to "strict" with the empty zero byte /etc/multipath.conf configuration file each time you boot the host. This can prevent the host discovering newly presented ONTAP LUNs as multipath devices, which means they do not appear under multipath control automatically. Existing ONTAP LUNs remain discovered and under multipath control after each reboot.
  5. Verify the parameter settings and path status for your ONTAP LUNs:

    multipath -ll

    The default multipath parameters support ASA, AFF, and FAS configurations. In these configurations, a single ONTAP LUN shouldn't require more than four paths. If there are more than four paths, it might cause issues with the paths during a storage failure.

    The following example outputs show the correct parameter settings and path status for ONTAP LUNs in an ASA, AFF, or FAS configuration.

    ASA configuration

    An ASA configuration optimizes all paths to a given LUN, keeping them active. This improves performance by serving I/O operations through all paths at the same time.

    Show example
    multipath -ll
    3600a098038315071592b59713261566d dm-38 NETAPP,LUN C-Mode
    size=100G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      |- 8:0:0:7 sdbv 68:144 active ready running
      |- 9:0:0:7 sdbx 68:176 active ready running
      |- 6:0:0:7 sdbr 68:80  active ready running
      `- 7:0:0:7 sdbt 68:112 active ready running
    AFF or FAS configuration

    An AFF or FAS configuration should have two groups of paths with higher and lower priorities. Higher priority Active/Optimized paths are served by the controller where the aggregate is located. Lower priority paths are active but non-optimized because they are served by a different controller. Non-optimized paths are only used when optimized paths aren’t available.

    The following example shows the output for an ONTAP LUN with two Active/Optimized paths and two Active/Non-Optimized paths:

    Show example
    multipath -ll
    3600a0980383149764b5d567257516273 dm-0 NETAPP,LUN C-Mode
    size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
    |-+- policy='service-time 0' prio=50 status=active
    | |- 16:0:3:0  sdcg 69:64  active ready running
    | `- 10:0:0:0  sdb  8:16   active ready running
    `-+- policy='service-time 0' prio=10 status=enabled
      |- 10:0:1:0  sdc  8:32   active ready running
      `- 16:0:2:0  sdcf 69:48  active ready running

Step 2: Optionally, exclude a device from multipathing

If required, you can exclude a device from multipathing by adding the WWID for the unwanted device to the "blacklist" stanza for the multipath.conf file.

Steps
  1. Determine the WWID:

    /lib/udev/scsi_id -gud /dev/sda

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

    An example WWID is 360030057024d0730239134810c0cb833.

  2. Add the WWID to the "blacklist" stanza:

    blacklist {
    	     wwid   360030057024d0730239134810c0cb833
            devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
            devnode "^hd[a-z]"
            devnode "^cciss.*"
    }

Step 3: Customize multipath parameters for ONTAP LUNs

If your host is connected to LUNs from other vendors and any of the multipath parameter settings are overridden, you need to correct them by adding stanzas later in the multipath.conf file that apply specifically to ONTAP LUNs. If you don't do this, the ONTAP LUNs might not work as expected.

Check your /etc/multipath.conf file, especially in the defaults section, for settings that might be overriding the default settings for multipath parameters.

Caution You shouldn't override the recommended parameter settings for ONTAP LUNs. These settings are required for optimal performance of your host configuration. Contact NetApp support, your OS vendor, or both for more information.

The following example shows how to correct an overridden default. In this example, the multipath.conf file defines values for path_checker and no_path_retry that aren't compatible with ONTAP LUNs, and you can't remove these parameters because ONTAP storage arrays are still attached to the host. Instead, you correct the values for path_checker and no_path_retry by adding a device stanza to the multipath.conf file that applies specifically to the ONTAP LUNs.

Show example
defaults {
   path_checker      readsector0
   no_path_retry     fail
}

devices {
   device {
      vendor          "NETAPP"
      product         "LUN"
      no_path_retry   queue
      path_checker    tur
   }
}

Step 4: Review the known issues

There are no known issues.