Storage class for creating fileset-based volumes

Create PVCs under a file system that is owned by the primary cluster or a file system that is owned by a different cluster other than the primary cluster.

To create the fileset-based volumes, use the storageClass details that are provided in the following example.

In this example, it is assumed that the user wants to create PVCs under the file system, gpfs0, as in the sample deployment explained in Remote cluster support. The same storageClass format is applicable for the sample deployment that is explained in Operator.

Independent fileset storage class:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ibm-spectrum-scale-csi-fileset
provisioner: spectrumscale.csi.ibm.com
parameters:
  volBackendFs: gpfs0
  uid: "1000"
  gid: "1000"
  nodeClass: gpfs_siteA
reclaimPolicy: Delete
Dependent fileset storage class:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ibm-spectrum-scale-csi-fileset-dependent
provisioner: spectrumscale.csi.ibm.com
parameters:
  volBackendFs: "gpfs0"
  uid: "1000"    
  gid: "1000"
  filesetType: "dependent"
  parentFileset: "independent-fileset-fset1"
reclaimPolicy: Delete
The following fields are available for the "parameters:" section in a storageClass manifest. The "parameters:" section is a mandatory section for the IBM Storage Scale Container Storage Interface driver storageClass:
Field name Description
volBackendFs The name of the file system under which the fileset should be created.

When a file system that is owned by a different cluster, the file system name is the name of the remotely mounted file system on the primary cluster.

clusterId (optional) The Cluster ID of the owning cluster for the remote files system.

The Cluster ID of the primary cluster for local file system.

uid (optional) The username of the fileset. The uid/gid must exist on the IBM Storage Scale GUI node of accessing and owning clusters. The default value is "root".
gid (optional) The group name of the fileset. The gid/group name must exist on the IBM Storage Scale GUI node of the accessing and owning clusters. The default value is "root".
filesetType Valid options are "independent", "dependent". The default value is "independent".
parentFileset Parent fileset name. Valid with filesetType=dependent. Default value is root.
inodeLimit (optional) Inode limit for fileset. Valid with filesetType=independent. If not specified, inodeLimit is calculated by using this formula: volume size/block size of the file system.
Note: Start of changeWith IBM Storage Scale 5.1.4 and later, auto inode expansion can be used instead of inodeLimit. For more information, see the mmchfs command.End of change
Start of changeshared (optional)End of change Start of changeUse shared="true", if you have pods with non-root users that are using PVCs with ReadWriteMany(RWX) access mode. Default value is "false".End of change
nodeClass (optional) The user can specify a pre-existing nodeClass in storageClass, so that the pre-existing nodeClass is used when a volume is created from an existing volume or snapshot. If a nodeClass is specified, only the node belonging to it participates in data copy.
Note: For more information about nodeClass, see IBM Storage Scale nodeClass command.