This section describes how to configure SFS Turbo mount options. For SFS Turbo, you can only set mount options in a PV and bind the PV by creating a PVC.
The CCE Container Storage (Everest) add-on version must be 1.2.8 or later. This add-on identifies the mount options and transfers them to the underlying storage resources. The parameter settings take effect only if the underlying storage resources support the specified options.
The Everest add-on in CCE presets the options described in Table 1 for mounting SFS Turbo volumes.
Parameter |
Value |
Description |
---|---|---|
vers |
3 |
File system version. Currently, only NFSv3 is supported. Value: 3 |
nolock |
Blank |
Whether to lock files on the server using the NLM protocol. If nolock is selected, the lock is valid for applications on one host. For applications on another host, the lock is invalid. |
timeo |
600 |
Waiting time before the NFS client retransmits a request. The unit is 0.1 seconds. Recommended value: 600 |
hard/soft |
Blank |
Mount mode.
The default value is hard. |
sharecache/nosharecache |
Blank |
How the data cache and attribute cache are shared when one file system is concurrently mounted to different clients. If this parameter is set to sharecache, the caches are shared. If this parameter is set to nosharecache, the caches are not shared, and one cache is configured for each client mounting. The default value is sharecache. NOTE:
The nosharecache setting will affect the performance. The mounting information must be obtained for each mounting, which increases the communication overhead with the NFS server and the memory consumption of the NFS clients. In addition, the nosharecache setting on the NFS clients may lead to inconsistent caches. Determine whether to use nosharecache based on site requirements. |
You can set other mount options if needed. For details, see Mounting an NFS File System to ECSs (Linux).
You can use the mountOptions field to configure mount options in a PV. The options you can configure in mountOptions are listed in SFS Turbo Mount Options.
apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: everest-csi-provisioner name: pv-sfsturbo # PV name. spec: accessModes: - ReadWriteMany # Access mode. The value must be ReadWriteMany for SFS Turbo. capacity: storage: 500Gi # SFS Turbo volume capacity. csi: driver: sfsturbo.csi.everest.io # Dependent storage driver for the mounting. fsType: nfs volumeHandle: {your_volume_id} # SFS Turbo volume ID volumeAttributes: everest.io/share-export-location: {your_location} # Shared path of the SFS Turbo volume. storage.kubernetes.io/csiProvisionerIdentity: everest-csi-provisioner persistentVolumeReclaimPolicy: Retain # Reclaim policy. storageClassName: csi-sfsturbo # SFS Turbo storage class name. mountOptions: # Mount options. - vers=3 - nolock - timeo=600 - hard
kubectl get pod | grep web-sfsturbo
Command output:
web-sfsturbo-*** 1/1 Running 0 23m
kubectl exec -it web-sfsturbo-*** -- mount -l | grep nfs
If the mounting information in the command output is consistent with the configured mount options, the mount options have been configured.
<Your mount path> on /data type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=**.**.**.**,mountvers=3,mountport=20048,mountproto=tcp,local_lock=all,addr=**.**.**.**)