Workspaces#
Our NVMe Lustre (anvme) storage/Workspaces are in beta mode with no guarantees about availability and integrity
Our NVMe Lustre (anvme) storage is accessible only on Alex and only through workspaces.
In general, a workspace is a path created via the command ws_allocate
.
The path to a workspace can be used like any other path.
The only difference is that it has an associated lifetime, here called duration.
When the duration of a workspace ends, the workspace will be deleted.
You can extend the duration multiple times.
A more detailed documentation you find under:
- https://kb.hlrs.de/platforms/index.php/Workspace_mechanism
- https://github.com/holgerBerger/hpc-workspace/blob/master/user-guide.md
Prerequisite#
You have to execute the commands from this page on Alex's frontends or nodes.
Allocating a workspace#
Create workspace with name <name>
for the duration of <days>
days:
- After
<days>
the workspace will be deleted. <days>
must be in the range of 1 to 90 days.- If
<days>
is omitted, duration is 1 day. - Duration can be changed and extended multiple times later, see Set a new duration for workspaces.
Obtaining the path to a workspace#
Get the path to workspace <name>
In a shell script there is no need to hard code the path to a workspace,
store the path in a variable. Here we lookup the path to workspace <name>
and store the associated path in $STORAGE_DIR
:
Listing your workspaces#
To list all your workspaces and their duration use ws_list
.
You can limit the output to workspaces those names matching a certain pattern <pattern>
.
Set a new duration for workspaces#
This is typically used to extend the duration of a workspace.
Set the duration of a workspace named <name>
to <days>
days with ws_extend
.
If <days>
is not specified 1 day is used.
Note, despite the command name suggests it, the duration is not extended by <days>
days, but set to <days>
days.
Delete a workspace early#
If you want to delete a workspace early, before its lifetime is up:
Examples#
In the following example,
- we create a workspace named
demo
with a lifetime of 60 days, - list its path,
- find the workspace and assign its path to a variable,
- list all your created workspaces, and delete
demo
:
# create workspace
$ ws_allocate demo 60
Info: creating workspace.
/anvme/workspace/user-demo
remaining extensions : 100
remaining time in days: 60
# obtain the path to the workspace
$ ws_find demo
/anvme/workspace/user-demo
# store the path to the workspace in a variable
$ STORAGE=$(ws_find demo)
$ echo "$STORAGE"
/anvme/workspace/user-demo
# list all your workspaces
$ ws_list
id: delme
workspace directory : /anvme/workspace/user-delme
remaining time : 89 days 23 hours
creation time : Tue Oct 17 14:05:44 2023
expiration date : Mon Jan 15 13:05:44 2024
filesystem name : anvme
available extensions : 99
id: demo
workspace directory : /anvme/workspace/user-demo
remaining time : 59 days 23 hours
creation time : Tue Oct 17 14:13:57 2023
expiration date : Sat Dec 16 13:13:57 2023
filesystem name : anvme
available extensions : 100
# delete workspace demo
$ ws_release demo