You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- MpiFileUtils dtar must be installed on all kubernetes nodes in order to use `dtar` as snapshot utility. Not required if `tar` is used for snapshots (default).
49
-
50
-
## Installation
51
-
Clone or untar driver (depending on where you get the driver)
- MpiFileUtils dtar must be installed on all kubernetes nodes in order to use `dtar` as snapshot utility. Not required if `tar` is used for snapshots (default).
188
+
189
+
### Prerequisites
190
+
EXAScaler client must be installed and configured on all kubernetes nodes. Please refer to EXAScaler Installation and Administration Guide.
191
+
192
+
### Installation
193
+
Clone or untar driver (depending on where you get the driver)
Make changes to `deploy/helm-chart/values.yaml` and `deploy/helm-chart/exascaler-csi-file-driver-config.yaml` according to your Kubernetes and EXAScaler clusters environment
@@ -276,7 +285,7 @@ parameters:
276
285
projectId: "100001"# Points to EXA project id to be used to set volume quota. Automatically generated by the driver if not provided.
277
286
exaMountUid: "1001"# Uid which will be used to access the volume in pod. Should be synced between EXA server and clients.
278
287
exaMountGid: "1002"# Gid which will be used to access the volume in pod. Should be synced between EXA server and clients.
279
-
bindMount: "false"# Determines, whether volume will bind mounted or as a separate lustre mount.
288
+
bindMount: "true"# Determines, whether volume will bind mounted or as a separate lustre mount.
280
289
exaFS: "10.204.86.114@tcp:/testfs"# Overrides exaFS value from config. Use this to support multiple EXA filesystems.
281
290
mountPoint: /exaFS # Overrides mountPoint value from config. Use this to support multiple EXA filesystems.
282
291
mountOptions: ro,noflock
@@ -356,25 +365,37 @@ spec:
356
365
#mountOptions: ro, flock # list of options for `mount` command
|`driver`|[required] installed driver name " exa.csi.ddn.com" |`exa.csi.ddn.com`|
364
-
|`volumeHandle`|[required] EXAScaler name and path to volume on EXAScaler filesystem |`exa1:/nginx-persistent`|
365
-
|`exaMountUid`| Uid which will be used to access the volume from the pod. |`1015`|
366
-
|`exaMountGid`| Gid which will be used to access the volume from the pod. |`1015`|
367
-
|`projectId`| Points to EXA project id to be used to set volume quota. Automatically generated by the driver if not provided. |`100001`|
368
-
|`managementIp`| Should be used if there is a separate network configured for management operations, such as create/delete volumes. This network should have access to all Exa filesystems in a isolated zones environment |`192.168.10.20@tcp2`|
369
-
|`bindMount`| Determines, whether volume will bind mounted or as a separate lustre mount. |`true`|
370
-
|`mountOptions`| Options that will be passed to mount command (-o <opt1,opt2,opt3>) |`ro,flock`|
371
-
|`minProjectId`| Minimum project ID number for automatic generation. Only used when projectId is not provided. | 10000 |
372
-
|`maxProjectId`| Maximum project ID number for automatic generation. Only used when projectId is not provided. | 4294967295 |
373
-
|`generateProjectIdRetries`| Maximum retry count for generating random project ID. Only used when projectId is not provided. |`5`|
374
-
|`zone`| Topology zone to control where the volume should be created. Should match topology.exa.csi.ddn.com/zone label on node(s). |`us-west`|
375
-
|`v1xCompatible`|[Optional] Only used when upgrading the driver from v1.x.x to v2.x.x. Provides compatibility for volumes that were created beore the upgrade. Set it to `true` to point to the Exa cluster that was configured before the upgrade |`false`|
376
-
|`tempMountPoint`|[Optional] Used when `exaFS` points to a subdirectory that does not exist on Exascaler and will be automatically created by the driver. This parameter sets the directory where Exascaler filesystem will be temporarily mounted to create the subdirectory. |`/tmp/exafs-mnt`|
377
-
|`volumeDirPermissions`|[Optional] Defines file permissions for mounted volumes. |`0777`|
|`exaFS`|`exaFS`|[required] Full path to EXAScaler filesystem |`10.3.3.200@tcp:/csi-fs`|
373
+
|`mountPoint`[required]| - | Mountpoint on Kubernetes host where the exaFS will be mounted |`/exa-csi-mnt`|
374
+
| - |`driver`[required]| Installed driver name " exa.csi.ddn.com" |`exa.csi.ddn.com`|
375
+
| - |`volumeHandle`|[required for static volumes] EXAScaler name and path to volume on EXAScaler filesystem |`exa1:/nginx-persistent`|
376
+
| - |`exaMountUid`| Uid which will be used to access the volume from the pod. |`1015`|
377
+
| - |`exaMountGid`| Gid which will be used to access the volume from the pod. |`1015`|
378
+
| - |`projectId`| Points to EXA project id to be used to set volume quota. Automatically generated by the driver if not provided. |`100001`|
379
+
|`managementIp`|`managementIp`| Should be used if there is a separate network configured for management operations, such as create/delete volumes. This network should have access to all Exa filesystems in a isolated zones environment |`192.168.10.20@tcp2`|
380
+
|`bindMount`|`bindMount`| Determines, whether volume will bind mounted or as a separate lustre mount. Default is `true`|`true`|
381
+
|`defaultMountOptions`|`mountOptions`| Options that will be passed to mount command (-o <opt1,opt2,opt3>) |`ro,flock`|
382
+
| - |`minProjectId`| Minimum project ID number for automatic generation. Only used when projectId is not provided. | 10000 |
383
+
| - |`maxProjectId`| Maximum project ID number for automatic generation. Only used when projectId is not provided. | 4294967295 |
384
+
| - |`generateProjectIdRetries`| Maximum retry count for generating random project ID. Only used when projectId is not provided. |`5`|
385
+
|`zone`|`zone`| Topology zone to control where the volume should be created. Should match topology.exa.csi.ddn.com/zone label on node(s). |`us-west`|
386
+
|`v1xCompatible`| - |[Optional] Only used when upgrading the driver from v1.x.x to v2.x.x. Provides compatibility for volumes that were created beore the upgrade. Set it to `true` to point to the Exa cluster that was configured before the upgrade |`false`|
387
+
|`tempMountPoint`|`tempMountPoint`|[Optional] Used when `exaFS` points to a subdirectory that does not exist on Exascaler and will be automatically created by the driver. This parameter sets the directory where Exascaler filesystem will be temporarily mounted to create the subdirectory. |`/tmp/exafs-mnt`|
388
+
|`volumeDirPermissions`|`volumeDirPermissions`|[Optional] Defines file permissions for mounted volumes. |`0777`|
389
+
|`hotNodes`|`hotNodes`| Determines whether `HotNodes` feature should be used. This feature can only be used by the driver when Hot Nodes (PCC) service is disabled and not used manually on the kubernetes workers. |`false`|
390
+
| `pccCache` | `pccCache` | Directory for cached files of the file system. Note that lpcc does not recognize directories with a
391
+
trailing slash (“/” at the end). | `/csi-pcc` |
392
+
|`pccAutocache`|`pccAutocache`| Condition for automatic file attachment (caching) |`projid={500}`|
393
+
|`pccPurgeHighUsage`|`pccPurgeHighUsage`| If the disk usage of cache device is higher than high_usage, start detaching the files. Defaults to 90 (90% disk/inode usage). |`90`|
394
+
|`pccPurgeLowUsage`|`pccPurgeLowUsage`| If the disk usage of cache device is lower than low_usage, stop detaching the files. Defaults to 75 (75% disk/inode usage). |`70`|
395
+
|`pccPurgeScanThreads`|`pccPurgeScanThreads`| Threads to use for scanning cache device in parallel. Defaults to 1. |`1`|
396
+
|`pccPurgeInterval`|`pccPurgeInterval`| Interval for lpcc_purge to check cache device usage, in seconds. Defaults to 30. |`30`|
397
+
|`pccPurgeLogLevel`|`pccPurgeLogLevel`| Log level for lpcc_purge: either “fatal”, “error”, “warn”, “normal”, “info” (default), or “debug”. |`info`|
398
+
|`pccPurgeForceScanInterval`|`pccPurgeForceScanInterval`| Scan PCC backends forcefully after this number of seconds to refresh statistic data. |`30`|
378
399
379
400
#### _PersistentVolumeClaim_ (pointing to created _PersistentVolume_)
0 commit comments