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
A default profile must be defined at all times. Any #DW line that does not specify a profile will use the default profile. If a default profile is not defined, then any new workflows will be rejected. If more than one profile is marked as default then any new workflows will be rejected.
Create the initial default profile from scratch or by using the [NnfStorageProfile/template](https://github.com/NearNodeFlash/nnf-sos/blob/master/config/examples/nnf_v1alpha1_nnfstorageprofile.yaml) resource as a template. If `nnf-deploy` was used to install nnf-sos then the default profile described below will have been created automatically.
51
55
@@ -87,13 +91,13 @@ nnf-system template false 11s
87
91
The administrator should edit the `default` profile to record any cluster-specific settings.
88
92
Maintain a copy of this resource YAML in a safe place so it isn't lost across upgrades.
89
93
90
-
## Keeping The Default Profile Updated
94
+
### Keeping The Default Profile Updated
91
95
92
96
An upgrade of nnf-sos may include updates to the `template` profile. It may be necessary to manually copy these updates into the `default` profile.
93
97
94
-
# Profile Parameters
98
+
## Profile Parameters
95
99
96
-
## XFS
100
+
### XFS
97
101
98
102
The following shows how to specify command line options for pvcreate, vgcreate, lvcreate, and mkfs for XFS storage. Optional mount options are specified one per line
99
103
@@ -118,8 +122,7 @@ data:
118
122
[...]
119
123
```
120
124
121
-
122
-
## GFS2
125
+
### GFS2
123
126
124
127
The following shows how to specify command line options for pvcreate, lvcreate, and mkfs for GFS2.
125
128
@@ -140,7 +143,7 @@ data:
140
143
[...]
141
144
```
142
145
143
-
## Lustre / ZFS
146
+
### Lustre / ZFS
144
147
145
148
The following shows how to specify a zpool virtual device (vdev). In this case the default vdev is a stripe. See [zpoolconcepts(7)](https://openzfs.github.io/openzfs-docs/man/7/zpoolconcepts.7.html) for virtual device descriptions.
146
149
@@ -168,7 +171,7 @@ data:
168
171
[...]
169
172
```
170
173
171
-
### ZFS dataset properties
174
+
#### ZFS dataset properties
172
175
173
176
The following shows how to specify ZFS dataset properties in the `--mkfsoptions` arg for mkfs.lustre. See [zfsprops(7)](https://openzfs.github.io/openzfs-docs/man/7/zfsprops.7.html).
174
177
@@ -188,9 +191,10 @@ data:
188
191
[...]
189
192
```
190
193
191
-
### Mount Options for Targets
194
+
#### Mount Options for Targets
195
+
196
+
##### Persistent Mount Options
192
197
193
-
#### Persistent Mount Options
194
198
Use the mkfs.lustre `--mountfsoptions` parameter to set persistent mount options for Lustre targets.
195
199
196
200
```yaml
@@ -209,7 +213,8 @@ data:
209
213
[...]
210
214
```
211
215
212
-
#### Non-Persistent Mount Options
216
+
##### Non-Persistent Mount Options
217
+
213
218
Non-persistent mount options can be specified with the ostOptions.mountTarget parameter to the NnfStorageProfile:
214
219
215
220
```yaml
@@ -232,7 +237,7 @@ data:
232
237
[...]
233
238
```
234
239
235
-
### Target Layout
240
+
#### Target Layout
236
241
237
242
Users may want Lustre file systems with different performance characteristics. For example, a user job with a single compute node accessing the Lustre file system would see acceptable performance from a single OSS. An FPP workload might want as many OSSs as posible to avoid contention.
238
243
@@ -269,7 +274,7 @@ data:
269
274
count: 10
270
275
```
271
276
272
-
#### Example Layouts
277
+
##### Example Layouts
273
278
274
279
`scale`with `colocateComputes=true` will likely be the most common layout type to use for `jobdw` directives. This will result in a Lustre file system whose performance scales with the number of compute nodes in the job.
275
280
@@ -281,47 +286,60 @@ The `count` field may be useful when creating a persistent file system since the
281
286
282
287
In general, `scale` gives a simple way for users to get a filesystem that has performance consistent with their job size. `count` is useful for times when a user wants full control of the file system layout.
283
288
284
-
# Command Line Variables
289
+
## Command Line Variables
290
+
291
+
### pvcreate
292
+
293
+
- `$DEVICE`- expands to the `/dev/<path>` value for one device that has been allocated
294
+
295
+
### vgcreate
296
+
297
+
- `$VG_NAME`- expands to a volume group name that is controlled by Rabbit software.
298
+
- `$DEVICE_LIST`- expands to a list of space-separated `/dev/<path>` devices. This list will contain the devices that were iterated over for the pvcreate step.
285
299
286
-
## pvcreate
300
+
### lvcreate
287
301
288
-
* `$DEVICE` - expands to the `/dev/<path>` value for one device that has been allocated
302
+
- `$VG_NAME`- see vgcreate above.
303
+
- `$LV_NAME`- expands to a logical volume name that is controlled by Rabbit software.
304
+
- `$DEVICE_NUM`- expands to a number indicating the number of devices allocated for the volume group.
305
+
- `$DEVICE1, $DEVICE2, ..., $DEVICEn`- each expands to one of the devices from the `$DEVICE_LIST` above.
289
306
290
-
## vgcreate
307
+
### XFS mkfs
291
308
292
-
* `$VG_NAME` - expands to a volume group name that is controlled by Rabbit software.
293
-
* `$DEVICE_LIST` - expands to a list of space-separated `/dev/<path>` devices. This list will contain the devices that were iterated over for the pvcreate step.
309
+
- `$DEVICE`- expands to the `/dev/<path>` value for the logical volume that was created by the lvcreate step above.
294
310
295
-
## lvcreate
311
+
### GFS2 mkfs
296
312
297
-
* `$VG_NAME` - see vgcreate above.
298
-
* `$LV_NAME` - expands to a logical volume name that is controlled by Rabbit software.
299
-
* `$DEVICE_NUM` - expands to a number indicating the number of devices allocated for the volume group.
300
-
* `$DEVICE1, $DEVICE2, ..., $DEVICEn` - each expands to one of the devices from the `$DEVICE_LIST` above.
313
+
-`$DEVICE`- expands to the `/dev/<path>` value for the logical volume that was created by the lvcreate step above.
314
+
-`$CLUSTER_NAME`- expands to a cluster name that is controlled by Rabbit Software
315
+
-`$LOCK_SPACE`- expands to a lock space key that is controlled by Rabbit Software.
316
+
-`$PROTOCOL`- expands to a locking protocol that is controlled by Rabbit Software.
301
317
302
-
## XFS mkfs
318
+
### zpool create
303
319
304
-
* `$DEVICE` - expands to the `/dev/<path>` value for the logical volume that was created by the lvcreate step above.
320
+
- `$DEVICE_LIST`- expands to a list of space-separated `/dev/<path>` devices. This list will contain the devices that were allocated for this storage request.
321
+
- `$POOL_NAME`- expands to a pool name that is controlled by Rabbit software.
322
+
- `$DEVICE_NUM`- expands to a number indicating the number of devices allocated for this storage request.
323
+
- `$DEVICE1, $DEVICE2, ..., $DEVICEn`- each expands to one of the devices from the `$DEVICE_LIST` above.
305
324
306
-
## GFS2 mkfs
325
+
### lustre mkfs
307
326
308
-
* `$DEVICE` - expands to the `/dev/<path>` value for the logical volume that was created by the lvcreate step above.
309
-
* `$CLUSTER_NAME` - expands to a cluster name that is controlled by Rabbit Software
310
-
* `$LOCK_SPACE` - expands to a lock space key that is controlled by Rabbit Software.
311
-
* `$PROTOCOL` - expands to a locking protocol that is controlled by Rabbit Software.
327
+
- `$FS_NAME`- expands to the filesystem name that was passed to Rabbit software from the workflow's #DW line.
328
+
- `$MGS_NID`- expands to the NID of the MGS. If the MGS was orchestrated by nnf-sos then an appropriate internal value will be used.
329
+
- `$POOL_NAME`- see zpool create above.
330
+
- `$VOL_NAME`- expands to the volume name that will be created. This value will be `<pool_name>/<dataset>`, and is controlled by Rabbit software.
331
+
- `$INDEX`- expands to the index value of the target and is controlled by Rabbit software.
312
332
313
-
## zpool create
333
+
### PostMount/PreUnmount and PostActivate/PreDeactivate
314
334
315
-
* `$DEVICE_LIST` - expands to a list of space-separated `/dev/<path>` devices. This list will contain the devices that were allocated for this storage request.
316
-
* `$POOL_NAME` - expands to a pool name that is controlled by Rabbit software.
317
-
* `$DEVICE_NUM` - expands to a number indicating the number of devices allocated for this storage request.
318
-
* `$DEVICE1, $DEVICE2, ..., $DEVICEn` - each expands to one of the devices from the `$DEVICE_LIST` above.
335
+
- `$MOUNT_PATH`- expands to the mount path of the fileystem to perform certain actions on the mounted filesystem
319
336
320
-
## lustre mkfs
337
+
#### Lustre Specific
321
338
322
-
* `$FS_NAME` - expands to the filesystem name that was passed to Rabbit software from the workflow's #DW line.
323
-
* `$MGS_NID` - expands to the NID of the MGS. If the MGS was orchestrated by nnf-sos then an appropriate internal value will be used.
324
-
* `$POOL_NAME` - see zpool create above.
325
-
* `$VOL_NAME` - expands to the volume name that will be created. This value will be `<pool_name>/<dataset>`, and is controlled by Rabbit software.
326
-
* `$INDEX` - expands to the index value of the target and is controlled by Rabbit software.
339
+
These variables are for lustre only and can be used to perform PostMount activities such are setting lustre striping.
327
340
341
+
- `$NUM_MDTS`- expands to the number of MDTs for the lustre filesystem
342
+
- `$NUM_MGTS`- expands to the number of MGTs for the lustre filesystem
343
+
- `$NUM_MGTMDTS`- expands to the number of combined MGTMDTs for the lustre filesystem
344
+
- `$NUM_OSTS`- expands to the number of OSTs for the lustre filesystem
345
+
- `$NUM_NNFNODES`- expands to the number of NNF Nodes for the lustre filesystem
0 commit comments