NEMO2/Workspaces: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
'''Workspace tools''' provide temporary storage on NEMO's fast parallel filesystem (Weka).
'''Workspace tools''' provide temporary storage on NEMO's fast parallel filesystem (Weka).
They are meant for data that needs to persist longer than a single job, but not permanently.
They are meant for data that needs to persist longer than a single job, but not permanently.

For advanced features — user config (<tt>~/.ws_user.conf</tt>), reminders, quotas, workspace handover, and more — see [[NEMO2/Workspaces/Advanced_Features|Advanced Features]].


== What are Workspaces? ==
== What are Workspaces? ==
Line 68: Line 70:
|}
|}


== Create Workspace ==
== Creating Workspaces ==


Create a workspace with a '''name''' and '''lifetime''' in days:
Create a workspace with a '''name''' and '''lifetime''' in days:
Line 76: Line 78:
Returns:
Returns:


/work/workspace/scratch/username-myWs-0
/work/classic/$USER-myWs


'''Capture path in variable:'''
'''Capture path in variable:'''
Line 85: Line 87:
'''Important:''' Running the same command again is safe - returns the existing workspace path.
'''Important:''' Running the same command again is safe - returns the existing workspace path.


== List Your Workspaces ==
== Listing Workspaces ==


$ ws_list # List all workspaces
$ ws_list # List all workspaces
Line 91: Line 93:
$ ws_list -g # Show group workspaces
$ ws_list -g # Show group workspaces


== Extend Workspace Lifetime ==
== Extending Workspaces ==


$ ws_extend myWs 100 # Extend by 100 days from now
$ ws_extend myWs 100 # Extend by 100 days from now
Line 99: Line 101:
Each extension consumes one of your available extensions (100 total).
Each extension consumes one of your available extensions (100 total).


== Release (Delete) Workspace ==
== Releasing Workspaces ==


$ ws_release myWs
$ ws_release myWs
Line 105: Line 107:
The workspace becomes inaccessible immediately and is permanently deleted at the next nightly expirer run. '''Do not rely on recovering a released workspace.'''
The workspace becomes inaccessible immediately and is permanently deleted at the next nightly expirer run. '''Do not rely on recovering a released workspace.'''


== Restore Workspace ==
== Restoring Workspaces ==


Recover workspaces that '''expired naturally''' (reached end of lifetime) within the 30-day grace period:
Recover workspaces that '''expired naturally''' (reached end of lifetime) within the 30-day grace period:
Line 114: Line 116:


'''Important:''' Use the '''full name''' from <tt>ws_restore -l</tt> (with username and timestamp), not the short name.
'''Important:''' Use the '''full name''' from <tt>ws_restore -l</tt> (with username and timestamp), not the short name.
Released workspaces (via <tt>ws_release</tt>) are '''not''' recoverable this way they are deleted at the next nightly expirer run.
Released workspaces (via <tt>ws_release</tt>) can also be restored, but only until the next nightly expirer run — after that they are permanently deleted.


== Share Workspaces ==
== Sharing Workspaces ==


=== Group workspace (recommended) ===
=== Group workspace (recommended) ===
Line 124: Line 126:


Anyone in the group can use <tt>ws_list -g</tt> to see the workspace and extend it with <tt>ws_allocate -x -u owner myWs 100</tt>.
Anyone in the group can use <tt>ws_list -g</tt> to see the workspace and extend it with <tt>ws_allocate -x -u owner myWs 100</tt>.
Using <tt>-G</tt> also enables smooth handover when team members leave — see [[NEMO2/Workspaces/Advanced_Features#Workspace_Handover|Workspace Handover]].


'''Set default group in <tt>~/.ws_user.conf</tt>:'''
'''Set default group in <tt>~/.ws_user.conf</tt>:'''

Latest revision as of 17:37, 12 May 2026

Note: This is the updated Workspaces guide for NEMO2. For other clusters please use: Workspace.

Workspace tools provide temporary storage on NEMO's fast parallel filesystem (Weka). They are meant for data that needs to persist longer than a single job, but not permanently.

For advanced features — user config (~/.ws_user.conf), reminders, quotas, workspace handover, and more — see Advanced Features.

What are Workspaces?

Use workspaces for:

  • Jobs generating intermediate data
  • Data shared between multiple compute nodes
  • Multi-step workflows

Don't use workspaces for:

  • Permanent storage (use HOME or project directories)
  • Single-node temporary files (use $TMPDIR instead)

Important - Read First

  • No Backup: Data is not backed up and will be automatically deleted after expiration
  • Time-limited: Maximum lifetime is 100 days, up to 100 extensions
  • Email Reminders: You receive email notifications before expiration
  • Backup Important Data: Copy results to permanent storage before expiration

Command Overview

  • ws_allocate - Create or extend workspace
  • ws_list - List your workspaces
  • ws_find - Find workspace path (for scripts)
  • ws_extend - Extend workspace lifetime
  • ws_release - Release (delete) workspace
  • ws_restore - Restore expired/released workspace
  • ws_register - Create symbolic links

All commands support -h for help.

Quick Start

Task Command
Create workspace (100 days) ws_allocate myWs 100
Create group workspace ws_allocate -G groupname myWs 100
List all workspaces ws_list
See what expires soon ws_list -Rr
Find path (for scripts) ws_find myWs
Extend by 100 days ws_extend myWs 100
Delete workspace (permanent, next nightly run) ws_release myWs
Restore expired workspace (30d grace) ws_restore -l then ws_restore oldname newname

Creating Workspaces

Create a workspace with a name and lifetime in days:

  $ ws_allocate myWs 100

Returns:

  /work/classic/$USER-myWs

Capture path in variable:

  $ WORKSPACE=$(ws_allocate myWs 100)
  $ cd "$WORKSPACE"

Important: Running the same command again is safe - returns the existing workspace path.

Listing Workspaces

  $ ws_list                                # List all workspaces
  $ ws_list -Rr                            # Sort by remaining time, soonest first
  $ ws_list -g                             # Show group workspaces

Extending Workspaces

  $ ws_extend myWs 100                      # Extend by 100 days from now

Alternative: ws_allocate -x myWs 100

Each extension consumes one of your available extensions (100 total).

Releasing Workspaces

  $ ws_release myWs

The workspace becomes inaccessible immediately and is permanently deleted at the next nightly expirer run. Do not rely on recovering a released workspace.

Restoring Workspaces

Recover workspaces that expired naturally (reached end of lifetime) within the 30-day grace period:

  $ ws_restore -l                          # (1) List restorable workspaces
  $ ws_allocate restored 100               # (2) Create target workspace
  $ ws_restore username-myWs-0 restored    # (3) Restore

Important: Use the full name from ws_restore -l (with username and timestamp), not the short name. Released workspaces (via ws_release) can also be restored, but only until the next nightly expirer run — after that they are permanently deleted.

Sharing Workspaces

Group workspace (recommended)

  $ ws_allocate -g myWs 100                # Group-readable (read-only for group)
  $ ws_allocate -G projectgroup myWs 100   # Group-writable (recommended for teams)

Anyone in the group can use ws_list -g to see the workspace and extend it with ws_allocate -x -u owner myWs 100. Using -G also enables smooth handover when team members leave — see Workspace Handover.

Set default group in ~/.ws_user.conf:

groupname: projectgroup

Share after creation

If you didn't use -g/-G at creation, share read-only with ws_share:

  $ ws_share share myWs alice bob          # Grant read access
  $ ws_share list myWs                     # Show who has access
  $ ws_share unshare myWs alice            # Remove access

Advanced sharing: Sharing guide for ACL-based per-user permissions.