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 Fritz. Our NVMe Lustre (hnvme) storage is exclusively accessible from Helma. For both systems user directories are managed by 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, Fritz's or Helma'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:
Sharing a workspace with other accounts#
If you want to share or unshare a workspace with an other account, you can use the command
Restoring workspaces#
After expiring workspaces can be restored for a short time. First a new empty workspace (target) must be allocated (use ws_allocate
).
# list all workspaces available for restoration
ws_restore -l
#restore
ws_restore -n <name> -t <target name>
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