Workspaces/Advanced Features: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary Tag: Reverted |
mNo edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
This document covers advanced features and detailed configuration options for the HPC workspace tools. For basic daily usage, see the main [[Workspaces]] guide. |
|||
<div style="border: 3px solid #ffc107; padding: 15px; background-color: #fff3cd; margin: 10px 0;"> |
|||
'''Note:''' This is a new Workspaces page. The old wiki can be found here: [[Workspace]]. |
|||
</div> |
|||
== Almost Complete Command Reference == |
|||
'''Workspace tools''' provide temporary scratch spaces called '''workspaces''' for your calculations on central file storage. They are meant to keep data for a limited time – but usually longer than the time of a single job run. |
|||
<div style="border: 3px solid #dc3545; padding: 15px; background-color: #f8d7da; margin: 10px 0;"> |
|||
'''Important - Read Before Using Workspaces:''' |
|||
* '''No Backup:''' Data in workspaces is '''not backed up''' and will be '''automatically deleted''' after expiration |
|||
* '''Time-limited:''' Every workspace has a limited lifetime (typically 30-100 days depending on cluster), see the [[Workspaces/Advanced_Features#Cluster-Specific_Workspace_Limits|Cluster-Specific Workspace Limits]]) |
|||
* '''Automatic Reminders:''' You will receive email notifications before expiration |
|||
* '''Backup Important Data:''' Copy important results to permanent storage before expiration (check your cluster/site policies for backup locations) |
|||
</div> |
|||
'''For detailed information''' about advanced features, configuration options, and less frequently used commands, see the '''[[Workspaces/Advanced Features]]''' guide. |
|||
== Command Overview == |
|||
The workspace tools consist of several commands: |
|||
* <tt>ws_allocate</tt> - Create or extend a workspace |
|||
* <tt>ws_list</tt> - List all your workspaces |
|||
* <tt>ws_find</tt> - Find the path to a workspace |
|||
* <tt>ws_extend</tt> - Extend the lifetime of a workspace |
|||
* <tt>ws_release</tt> - Release (delete) a workspace |
|||
* <tt>ws_restore</tt> - Restore an expired or released workspace |
|||
* <tt>ws_register</tt> - Create symbolic links to workspaces |
|||
All commands support <tt>-h</tt> or <tt>--help</tt> to show detailed usage information. |
|||
== Quick Start - Most Common Commands == |
|||
{| class="wikitable" |
{| class="wikitable" |
||
| Line 39: | Line 10: | ||
|Create workspace for 30 days |
|Create workspace for 30 days |
||
|<tt>ws_allocate myWs 30</tt> |
|<tt>ws_allocate myWs 30</tt> |
||
|- |
|||
|Create with custom email |
|||
|<tt>ws_allocate -m custom@example.com -r 3 myWs 30</tt> |
|||
|- |
|- |
||
|Create group-writable workspace |
|Create group-writable workspace |
||
|<tt>ws_allocate -G groupname myWs 30</tt> |
|<tt>ws_allocate -G groupname myWs 30</tt> |
||
|- |
|||
|Create on specific filesystem |
|||
|<tt>ws_allocate -F filesystem myWs 30</tt> |
|||
|- |
|- |
||
|List all your workspaces |
|List all your workspaces |
||
|<tt>ws_list</tt> |
|<tt>ws_list</tt> |
||
|- |
|- |
||
|List by remaining time |
|||
|Check which expire soon |
|||
|<tt>ws_list - |
|<tt>ws_list -R</tt> |
||
|- |
|- |
||
|List available filesystems |
|||
|Find workspace path (for scripts) |
|||
|<tt>ws_list -l</tt> or <tt>ws_find -l</tt> |
|||
|- |
|||
|Find workspace path |
|||
|<tt>ws_find myWs</tt> |
|<tt>ws_find myWs</tt> |
||
|- |
|- |
||
|Extend workspace by |
|Extend workspace by 40 days |
||
|<tt>ws_extend myWs |
|<tt>ws_extend myWs 40</tt> or <tt>ws_allocate -x myWs 40</tt> |
||
|- |
|- |
||
|Share with another user |
|||
|Delete/release workspace |
|||
|<tt> |
|<tt>ws_share share myWs username</tt> |
||
|- |
|- |
||
|List shared users |
|||
|Restore released workspace |
|||
|<tt>ws_share list myWs</tt> |
|||
|<tt>ws_restore -l</tt> then <tt>ws_restore oldname newname</tt> |
|||
|} |
|||
== Create Workspace == |
|||
To create a workspace you need to specify a '''name''' and '''lifetime''' in days: |
|||
'''Basic usage:''' |
|||
$ ws_allocate myWs 30 # Create workspace for 30 days |
|||
'''Common variations:''' |
|||
$ ws_allocate -G groupname myWs 30 # Create group-writable workspace (recommended for teams) |
|||
$ ws_allocate -g myWs 30 # Create group-readable workspace |
|||
$ ws_allocate -F ffuc myWs 30 # bwUniCluster 3.0: Use flash filesystem |
|||
This returns: |
|||
Workspace created. Duration is 720 hours. |
|||
Further extensions available: 3 |
|||
/work/workspace/scratch/username-myWs-0 |
|||
'''Important:''' Creating a workspace a second time with the same command is safe - it always returns the same path. |
|||
'''Capture the path in a variable:''' |
|||
$ WORKSPACE=$(ws_allocate myWs 30) |
|||
$ cd $WORKSPACE |
|||
'''For all options and advanced usage,''' see the [[Workspaces/Advanced_Features#ws_allocate_-_Create_and_Extend_Workspaces|Advanced Features guide]]. |
|||
== List Your Workspaces == |
|||
'''Basic usage:''' |
|||
$ ws_list # List all your workspaces |
|||
Shows: |
|||
* Workspace ID |
|||
* Workspace location |
|||
* Available extensions |
|||
* Creation date and remaining time |
|||
'''Common variations:''' |
|||
$ ws_list -Rr # Sort by remaining time (see what expires soon) |
|||
$ ws_list -s # Short format (only names, good for scripts) |
|||
$ ws_list -g # List group workspaces |
|||
'''Note:''' To list expired workspaces that can be restored, see [[#Restore_Workspace|Restore Workspace]]. |
|||
'''For all options,''' see the [[Workspaces/Advanced_Features#ws_list_-_List_Workspaces|Advanced Features guide]]. |
|||
== Extend Workspace Lifetime == |
|||
Extend a workspace before it expires: |
|||
'''Basic usage:''' |
|||
$ ws_extend myWs 30 # Extend by 30 days from now |
|||
'''Alternative commands:''' |
|||
$ ws_allocate -x myWs 30 # Same as ws_extend |
|||
'''Note:''' Each extension consumes one of your available extensions (see the [[Workspaces/Advanced_Features#Cluster-Specific_Workspace_Limits|Cluster-Specific Workspace Limits]]). |
|||
'''For all options,''' see the [[Workspaces/Advanced_Features#ws_extend_-_Extend_Workspace_Lifetime|Advanced Features guide]]. |
|||
== Release (Delete) Workspace == |
|||
When you no longer need a workspace: |
|||
'''Basic usage:''' |
|||
$ ws_release myWs # Release workspace (recoverable during grace period) |
|||
'''What happens:''' |
|||
* Workspace becomes inaccessible immediately |
|||
* Data is kept for a short grace period (usually until next cleanup run) and can be restored with <tt>ws_restore</tt> |
|||
* Released data may still count toward quota until final deletion |
|||
'''For all options,''' see the [[Workspaces/Advanced_Features#ws_release_-_Release_.28Delete.29_Workspace|Advanced Features guide]]. |
|||
== Restore Workspace == |
|||
{| class="wikitable" |
|||
|- |
|||
!style="width:40%" | Works on cluster |
|||
!style="width:10%" | bwUC 3.0 |
|||
!style="width:10%" | BinAC2 |
|||
!style="width:10%" | Helix |
|||
!style="width:10%" | JUSTUS 2 |
|||
!style="width:10%" | NEMO2 |
|||
|- |
|- |
||
|Send calendar reminder |
|||
|<tt>ws_restore</tt> |
|||
|<tt>ws_send_ical myWs user@example.com</tt> |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|} |
|||
If you released a workspace by accident or need to recover an expired one, you can restore it within a grace period: |
|||
'''Basic workflow:''' |
|||
$ ws_restore -l # (1) List restorable workspaces |
|||
$ ws_allocate restored 60 # (2) Create a new target workspace |
|||
$ ws_restore username-myWs-0 restored # (3) Restore the expired workspace |
|||
'''Note:''' Use the '''full name''' from <tt>ws_restore -l</tt> (including username and timestamp), not the short name from <tt>ws_list</tt>. |
|||
'''For detailed restore options,''' see the [[Workspaces/Advanced_Features#ws_restore_-_Restore_Expired_Workspace|Advanced Features guide]]. |
|||
== Work with Groups (Share Workspaces) == |
|||
{| class="wikitable" |
|||
|- |
|||
!style="width:40%" | Works on cluster |
|||
!style="width:10%" | bwUC 3.0 |
|||
!style="width:10%" | BinAC2 |
|||
!style="width:10%" | Helix |
|||
!style="width:10%" | JUSTUS 2 |
|||
!style="width:10%" | NEMO2 |
|||
|- |
|- |
||
|Release workspace |
|||
|<tt>-g</tt> option (group-readable) |
|||
|<tt>ws_release myWs</tt> |
|||
| style="text-align:center;" | |
|||
| style="text-align:center;" | |
|||
| style="text-align:center;" | |
|||
| style="text-align:center;" | |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|- |
|- |
||
|List restorable workspaces |
|||
|<tt>-G</tt> option (group-writable) |
|||
|<tt>ws_restore -l</tt> |
|||
| style="text-align:center;" | |
|||
|- |
|||
| style="text-align:center;" | |
|||
|Register workspace links |
|||
| style="text-align:center;" | |
|||
|<tt>ws_register ~/workspaces</tt> |
|||
| style="text-align:center;" | |
|||
|style="background-color:#90EE90; text-align:center;" | ✓ |
|||
|} |
|} |
||
== Detailed Topics == |
|||
Working with team members is simple using group workspaces: |
|||
=== Create Group Workspace === |
|||
'''Group-readable workspace''' (team can read): |
|||
$ ws_allocate -g myWs 30 |
|||
'''Group-writable workspace''' (team can read and write, recommended): |
|||
$ ws_allocate -G projectgroup myWs 30 |
|||
Replace <tt>projectgroup</tt> with your actual group name (e.g., <tt>bw11a000</tt>). |
|||
'''Tip:''' Set your default group in <tt>~/.ws_user.conf</tt> to avoid typing it every time: |
|||
<pre> |
|||
groupname: projectgroup |
|||
</pre> |
|||
=== Commands === |
|||
Then you only need: <tt>ws_allocate myWs 30</tt> |
|||
* '''[[Workspaces/Advanced_Features/ws_allocate|ws_allocate]]''' - Create and extend workspaces (detailed options) |
|||
=== List Group Workspaces === |
|||
* '''[[Workspaces/Advanced_Features/ws_list|ws_list]]''' - List workspaces (sorting, filtering) |
|||
* '''[[Workspaces/Advanced_Features/ws_find|ws_find]]''' - Find workspace paths for scripts |
|||
* '''[[Workspaces/Advanced_Features/ws_extend|ws_extend]]''' - Extend workspace lifetime |
|||
* '''[[Workspaces/Advanced_Features/ws_release|ws_release]]''' - Release (delete) workspaces with immediate deletion options |
|||
* '''[[Workspaces/Advanced_Features/ws_restore|ws_restore]]''' - Restore expired or released workspaces |
|||
* '''[[Workspaces/Advanced_Features/ws_register|ws_register]]''' - Create symbolic links to workspaces |
|||
=== Configuration & Features === |
|||
See all workspaces from your group: |
|||
* '''[[Workspaces/Advanced_Features/Filesystems|Multiple Filesystem Locations]]''' - Choosing the right filesystem for your workload |
|||
$ ws_list -g |
|||
* '''[[Workspaces/Advanced_Features/Reminders|Reminders & Configuration]]''' - Email reminders and ~/.ws_user.conf setup |
|||
* '''[[Workspaces/Advanced_Features/Sharing|Sharing Workspaces]]''' - Group workspaces, ws_share, ACLs, Unix permissions |
|||
* '''[[Workspaces/Advanced_Features/Quotas|Quotas & Limits]]''' - Cluster-specific limits and checking quotas |
|||
=== Best Practices === |
|||
This shows workspaces that were created with <tt>-g</tt> or <tt>-G</tt> by anyone in your group. |
|||
* '''[[Workspaces/Advanced_Features/Best_Practices|Best Practices]]''' - Recommendations for different use cases |
|||
=== Extend Group Workspace === |
|||
== Quick Navigation == |
|||
Anyone in the group can extend a group-writable workspace (<tt>-G</tt>): |
|||
=== By Task === |
|||
$ ws_extend myWs 30 # If you created it |
|||
$ ws_allocate -x -u username myWs 30 # If colleague created it |
|||
'''Creating and Managing:''' |
|||
Replace <tt>username</tt> with the workspace owner's username. This is useful when they're unavailable. |
|||
* Create workspace → [[Workspaces#Create_Workspace|Basic]] | [[Workspaces/Advanced_Features/ws_allocate|Advanced]] |
|||
* List workspaces → [[Workspaces#List_Your_Workspaces|Basic]] | [[Workspaces/Advanced_Features/ws_list|Advanced]] |
|||
* Extend lifetime → [[Workspaces#Extend_Workspace_Lifetime|Basic]] | [[Workspaces/Advanced_Features/ws_extend|Advanced]] |
|||
* Release workspace → [[Workspaces#Release_.28Delete.29_Workspace|Basic]] | [[Workspaces/Advanced_Features/ws_release|Advanced]] |
|||
* Restore workspace → [[Workspaces#Restore_Workspace|Basic]] | [[Workspaces/Advanced_Features/ws_restore|Advanced]] |
|||
'''Collaboration:''' |
|||
=== Manage Reminders for Group Workspace === |
|||
* Work with groups → [[Workspaces#Work_with_Groups_.28Share_Workspaces.29|Basic]] | [[Workspaces/Advanced_Features/Sharing#Group_Workspaces|Advanced]] |
|||
* Share with users → [[Workspaces/Advanced_Features/Sharing#Sharing_with_ws_share|ws_share]] | [[Workspaces/Advanced_Features/Sharing#ACLs:_Access_Control_Lists|ACLs]] | [[Workspaces/Advanced_Features/Sharing#Regular_Unix_Permissions|Unix Permissions]] |
|||
'''Configuration:''' |
|||
You can update reminder settings and take over responsibility for reminders on a colleague's workspace: |
|||
* Email reminders → [[Workspaces/Advanced_Features/Reminders|Reminders]] |
|||
* Default settings → [[Workspaces/Advanced_Features/Reminders#Configuration_File:_.7E.2F.ws_user.conf|~/.ws_user.conf]] |
|||
* Workspace links → [[Workspaces/Advanced_Features/ws_register|ws_register]] |
|||
'''Resources:''' |
|||
$ ws_allocate -r 7 -u username -x myWs 0 # Update reminder time and take over |
|||
* Filesystem selection → [[Workspaces/Advanced_Features/Filesystems|Filesystems]] |
|||
# another user's workspace reminders |
|||
* Check quotas → [[Workspaces/Advanced_Features/Quotas#Checking_Workspace_Quotas|Quota Commands]] |
|||
* Cluster limits → [[Workspaces/Advanced_Features/Quotas|Quotas & Limits]] |
|||
=== By Experience Level === |
|||
This changes the reminder timing to 7 days before expiration and redirects reminder emails to you instead of the original creator. Useful when you're taking over responsibility for a shared workspace. |
|||
'''Beginners:''' |
|||
=== Why Use Group Workspaces? === |
|||
* Start with the main [[Workspaces]] guide |
|||
* Review [[Workspaces/Advanced_Features/Best_Practices|Best Practices]] |
|||
'''Intermediate Users:''' |
|||
* Simple collaboration: Everyone can access the same data |
|||
* [[Workspaces/Advanced_Features/Filesystems|Choose optimal filesystem]] |
|||
* No permission problems: Files automatically get group permissions |
|||
* [[Workspaces#Work_with_Groups_.28Share_Workspaces.29|Set up group workspaces]] |
|||
* Independent extensions: Team members can extend without original creator |
|||
* [[Workspaces/Advanced_Features/ws_allocate#Using_Workspaces_in_Batch_Jobs|Use in batch jobs]] |
|||
* Easy to find: Use <tt>ws_list -g</tt> to see all team workspaces |
|||
* [[Workspaces/Advanced_Features/ws_restore#Helix-specific_-_Workspace_Snapshots|Snapshot recovery (Helix)]] |
|||
'''Advanced Users:''' |
|||
'''For advanced sharing options''' (sharing with specific users outside your group, ACL-based methods), see the [[Workspaces/Advanced_Features#Cooperative_Usage_.28Group_Workspaces_and_Sharing.29|Advanced Features guide]]. |
|||
* [[Workspaces/Advanced_Features/Sharing|Advanced sharing methods]] (ACLs) |
|||
* [[Workspaces/Advanced_Features/ws_release#Immediate_Deletion_.28Free_Quota_Instantly.29|Immediate deletion for quota management]] |
|||
* Set up [[Workspaces/Advanced_Features/Reminders#Configuration_File:_.7E.2F.ws_user.conf|~/.ws_user.conf]] |
|||
Latest revision as of 17:43, 2 December 2025
This document covers advanced features and detailed configuration options for the HPC workspace tools. For basic daily usage, see the main Workspaces guide.
Almost Complete Command Reference
| Task | Command |
|---|---|
| Create workspace for 30 days | ws_allocate myWs 30 |
| Create with custom email | ws_allocate -m custom@example.com -r 3 myWs 30 |
| Create group-writable workspace | ws_allocate -G groupname myWs 30 |
| Create on specific filesystem | ws_allocate -F filesystem myWs 30 |
| List all your workspaces | ws_list |
| List by remaining time | ws_list -R |
| List available filesystems | ws_list -l or ws_find -l |
| Find workspace path | ws_find myWs |
| Extend workspace by 40 days | ws_extend myWs 40 or ws_allocate -x myWs 40 |
| Share with another user | ws_share share myWs username |
| List shared users | ws_share list myWs |
| Send calendar reminder | ws_send_ical myWs user@example.com |
| Release workspace | ws_release myWs |
| List restorable workspaces | ws_restore -l |
| Register workspace links | ws_register ~/workspaces |
Detailed Topics
Commands
- ws_allocate - Create and extend workspaces (detailed options)
- ws_list - List workspaces (sorting, filtering)
- ws_find - Find workspace paths for scripts
- ws_extend - Extend workspace lifetime
- ws_release - Release (delete) workspaces with immediate deletion options
- ws_restore - Restore expired or released workspaces
- ws_register - Create symbolic links to workspaces
Configuration & Features
- Multiple Filesystem Locations - Choosing the right filesystem for your workload
- Reminders & Configuration - Email reminders and ~/.ws_user.conf setup
- Sharing Workspaces - Group workspaces, ws_share, ACLs, Unix permissions
- Quotas & Limits - Cluster-specific limits and checking quotas
Best Practices
- Best Practices - Recommendations for different use cases
By Task
Creating and Managing:
- Create workspace → Basic | Advanced
- List workspaces → Basic | Advanced
- Extend lifetime → Basic | Advanced
- Release workspace → Basic | Advanced
- Restore workspace → Basic | Advanced
Collaboration:
- Work with groups → Basic | Advanced
- Share with users → ws_share | ACLs | Unix Permissions
Configuration:
- Email reminders → Reminders
- Default settings → ~/.ws_user.conf
- Workspace links → ws_register
Resources:
- Filesystem selection → Filesystems
- Check quotas → Quota Commands
- Cluster limits → Quotas & Limits
By Experience Level
Beginners:
- Start with the main Workspaces guide
- Review Best Practices
Intermediate Users:
Advanced Users: