Workspaces: Difference between revisions
mNo edit summary |
|||
| Line 126: | Line 126: | ||
$ ws_allocate -x myWs 30 # Same result |
$ ws_allocate -x myWs 30 # Same result |
||
$ ws_allocate -x -u alice projectWs 30 # Extend Alice's workspace by 30 days |
|||
# For group workspaces created with <tt>-g</tt>/<tt>-G</tt> |
|||
'''Note:''' Each extension consumes one available extension. See [[Workspaces/Advanced_Features/Quotas#Cluster-Specific_Workspace_Limits|Cluster Limits]]. |
'''Note:''' Each extension consumes one available extension. See [[Workspaces/Advanced_Features/Quotas#Cluster-Specific_Workspace_Limits|Cluster Limits]]. |
||
Revision as of 17:04, 2 December 2025
Note: This is the updated Workspaces guide. The old wiki: Workspace.
Workspace tools provide temporary storage spaces called workspaces for your calculations. They are meant for data that needs to persist longer than a single job, but not permanently.
What are Workspaces?
Workspaces give you access to the cluster's fast parallel filesystems (like Lustre or Weka). You cannot write directly to these parallel filesystems - workspaces provide your designated area.
Use workspaces for:
- Jobs generating intermediate data
- Data shared between multiple compute nodes
- Multi-step workflows
- Temporary scratch space during calculations
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: Lifetime typically 30-100 days (cluster-specific). See Cluster Limits
- Automatic Reminders: Email notifications before expiration
- Backup Important Data: Copy results to permanent storage before expiration
For advanced features and detailed options: Workspaces/Advanced Features
Command Overview
Main commands:
- 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 (30 days) | ws_allocate myWs 30 |
| Create group workspace | ws_allocate -G groupname myWs 30 |
| List all workspaces | ws_list |
| See what expires soon | ws_list -Rr (-R=by time, -r=reverse) |
| Find path (for scripts) | ws_find myWs |
| Extend by 30 days | ws_extend myWs 30 |
| Delete workspace | ws_release myWs |
| Restore workspace | ws_restore -l then ws_restore oldname newname |
Create Workspace
Create a workspace with a name and lifetime in days:
$ ws_allocate myWs 30 # Create for 30 days
Returns:
Workspace created. Duration is 720 hours. Further extensions available: 3 /work/workspace/scratch/username-myWs-0
Common options:
$ ws_allocate -G groupname myWs 30 # Group-writable (for teams) $ ws_allocate -g myWs 30 # Group-readable $ ws_allocate -F ffuc myWs 30 # bwUniCluster 3.0: Flash filesystem
Capture path in variable:
$ WORKSPACE=$(ws_allocate myWs 30) $ cd "$WORKSPACE"
Important: Running the same command again is safe - returns the existing workspace path.
Details: Advanced Features guide
List Your Workspaces
$ ws_list # List all workspaces
Shows workspace ID, location, extensions, creation date, and remaining time.
Common options:
$ ws_list -Rr # Sort by remaining time, reverse (last to expire first) $ ws_list -s # Short format (names only, for scripts) $ ws_list -g # Show group workspaces
Note: To list expired workspaces for restore, use ws_restore -l. See Restore.
Details: Advanced Features guide
Extend Workspace Lifetime
Extend before workspace expires:
$ ws_extend myWs 30 # Extend by 30 days from now
Alternative:
$ ws_allocate -x myWs 30 # Same result
$ ws_allocate -x -u alice projectWs 30 # Extend Alice's workspace by 30 days
# For group workspaces created with -g/-G
Note: Each extension consumes one available extension. See Cluster Limits.
Details: Advanced Features guide
Release (Delete) Workspace
When no longer needed:
$ ws_release myWs # Release workspace
What happens:
- Workspace becomes inaccessible immediately
- Data kept for short grace period (typically until next cleanup)
- Can be restored with ws_restore during grace period
- May still count toward quota until final deletion
Details: Advanced Features guide
Restore Workspace
| Works on cluster | bwUC 3.0 | BinAC2 | Helix | JUSTUS 2 | NEMO2 |
|---|---|---|---|---|---|
| ws_restore | ✓ | ✓ | ✓ | ✓ | ✓ |
Recover expired or released workspaces within grace period:
Restore procedure:
$ ws_restore -l # (1) List restorable workspaces $ ws_allocate restored 60 # (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.
Details: Advanced Features guide
| Works on cluster | bwUC 3.0 | BinAC2 | Helix | JUSTUS 2 | NEMO2 |
|---|---|---|---|---|---|
| -g (group-readable) | ✓ | ||||
| -G (group-writable) | ✓ |
Simple team collaboration with group workspaces:
Create Group Workspace
Group-readable (read-only):
$ ws_allocate -g myWs 30
Group-writable (recommended):
$ ws_allocate -G projectgroup myWs 30 # Replace 'projectgroup' with your group
Tip: Set default in ~/.ws_user.conf:
groupname: projectgroup
Then simply: ws_allocate myWs 30
List Group Workspaces
$ ws_list -g # Show all group workspaces
Extend Group Workspace
Anyone in the group can extend group-writable workspaces (-G):
$ ws_extend myWs 30 # If you created it $ ws_allocate -x -u alice myWs 30 # If colleague created it
Manage Reminders
Take over reminder responsibility:
$ ws_allocate -r 7 -u alice -x myWs 0 # Update timing and take over reminders
Changes reminder to 7 days before expiration and redirects emails to you.
Why Use Group Workspaces?
- Simple collaboration - everyone accesses same data
- No permission problems - automatic group permissions
- Independent extensions - team can extend without creator
- Easy discovery - ws_list -g shows all team workspaces
Advanced sharing: Sharing guide for ACLs and ws_share