Skip to main content
A newer release of this product is available.

Fibre Channel (FC) support

Contributors netapp-aruldeepa

You can now use the Fibre Channel (FC) protocol with Trident to provision and manage storage resources on ONTAP system.

SCSI over Fibre Channel (FC) is a tech preview feature in the Trident 24.10 release.

Fibre Channel is a widely adopted protocol in enterprise storage environments due to its high performance, reliability, and scalability. It provides a robust and efficient communication channel for storage devices, enabling fast and secure data transfers.
By using SCSI over Fibre Channel, you can leverage their existing SCSI-based storage infrastructure while benefiting from the high-performance and long-distance capabilities of Fibre Channel. It enables the consolidation of storage resources and the creation of scalable and efficient storage area networks (SANs) that can handle large amounts of data with low latency.

Using the FC feature with Trident, you can do the following:

  • Dynamically provision PVCs using a deployment spec.

  • Take volume snapshots and create a new volume from the snapshot.

  • Clone an existing FC-PVC.

  • Resize an already deployed volume.

Prerequisites

Configure the required network and node settings for FC.

Network settings

  1. Get the WWPN of the target interfaces. Refer to network interface show for more information.

  2. Get the WWPN for the interfaces on initiator (Host).

    Refer to the corresponding host operating system utilities.

  3. Configure zoning on the FC switch using WWPNs of the Host and target.

    Refer to the respecive switch vendor documentation for information.

    Refer to the following ONTAP documentation for details:

Prepare the worker node

All worker nodes in the Kubernetes cluster must be able to mount the volumes you have provisioned for your pods. To prepare the worker nodes for FC, you must install the required tools.

Install the FC tools

Install the FC tools using the commands for your operating system.

  • When using worker nodes that run RHEL/RedHat CoreOS with FC PVs, specify the discard mountOption in the StorageClass to perform inline space reclamation. Refer to RedHat documentation.

RHEL 8+
  1. Install the following system packages:

    sudo yum install -y lsscsi device-mapper-multipath
  2. Enable multipathing:

    sudo mpathconf --enable --with_multipathd y --find_multipaths n
    Note Ensure etc/multipath.conf contains find_multipaths no under defaults.
  3. Ensure that multipathd is running:

    sudo systemctl enable --now multipathd
Ubuntu
  1. Install the following system packages:

    sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
  2. Enable multipathing:

    sudo tee /etc/multipath.conf <<-EOF
    defaults {
        user_friendly_names yes
        find_multipaths no
    }
    EOF
    sudo systemctl enable --now multipath-tools.service
    sudo service multipath-tools restart
    Note Ensure etc/multipath.conf contains find_multipaths no under defaults.
  3. Ensure that multipath-tools is enabled and running:

    sudo systemctl status multipath-tools

Create a backend configuration

Create a Trident backend for ontap-san driver and fcp as the sanType.

Refer to:

Backend configuration example with FC
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-ontap-san
spec:
  version: 1
  backendName: ontap-san-backend
  storageDriverName: ontap-san
  managementLIF: 10.0.0.1
  sanType: fcp
  svm: trident_svm
  credentials:
    name: backend-tbc-ontap-san-secret

Create a storage class

For more information, refer to:

Storage class example
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fcp-sc
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-san"
  storagePools: "ontap-san-backend:.*"
  fsType: "ext4"
allowVolumeExpansion: True