Helix/Filesystems: Difference between revisions
S Richling (talk | contribs) (Created page with "== Overview == == $HOME == == Workspaces == == $TMPDIR == == Access to SDS@hd ==") |
H Winkhardt (talk | contribs) m (Formatierung) |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Overview == |
== Overview == |
||
The cluster storage system provides a large parallel file system based on [https://www.ibm.com/support/knowledgecenter/STXKQY/ibmspectrumscale_welcome.html IBM Spectrum Scale] |
|||
for $HOME, for workspaces, and for temporary storage via the $TMPDIR environment variable. |
|||
{| class="wikitable" |
|||
|- |
|||
!style="width:16%" | |
|||
!style="width:28%"| $HOME |
|||
!style="width:28%"| Workspaces |
|||
!style="width:28%"| $TMPDIR |
|||
|- |
|||
!scope="column" | Visibility |
|||
| global |
|||
| global |
|||
| local |
|||
|- |
|||
!scope="column" | Lifetime |
|||
| permanent |
|||
| workspace lifetime |
|||
| batch job walltime |
|||
|- |
|||
!scope="column" | Quotas |
|||
| 200 GB |
|||
| 10 TB |
|||
| none |
|||
|- |
|||
!scope="column" | Backup |
|||
| no |
|||
| no |
|||
| no |
|||
|} |
|||
* global: all nodes access the same file system. |
|||
* local: each node has its own temporary file space. |
|||
* permanent: files are stored permanently. |
|||
* workspace lifetime: files are removed at end of workspace lifetime. |
|||
* batch job walltime: files are removed at end of the batch job. |
|||
== $HOME == |
== $HOME == |
||
Home directories are meant for permanent storage of files that are kept being used like source codes, configuration files, executable programs. There is currently no backup for the home directory. The disk space per user is limited to 200 GB. The used disk space is displayed with the command: |
|||
<pre> |
|||
homequotainfo |
|||
</pre> |
|||
== Workspaces == |
== Workspaces == |
||
Workspace tools can be used to get temporary space for larger amounts of data necessary for or produced by running jobs. To create a workspace you need to supply a name for the workspace and a lifetime in days. The maximum lifetime is 30 days. It is possible to extend the lifetime 10 times. |
|||
{| class="wikitable" |
|||
|- |
|||
!style="width:30%" | Command |
|||
!style="width:70%"| Action |
|||
|- |
|||
|ws_allocate -r 7 -m <email> foo 10 |
|||
|Allocate a workspace named foo for 10 days and set a email reminder 7 days before expiring. |
|||
'''Important:''' You should add your email address and a relative date for notification! |
|||
|- |
|||
|ws_list -a |
|||
|List all your workspaces. |
|||
|- |
|||
|ws_find foo |
|||
|Get absolute path of workspace foo. |
|||
|- |
|||
|ws_extend foo 5 |
|||
|Extend lifetime of workspace foo by 5 days from now. |
|||
|- |
|||
|ws_release foo |
|||
|Manually erase your workspace foo. |
|||
|- |
|||
|ws_send_ical -m <email> foo |
|||
|sending a .ical calendar entry for reminding workspace expiring |
|||
|- |
|||
|ws_share share/unshare/unshare-all <workspacename> <username> [username2] |
|||
|ws_share allows to share an existing workspace with other users. |
|||
|- |
|||
|} |
|||
If you plan to produce or copy large amounts of data in workspaces, please check the availability. The used and free disk space on the workspace filesystem is displayed with the command: |
|||
<pre> |
|||
workquotainfo |
|||
</pre> |
|||
==== Restoring expired Workspaces ==== |
|||
At expiration time your workspace will be moved to a special, hidden directory. For a short period of time you can still restore your data into a valid workspace. For that, use |
|||
<pre> |
|||
ws_restore -l |
|||
</pre> |
|||
to get a list of your expired workspaces, and then restore them into an '''existing, active workspace''' <code>restored_ws</code>: |
|||
<pre> |
|||
ws_restore <deleted_workspacename> restored_ws |
|||
</pre> |
|||
NOTE: the expired workspace has to be specified using the full name as listed by <code>ws_restore -l</code>, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified). |
|||
The target workspace, on the other hand, must be given with just its short name as listed by <code>ws_list</code>, without the username prefix. |
|||
NOTE: <code>ws_restore</code> can only work on the same filesystem! So you have to ensure that the new workspace allocated with <code>ws_allocate</code> is placed on the same filesystem as the expired workspace. Therefor you can use <code>-F <filesystem></code> flag if needed. |
|||
==== Linking workspaces in Home ==== |
|||
It might be valuable to have links to personal workspaces within a certain directory, e.g., the user home directory. The command |
|||
<pre> |
|||
ws_register <DIR> |
|||
</pre> |
|||
will create and manage links to all personal workspaces within in the directory <DIR>. Calling this command will do the following: |
|||
* The directory <DIR> will be created if necessary |
|||
* Links to all personal workspaces will be managed: |
|||
** Creates links to all available workspaces if not already present |
|||
** Removes links to released workspaces |
|||
==== Sharing Workspaces ==== |
|||
To simplify sharing of workspaces you can use the command |
|||
<pre> |
|||
ws_share |
|||
</pre> |
|||
This tool setup the needed ACLs on the workspace to allow read-only access to the specified users. |
|||
If you need more specific permissions, you can also setup the ACLs on your own, like described here: |
|||
https://wiki.bwhpc.de/e/Workspace#Sharing_Workspace_Data_within_your_Workgroup |
|||
==== Troubleshooting ==== |
|||
If you are getting the error: |
|||
<pre> |
|||
Error: could not create workspace directory! |
|||
</pre> |
|||
you should check the localesetting of your ssh client. Some clients (e.g. the one from MacOSX) set values that are not valid. You should overwrite LC_CTYPE and set it to a valid locale value like: |
|||
<pre> |
|||
export LC_CTYPE=de_DE.UTF-8 |
|||
</pre> |
|||
To make this change persistent you can add this line also to your <code>.bashrc</code> file. |
|||
A list of valid locales can be retrieved via |
|||
<pre> |
|||
locale -a |
|||
</pre> |
|||
If you are getting the error: |
|||
<pre> |
|||
Error: only root can do this <workspacename> |
|||
</pre> |
|||
ensure that you are using the FULL workspacename, including your account_prefix, e.g. "hd_ab123-workspacename" |
|||
== $TMPDIR == |
== $TMPDIR == |
||
The variable $TMPDIR provides file space for temporary data of running jobs. |
|||
Each node has its own $TMPDIR. <!-- It is possible to request a global $TMPDIR for a job. --> |
|||
The data in $TMPDIR become unavailable as soon as the job has finished. |
|||
== Access to SDS@hd == |
== Access to SDS@hd == |
||
It is possible to access your storage space on [http://sds-hd.urz.uni-heidelberg.de SDS@hd] directly on the bwForCluster Helix in /mnt/sds-hd/ on all login and compute nodes. |
Latest revision as of 14:01, 10 September 2024
Overview
The cluster storage system provides a large parallel file system based on IBM Spectrum Scale for $HOME, for workspaces, and for temporary storage via the $TMPDIR environment variable.
$HOME | Workspaces | $TMPDIR | |
---|---|---|---|
Visibility | global | global | local |
Lifetime | permanent | workspace lifetime | batch job walltime |
Quotas | 200 GB | 10 TB | none |
Backup | no | no | no |
- global: all nodes access the same file system.
- local: each node has its own temporary file space.
- permanent: files are stored permanently.
- workspace lifetime: files are removed at end of workspace lifetime.
- batch job walltime: files are removed at end of the batch job.
$HOME
Home directories are meant for permanent storage of files that are kept being used like source codes, configuration files, executable programs. There is currently no backup for the home directory. The disk space per user is limited to 200 GB. The used disk space is displayed with the command:
homequotainfo
Workspaces
Workspace tools can be used to get temporary space for larger amounts of data necessary for or produced by running jobs. To create a workspace you need to supply a name for the workspace and a lifetime in days. The maximum lifetime is 30 days. It is possible to extend the lifetime 10 times.
Command | Action |
---|---|
ws_allocate -r 7 -m <email> foo 10 | Allocate a workspace named foo for 10 days and set a email reminder 7 days before expiring.
Important: You should add your email address and a relative date for notification! |
ws_list -a | List all your workspaces. |
ws_find foo | Get absolute path of workspace foo. |
ws_extend foo 5 | Extend lifetime of workspace foo by 5 days from now. |
ws_release foo | Manually erase your workspace foo. |
ws_send_ical -m <email> foo | sending a .ical calendar entry for reminding workspace expiring |
ws_share share/unshare/unshare-all <workspacename> <username> [username2] | ws_share allows to share an existing workspace with other users. |
If you plan to produce or copy large amounts of data in workspaces, please check the availability. The used and free disk space on the workspace filesystem is displayed with the command:
workquotainfo
Restoring expired Workspaces
At expiration time your workspace will be moved to a special, hidden directory. For a short period of time you can still restore your data into a valid workspace. For that, use
ws_restore -l
to get a list of your expired workspaces, and then restore them into an existing, active workspace restored_ws
:
ws_restore <deleted_workspacename> restored_ws
NOTE: the expired workspace has to be specified using the full name as listed by ws_restore -l
, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).
The target workspace, on the other hand, must be given with just its short name as listed by ws_list
, without the username prefix.
NOTE: ws_restore
can only work on the same filesystem! So you have to ensure that the new workspace allocated with ws_allocate
is placed on the same filesystem as the expired workspace. Therefor you can use -F <filesystem>
flag if needed.
Linking workspaces in Home
It might be valuable to have links to personal workspaces within a certain directory, e.g., the user home directory. The command
ws_register <DIR>
will create and manage links to all personal workspaces within in the directory <DIR>. Calling this command will do the following:
- The directory <DIR> will be created if necessary
- Links to all personal workspaces will be managed:
- Creates links to all available workspaces if not already present
- Removes links to released workspaces
Sharing Workspaces
To simplify sharing of workspaces you can use the command
ws_share
This tool setup the needed ACLs on the workspace to allow read-only access to the specified users.
If you need more specific permissions, you can also setup the ACLs on your own, like described here: https://wiki.bwhpc.de/e/Workspace#Sharing_Workspace_Data_within_your_Workgroup
Troubleshooting
If you are getting the error:
Error: could not create workspace directory!
you should check the localesetting of your ssh client. Some clients (e.g. the one from MacOSX) set values that are not valid. You should overwrite LC_CTYPE and set it to a valid locale value like:
export LC_CTYPE=de_DE.UTF-8
To make this change persistent you can add this line also to your .bashrc
file.
A list of valid locales can be retrieved via
locale -a
If you are getting the error:
Error: only root can do this <workspacename>
ensure that you are using the FULL workspacename, including your account_prefix, e.g. "hd_ab123-workspacename"
$TMPDIR
The variable $TMPDIR provides file space for temporary data of running jobs. Each node has its own $TMPDIR. The data in $TMPDIR become unavailable as soon as the job has finished.
Access to SDS@hd
It is possible to access your storage space on SDS@hd directly on the bwForCluster Helix in /mnt/sds-hd/ on all login and compute nodes.