NetApp / trident

Storage orchestrator for containers
Apache License 2.0
762 stars 222 forks source link

Do I require having multipathd enabled to use iSCSI? #920

Closed rabin-io closed 3 months ago

rabin-io commented 3 months ago

Describe the bug $subect

Environment I'm testing Trident on top of OpenShift, and started to test iSCSI (on-san) support as a backend for Virtual Machines (OpenShift Virtualization).

To Reproduce Create a VM and an add a disk using the iSCSI storage class.

Expected behavior Should just work. But I get an error message

Warning FailedMapVolume 69s (x9 over 3m18s) kubelet MapVolume.SetUpDevice failed for volume "pvc-357308a4-b673-4e90-9557-85b71f1eb525" : rpc error: code = Internal desc = rpc error: code = Internal desc = failed to stage volume: multipathd is not running

Additional context Enabling multipathd on the host, does resolve this issue, but I'm wondering if enabling multipathd is required for iSCSI, or it is just a config on the TridentBackEnd config?

image

wonderland commented 3 months ago

Yes, multipathing is required. You'll run into issues otherwise if any failover/maintenance occurs on the storage system. Therefore recent versions of Trident enforce multipathing.

You can set this via MachineConfig. The only setting Trident needs in multipath.conf is find_multipaths no. An example MachineConfig is provided here (please refer to the one for multipathing!): https://docs.netapp.com/us-en/netapp-solutions/containers/rh-os-n_overview_trident.html#iscsi

rabin-io commented 3 months ago

Thank you for the (quick) clarification.