Configure Proxmox VE 8.x for FCP and iSCSI with ONTAP storage
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.
-
Verify that the
/etc/multipath.conffile exits. If the file doesn't exist, create an empty, zero-byte file:touch /etc/multipath.conf -
The first time the
multipath.conffile is created, you might need to enable and start the multipath services to load the recommended settings:systemctl enable multipathdsystemctl start multipathd -
Each time you boot the host, the empty
/etc/multipath.confzero-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.conffile 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
-
Optionally, override the default value for the
find_multipathsparameter to ensure that ONTAP LUNs are correctly discovered and managed by multipathd:-
Set
find_multipathsto "no" in the defaults section of/etc/multipath.conf:defaults { find_multipaths "no" } -
Reload the multipath service:
systemctl reload multipathd
By default, the Proxmox OS-native multipath configuration sets find_multipathsto "strict" with the empty zero byte/etc/multipath.confconfiguration 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. -
-
Verify the parameter settings and path status for your ONTAP LUNs:
multipath -llThe 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 configurationAn 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 configurationAn 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.
-
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. -
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.
|
|
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.