<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bwhpc.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=H+Schumacher</id>
	<title>bwHPC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bwhpc.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=H+Schumacher"/>
	<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/e/Special:Contributions/H_Schumacher"/>
	<updated>2026-04-06T19:04:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu&amp;diff=15916</id>
		<title>Helix/bwVisu</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu&amp;diff=15916"/>
		<updated>2026-04-01T22:35:23Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added link to QuPath page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:BwVisu wide.svg|300px]]&lt;br /&gt;
&lt;br /&gt;
[https://bwvisu.bwservices.uni-heidelberg.de/ bwVisu] is a scalable service for remote visualization and interactive applications. This easy-to-use, web-based platform provides interactive access to scientific work environments utilizing massive compute and storage resources.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#FEF4AB; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFE856; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | News&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* December 2024: The [https://bwvisu.bwservices.uni-heidelberg.de/ new bwVisu version] based on Open OnDemand is now in operation. You can write feedback to [mailto:bwvisu-support@urz.uni-heidelberg.de bwvisu-support].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Training &amp;amp; Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [https://www.urz.uni-heidelberg.de/en/service-catalogue/software-and-applications/bwvisu Service Description &amp;amp;amp; FAQ]&lt;br /&gt;
* [mailto:bwvisu-support@urz.uni-heidelberg.de Submit a Ticket]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left;&amp;quot; | User Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [https://bwvisu.bwservices.uni-heidelberg.de/ &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt; Link to Webservice&amp;lt;/span&amp;gt;]&lt;br /&gt;
* [[Helix/bwVisu/Getting_Started|Getting Started]]&lt;br /&gt;
* [[Helix/bwVisu/Usage|Usage]]&lt;br /&gt;
* Available applications and user guides:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; margin-left: 30px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Application&lt;br /&gt;
! [[Helix/bwVisu/Usage#noVNC_Applications|noVNC App]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Helix/bwVisu/CryoSPARC|CryoSPARC]]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://imagej.net/software/fiji/ Fiji]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.ilastik.org/ Ilastik]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://bio3d.colorado.edu/imod/ IMOD]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://docs.mitk.org/2024.12/UserManualPortal.html MITK]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://phy.readthedocs.io/en/latest/ Phy]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [https://qgis.org/ QGIS]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Helix/bwVisu/QuPath|QuPath]]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Helix/bwVisu/JupyterLab|JupyterLab]]&lt;br /&gt;
| ☓&lt;br /&gt;
|-&lt;br /&gt;
| [[Helix/bwVisu/RStudio|RStudio]]&lt;br /&gt;
| ☓&lt;br /&gt;
|-&lt;br /&gt;
| [[Helix/bwVisu/KI-Morph|KI-Morph]]&lt;br /&gt;
| ☓&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#e6e9eb; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#d1dadf; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Acknowledgement&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Please [[Helix/bwVisu/Acknowledgement|acknowledge]] bwVisu in your publications&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/Filesystems&amp;diff=15910</id>
		<title>Helix/Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/Filesystems&amp;diff=15910"/>
		<updated>2026-03-30T15:29:40Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Moved &amp;quot;free up space&amp;quot; section into its own chapter. Added &amp;quot;list&amp;quot; option to ws_share.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
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] &lt;br /&gt;
for $HOME, for workspaces, and for temporary storage via the $TMPDIR environment variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:16%&amp;quot; |&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| $HOME&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| Workspaces&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| $TMPDIR&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Visibility&lt;br /&gt;
| global&lt;br /&gt;
| global&lt;br /&gt;
| local&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Lifetime&lt;br /&gt;
| permanent&lt;br /&gt;
| workspace lifetime&lt;br /&gt;
| batch job walltime&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Quotas&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| none&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Backup&lt;br /&gt;
| snapshots&lt;br /&gt;
| snapshots&lt;br /&gt;
| no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* global: all nodes access the same file system.&lt;br /&gt;
* local: each node has its own temporary file space.&lt;br /&gt;
* permanent: files are stored permanently.&lt;br /&gt;
* workspace lifetime: files are removed at end of workspace lifetime.&lt;br /&gt;
* batch job walltime: files are removed at end of the batch job.&lt;br /&gt;
* snapshots: a copy of all files is saved at specific timepoints so that they can be restored when necessary. For details see the related sections.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
Home directories are meant for permanent storage of files that are kept being used like source codes, configuration files, executable programs. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disk Space&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disk space per user is limited to 200 GB. The used disk space is displayed with the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
homequotainfo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Backup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The backup of the home directory can be found under &amp;lt;code&amp;gt;/home/.snapshots&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
Workspace tools can be used to get temporary space for larger amounts of data necessary for or produced by running jobs. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:30%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:70%&amp;quot;| Action&lt;br /&gt;
|-&lt;br /&gt;
|ws_allocate -r 7 -m &amp;lt;email&amp;gt; foo 10 &lt;br /&gt;
|Allocate a workspace named foo for 10 days and set a email reminder 7 days before expiring. &lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You should add your email address and a relative date for notification!&lt;br /&gt;
|-&lt;br /&gt;
|ws_list -a&lt;br /&gt;
|List all your workspaces.&lt;br /&gt;
|-&lt;br /&gt;
|ws_find foo&lt;br /&gt;
|Get absolute path of workspace foo.&lt;br /&gt;
|-&lt;br /&gt;
|ws_extend foo 5&lt;br /&gt;
|Extend lifetime of workspace foo by 5 days from now.&lt;br /&gt;
|-&lt;br /&gt;
|ws_release foo&lt;br /&gt;
|Manually erase your workspace foo.&lt;br /&gt;
|-&lt;br /&gt;
|ws_send_ical -m &amp;lt;email&amp;gt; foo&lt;br /&gt;
|Sending a .ical calendar entry for reminding workspace expiring &lt;br /&gt;
|-&lt;br /&gt;
|ws_share &amp;lt;share / unshare / unshare-all / list&amp;gt; &amp;lt;workspacename&amp;gt; &amp;lt;username&amp;gt; [username2]&lt;br /&gt;
|ws_share allows to share an existing workspace with other users. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disk Space&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
workquotainfo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring expired Workspaces ===&lt;br /&gt;
At expiration time or after you&#039;ve released it, 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. To get a list of your expired workspaces with their &amp;lt;u&amp;gt;full names&amp;lt;/u&amp;gt;, use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_restore -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then, restore them into an &#039;&#039;&#039;existing, active workspace&#039;&#039;&#039; &amp;lt;code&amp;gt;restored_ws&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_restore &amp;lt;deleted_workspacename&amp;gt; restored_ws&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The expired workspace has to be specified using the &#039;&#039;&#039;full name&#039;&#039;&#039;, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).&lt;br /&gt;
The target workspace, on the other hand, must be given with just its short name as listed by &amp;lt;code&amp;gt;ws_list&amp;lt;/code&amp;gt;, without the username prefix.&lt;br /&gt;
&lt;br /&gt;
NOTE: &amp;lt;code&amp;gt;ws_restore&amp;lt;/code&amp;gt; can only work on the same filesystem. So you have to ensure that the new workspace allocated with &amp;lt;code&amp;gt;ws_allocate&amp;lt;/code&amp;gt; is placed on the same filesystem as the expired workspace. Therefore you can use &amp;lt;code&amp;gt;-F &amp;lt;filesystem&amp;gt;&amp;lt;/code&amp;gt; flag if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Snapshots&amp;lt;/u&amp;gt;: If the workspace can&#039;t be restored anymore, you can check the snapshots under &amp;lt;code&amp;gt;/work/.snapshots/&amp;lt;timepoint&amp;gt;/ws/&amp;lt;/code&amp;gt;. Changes that happened since the last snapshot was created are lost. Caution: We try to keep the latest snapshots but we can&#039;t guarantee that snapshots will be available at all times.&lt;br /&gt;
&lt;br /&gt;
=== Linking workspaces in Home ===&lt;br /&gt;
It might be valuable to have links to personal workspaces within a certain directory, e.g., the user home directory. The command &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_register &amp;lt;DIR&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will create and manage links to all personal workspaces within in the directory &amp;lt;DIR&amp;gt;. Calling this command will do the following:&lt;br /&gt;
&lt;br /&gt;
* The directory &amp;lt;DIR&amp;gt; will be created if necessary&lt;br /&gt;
* Links to all personal workspaces will be managed:&lt;br /&gt;
** Creates links to all available workspaces if not already present&lt;br /&gt;
** Removes links to released workspaces&lt;br /&gt;
&lt;br /&gt;
=== Sharing Workspaces ===&lt;br /&gt;
To simplify sharing of workspaces you can use the command &amp;lt;code&amp;gt;ws_share&amp;lt;/code&amp;gt; as described in the table above.&lt;br /&gt;
The command sets up the workspace to allow read-only access to the specified users.&lt;br /&gt;
If you need more specific permissions, you can follow the guidelines here: &amp;amp;rarr;&lt;br /&gt;
[[Workspace#Setting_Permissions_for_Sharing_Files | Setting_Permissions_for_Sharing_Files]]&lt;br /&gt;
&lt;br /&gt;
== $TMPDIR ==&lt;br /&gt;
&lt;br /&gt;
The variable &amp;lt;tt&amp;gt;$TMPDIR&amp;lt;/tt&amp;gt; provides file space for temporary data of running jobs.&lt;br /&gt;
Each node has its own &amp;lt;tt&amp;gt;$TMPDIR&amp;lt;/tt&amp;gt;. &amp;lt;!-- It is possible to request a global &amp;lt;tt&amp;gt;$TMPDIR&amp;lt;/tt&amp;gt; for a job. --&amp;gt;&lt;br /&gt;
The data in $TMPDIR become unavailable as soon as the job has finished.&lt;br /&gt;
&lt;br /&gt;
== SDS@hd Access ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Free up Space ==&lt;br /&gt;
&lt;br /&gt;
If you need to free up space, you can...&lt;br /&gt;
* ...check the file sizes with &amp;lt;code&amp;gt;du -sh --apparent-size * .[^.]*&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...delete temporary files, for example in the &amp;lt;code&amp;gt;.cache&amp;lt;/code&amp;gt; folder. Other folders starting with a dot might contain temporary files as well, for example &amp;lt;code&amp;gt;.local/share/Trash&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...use the cleaning commands by your used software (e.g. [https://wiki.bwhpc.de/e/Development/Conda#Create_Environments_and_Install_Software conda]). &lt;br /&gt;
* ...delete folders with temporary data created by your used software (e.g. nextflow).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;Error: &amp;quot;Disk space exceeded&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*: This means that there is not enough space (e.g. in your $HOME) to execute the operation. Please [[Helix/Filesystems#Free_up_Space | free up space]].&lt;br /&gt;
*&#039;&#039;&#039;Error: &amp;quot;could not create workspace directory&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*: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: &amp;lt;code&amp;gt;export LC_CTYPE=de_DE.UTF-8&amp;lt;/code&amp;gt;&lt;br /&gt;
*:To make this change persistent you can add this line also to your &amp;lt;code&amp;gt;.bashrc&amp;lt;/code&amp;gt; file.&lt;br /&gt;
*:A list of valid locales can be retrieved via &amp;lt;code&amp;gt;locale -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Workspace lifetime is expired&#039;&#039;&#039;&lt;br /&gt;
*:Please see chapter [[Helix/Filesystems#Restoring_expired_Workspaces|&amp;quot;Restoring_expired_Workspaces&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How can I restore lost data&#039;&#039;&#039;&lt;br /&gt;
*:Please have a look at the backup information of the respective file system.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15909</id>
		<title>Workspace</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15909"/>
		<updated>2026-03-30T15:19:59Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Changed formatting, added some information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Workspace tools&#039;&#039;&#039; provide temporary scratch space so called &#039;&#039;&#039;workspaces&#039;&#039;&#039; for your calculation on a central file storage. They are meant to keep data for a limited time. This can be a couple of days or several months. &lt;br /&gt;
&lt;br /&gt;
== No Backup ==&lt;br /&gt;
&lt;br /&gt;
Workspaces are not meant for permanent storage, hence data in workspaces is usually not backed up and may be lost in case of problems on the storage system. Please copy/move important results to $HOME or a storage space outside the cluster.&lt;br /&gt;
&lt;br /&gt;
== Create workspace ==&lt;br /&gt;
To create a workspace you need to state the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; of your workspace and the &amp;lt;code&amp;gt;lifetime&amp;lt;/code&amp;gt; in days: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_allocate &amp;lt;name&amp;gt; &amp;lt;lifetime&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The maximum value for &#039;&#039;lifetime&#039;&#039; and a maximum number of renewals is specific to each cluster.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; The command &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_allocate mySpace 30&amp;lt;/syntaxhighlight&amp;gt; returns:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Workspace created. Duration is 720 hours. &lt;br /&gt;
Further extensions available: 3&lt;br /&gt;
/work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information read the program&#039;s help, i.e. &#039;&#039;ws_allocate -h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== List all your workspaces ==&lt;br /&gt;
&lt;br /&gt;
To list all your workspaces, execute:&lt;br /&gt;
&lt;br /&gt;
 ws_list&lt;br /&gt;
&lt;br /&gt;
which will return:&lt;br /&gt;
* Workspace ID&lt;br /&gt;
* Workspace location&lt;br /&gt;
* available extensions&lt;br /&gt;
* creation date and remaining time&lt;br /&gt;
&lt;br /&gt;
To adjust the output, you can check the help: &amp;lt;code&amp;gt;ws_list -h&amp;lt;/code&amp;gt;. The option &amp;lt;code&amp;gt;-R&amp;lt;/code&amp;gt; for example sorts the workspaces by remaining time. &lt;br /&gt;
&lt;br /&gt;
To list expired workspaces, see [[Workspace#Restore_an_Expired_Workspace|Restore an Expired Workspace]].&lt;br /&gt;
&lt;br /&gt;
== Find workspace location ==&lt;br /&gt;
&lt;br /&gt;
The workspace location/path can be prompted for any workspace &#039;&#039;ID&#039;&#039; using &#039;&#039;&#039;ws_find&#039;&#039;&#039;, in case of workspace &#039;&#039;mySpace&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 ws_find mySpace&lt;br /&gt;
&lt;br /&gt;
returns the one-liner:&lt;br /&gt;
&lt;br /&gt;
 /work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&lt;br /&gt;
You can combine the command with the &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; command to diretly move there: &lt;br /&gt;
&lt;br /&gt;
 cd $(ws_find mySpace)&lt;br /&gt;
&lt;br /&gt;
== Extend lifetime of your workspace ==&lt;br /&gt;
&lt;br /&gt;
Any workspace&#039;s lifetime can only be extended a cluster-specific number of times. There are several commands to extend workspace lifetime&lt;br /&gt;
#&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_extend mySpace 40&lt;br /&gt;
# or &lt;br /&gt;
ws_allocate -x mySpace 40&amp;lt;/syntaxhighlight&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by &#039;&#039;40&#039;&#039; days from now.&lt;br /&gt;
#&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_extend mySpace&amp;lt;/syntaxhighlight&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by the number of days used previously.&lt;br /&gt;
&lt;br /&gt;
== Setting Permissions for Sharing Files ==&lt;br /&gt;
The examples will assume you want to change the directory $DIR. If you want to share a workspace, DIR could be set with &amp;lt;code&amp;gt;DIR=$(ws_find my_workspace)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Workspace Tools ===&lt;br /&gt;
&lt;br /&gt;
* ws_share allows to share an existing workspace with other users by providing read access: &lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;# Share/unshare workspace&lt;br /&gt;
ws_share &amp;lt;share / unshare&amp;gt; &amp;lt;workspacename&amp;gt; &amp;lt;username&amp;gt; [username2]&lt;br /&gt;
# Remove read access from all users that the workspace was shared with&lt;br /&gt;
ws_share unshare-all &amp;lt;workspacename&amp;gt; &lt;br /&gt;
# List all users that were granted read access&lt;br /&gt;
ws_share list &amp;lt;workspacename&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
* Grant read and write access to a group (RV, SV, ...) when creating a new workspace. (Only works with newer versions of the workspace tools.)&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_allocate -G &amp;lt;groupname&amp;gt; &amp;lt;workspacename&amp;gt; &amp;lt;duration&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
*: e.g. for the group bw16e001 and for the workspace commonfiles for 30 days:&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ws_allocate -G bw16e001 commonfiles 30&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
*: Essentially, this tool sets regular unix rwx permissions for the group plus the &amp;quot;suid&amp;quot; bit on the directory to make the permission inheritable.&lt;br /&gt;
&lt;br /&gt;
=== Regular Unix Permissions ===&lt;br /&gt;
&lt;br /&gt;
Making workspaces readable/writable using standard unix access rights with &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; is only feasible if you and your co-workers share a common unix group (for example &amp;quot;bw22a222&amp;quot; or sd22a222). &lt;br /&gt;
&lt;br /&gt;
Do &#039;&#039;&#039;not&#039;&#039;&#039; make files readable or even writable to everyone or to large common groups (&amp;quot;all students&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
You can see available groups with the command &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read access to group for files in workspace via unix rights to the group &amp;quot;bw16e001&amp;quot; (has to be re-done if files are added)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rswX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read/write access to group for files in workspace via unix rights (has to be re-done if files are added). Group will be inherited by new files, but rights for the group will have to be re-set with chmod for every new file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* &amp;lt;tt&amp;gt;-R&amp;lt;/tt&amp;gt;: recursive&lt;br /&gt;
* &amp;lt;tt&amp;gt;g+rwx&amp;lt;/tt&amp;gt;&lt;br /&gt;
** &amp;lt;tt&amp;gt;g&amp;lt;/tt&amp;gt;: group&lt;br /&gt;
** &amp;lt;tt&amp;gt;+&amp;lt;/tt&amp;gt;: add permissions (- to remove)&lt;br /&gt;
** &amp;lt;tt&amp;gt;rwx&amp;lt;/tt&amp;gt;: read, write, execute&lt;br /&gt;
&lt;br /&gt;
=== ACLs: Access Control Lists ===&lt;br /&gt;
ACLs  allow a much more detailed distribution of permissions but are a bit more complicated and not visible in detail via &amp;quot;ls&amp;quot;. They have the additional advantage that you can set a &amp;quot;default&amp;quot; ACL for a directory, (with a &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; flag or a &amp;lt;tt&amp;gt;d:&amp;lt;/tt&amp;gt; prefix) which will cause all newly created files to inherit the ACLs from the directory. Regular unix permissions only have limited support (only group ownership, not access rights) for this via the suid bit.&lt;br /&gt;
&lt;br /&gt;
Best practices with respect to ACL usage:&lt;br /&gt;
# Take into account that ACLs take precedence over standard unix access rights&lt;br /&gt;
# The owner of a workspace is responsible for its content and management&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;lt;tt&amp;gt;ls&amp;lt;/tt&amp;gt; (List directory contents) shows ACLs on directories and files only when run as &amp;lt;tt&amp;gt;ls -l&amp;lt;/tt&amp;gt; as in long format, as &amp;quot;plus&amp;quot; sign after the standard unix access rights. &lt;br /&gt;
&lt;br /&gt;
Examples with regard to &amp;quot;my_workspace&amp;quot;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;getfacl &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|List access rights on $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm user:fr_xy1:rX,default:user:fr_xy1:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant user &amp;quot;fr_xy1&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -R -m user:fr_me0000:rwX,default:user:fr_me0000:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;setfacl -R -m user:fr_xy1:rwX,default:user:fr_xy1:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant your own user &amp;quot;fr_me0000&amp;quot; and &amp;quot;fr_xy1&amp;quot; inheritable (&amp;quot;default&amp;quot;) read and write access to $DIR, so you can also read/write files put into the workspace by a coworker&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm group:bw16e001:rX,default:group:bw16e001:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant group (Rechenvorhaben) &amp;quot;bw16e001&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rb &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Remove all ACL rights. Standard Unix access rights apply again.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* &amp;lt;tt&amp;gt;-R&amp;lt;/tt&amp;gt;: recursive&lt;br /&gt;
* &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;: modify&lt;br /&gt;
* &amp;lt;tt&amp;gt;user:username:rwX user&amp;lt;/tt&amp;gt;: next name is a user; rwX read, write, eXecute (only where execute is set for user)&lt;br /&gt;
* &amp;lt;tt&amp;gt;default:[user|group]&amp;lt;/tt&amp;gt;: set the default for user or group for new files or dierctories&lt;br /&gt;
&lt;br /&gt;
== Delete a Workspace ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;# Manually erase your workspace mySpace&lt;br /&gt;
ws_release mySpace&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: workspaces are kept for some time after release. To immediately delete and free space e.g. for quota reasons, delete the files with &amp;lt;tt&amp;gt;rm&amp;lt;/tt&amp;gt; before release.&lt;br /&gt;
&lt;br /&gt;
Newer versions of workspace tools have a &amp;lt;tt&amp;gt;--delete-data&amp;lt;/tt&amp;gt; flag that immediately deletes data. Note that deleted data from workspaces is permanently lost.&lt;br /&gt;
&lt;br /&gt;
== Restore an Expired Workspace ==&lt;br /&gt;
&lt;br /&gt;
For a certain (system-specific) grace time following workspace expiration, a workspace can be restored by performing the following steps:&lt;br /&gt;
&lt;br /&gt;
(1) Display restorable workspaces.&lt;br /&gt;
 ws_restore -l&lt;br /&gt;
&lt;br /&gt;
(2) Create a new workspace as the target for the restore:&lt;br /&gt;
 ws_allocate &amp;lt;new_workspace&amp;gt; &amp;lt;lifetime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(3) Restore:&lt;br /&gt;
 ws_restore &amp;lt;full_name_of_expired_workspace&amp;gt; &amp;lt;new_workspace&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expired workspace has to be specified using the &#039;&#039;&#039;full name&#039;&#039;&#039;, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).&lt;br /&gt;
The target workspace, on the other hand, must be given with just its short name as listed by &amp;lt;code&amp;gt;ws_list&amp;lt;/code&amp;gt;, without the username prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;In most cases:&amp;lt;/u&amp;gt; If the workspace is not visible/restorable, it has been &#039;&#039;&#039;permanently deleted&#039;&#039;&#039; and cannot be restored, not even by us. Please always remember, that workspaces are intended solely for temporary work data, and there is no backup of data in the workspaces.  &lt;br /&gt;
Please see the workspace page of your specific cluster in case your cluster does have some kind of backup.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* &#039;&#039;&#039;Error: &amp;quot;Disk space exceeded&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*: This means that there is not enough space (e.g. in your $HOME) to execute the operation. Please [[FAQ#quota_exceeded | free up space]].&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=FAQ&amp;diff=15908</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=FAQ&amp;diff=15908"/>
		<updated>2026-03-30T15:18:38Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: New formatting; partially added content from NEMO/FAQ and Helix pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Login Issues ==&lt;br /&gt;
&lt;br /&gt;
=== Can&#039;t log in ===&lt;br /&gt;
&lt;br /&gt;
* If the registry/account info shows &#039;Status: LOST_ACCESS&#039;, you need to fulfill the requirements outlined in &amp;lt;b&amp;gt;→&amp;lt;/b&amp;gt; [[Registration]]: &lt;br /&gt;
** Entitlement&lt;br /&gt;
** bwUniCluster &amp;amp;rarr; [[BwUniCluster_2.0_User_Access#Step_C:_Fill_out_the_bwUniCluster_questionnaire|Check if you answered the questionnaire.]]&lt;br /&gt;
** bwForCluster &amp;amp;rarr; You must be an active member in an active RV. You can see your RV memberships at the central application site ZAS under [https://zas.bwhpc.de/shib/en/info_rv.php &#039;&#039;&#039;My RVs&#039;&#039;&#039;].  &lt;br /&gt;
* Double-check your [[Registration/Login/Username|username]] and [[Registration/Password|password]].&lt;br /&gt;
* Make sure your CAPS LOCK key is not enabled.&lt;br /&gt;
* Try [[Registration/Password|resetting your password]].&lt;br /&gt;
* Ensure your [[Registration/Account|account]] is not locked or expired.&lt;br /&gt;
* Are you within the university network (Universities in Baden-Württemberg, BELWÜ)?&lt;br /&gt;
* Send us the output of the following command:&lt;br /&gt;
  ssh -l [[Registration/Login/Username|username]] [[Registration/Login/Hostname|hostname]] -vvv&lt;br /&gt;
  # Example:&lt;br /&gt;
  ssh -l fr_ab1234 login.nemo.uni-freiburg.de -vvv&lt;br /&gt;
&lt;br /&gt;
=== Forgot password === &lt;br /&gt;
&lt;br /&gt;
Set a new password for the service &amp;amp;rarr; [[Registration/Password|Password Guide]]&lt;br /&gt;
&lt;br /&gt;
=== Lost phone with OTP token  === &lt;br /&gt;
&lt;br /&gt;
You can use your backup TAN list and add a new token. If you don&#039;t have one, contact the support. &lt;br /&gt;
&lt;br /&gt;
== File Systems and Workspaces ==&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;quota_exceeded&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; File system quota exceeded ===&lt;br /&gt;
&lt;br /&gt;
There are quota limits for: &lt;br /&gt;
* disk space&lt;br /&gt;
* number of inodes (files)&lt;br /&gt;
Identifiy the issue: &lt;br /&gt;
* Disk space: List all directories (and files) in your home directory or workspace sorted by size. (&amp;lt;tt&amp;gt;.[!.]*&amp;lt;/tt&amp;gt; makes sure the &amp;quot;hidden&amp;quot; dot files are also checked.)&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;du -sh .[!.]* * | sort -h | tail&lt;br /&gt;
# or&lt;br /&gt;
du -sh --apparent-size * .[^.]*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*: Descend in a  directory with a large reported size and repeat until you find large files that are worth taking care of. &lt;br /&gt;
* Number of inodes:&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# check current directory&lt;br /&gt;
ls -1a | wc -l&lt;br /&gt;
# check subdirectories&lt;br /&gt;
du -s --inodes .[!.]* * | sort -n&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To free up space, you can:&lt;br /&gt;
* ...delete temporary files, for example in the &amp;lt;code&amp;gt;.cache&amp;lt;/code&amp;gt; folder. Other folders starting with a dot might contain temporary files as well, for example &amp;lt;code&amp;gt;.local/share/Trash&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...use the cleaning commands by your used software (e.g. [https://wiki.bwhpc.de/e/Development/Conda#Create_Environments_and_Install_Software conda]). &lt;br /&gt;
* ...delete folders with temporary data created by your used software (e.g. nextflow).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15845</id>
		<title>Helix/bwVisu/JupyterLab</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15845"/>
		<updated>2026-03-19T09:33:23Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: fix for pip installations in shared envs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://jupyter.org/ JupyterLab] is an integrated development environment (IDE) that provides a flexible and scalable interface for the Jupyter Notebook system. It supports interactive data science and scientific computing across over 40 programming languages (including Python, Julia, and R).&lt;br /&gt;
&lt;br /&gt;
== Change Python Version ==&lt;br /&gt;
&lt;br /&gt;
The default python version can be seen by running &amp;lt;code&amp;gt;python --version&amp;lt;/code&amp;gt; in the terminal. &lt;br /&gt;
&lt;br /&gt;
A different python version can be installed into a new virtual environment and then registered as IPython kernel for the usage in JupyterLab. This is explained in the chapter [[#Add_packages_via_conda_environments | add packages via conda environments]].&lt;br /&gt;
&lt;br /&gt;
== Install Python Packages ==&lt;br /&gt;
&lt;br /&gt;
Python packages can be added by installing them into a virtual environment and then creating an IPython kernel from the virtual environment. &amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Kernels can be shared&amp;lt;/u&amp;gt;. See the notes below. &amp;lt;/br&amp;gt;&lt;br /&gt;
If you want to move a virtual environment, it is adivsed to recreate it in the new place. Otherwise, dependencies based on relative paths will break. &lt;br /&gt;
&lt;br /&gt;
# Create a virtual environment with...&lt;br /&gt;
#* [[#Add_packages_via_venv_virtual_environments | ...venv]] or&lt;br /&gt;
#* [[#Add_packages_via_Conda_virtual_environments | ...conda]] (choose this option if you want to install a different python version) or &lt;br /&gt;
#* ...[https://docs.astral.sh/uv/getting-started/ uv] if you want to install a different python version but don&#039;t want to use conda. &lt;br /&gt;
# [[#Create_an_IPython_Kernel | Create an IPython kernel]] from the virtual environment&lt;br /&gt;
# Use the kernel within JupyterLab&lt;br /&gt;
#* By default new kernels are saved under &amp;lt;code&amp;gt;~/.local/share/jupyter&amp;lt;/code&amp;gt; and this location is automatically detected. Therefore, new kernels are directly available. &lt;br /&gt;
#*:[[File:BwVisu JuypterLab KernelPath.png|In the JupyterLab job configuration form, a custom kernel path can be provided.|right|thumb|x150px]]&lt;br /&gt;
#* If the kernel is saved somewhere else, the path can be provided in the &amp;quot;Kernel path&amp;quot; field when configuring the JupyterLab job (see image). For a kernel placed under &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter/kernels/my_kernel&amp;lt;/code&amp;gt; the needed &amp;quot;Kernel path&amp;quot; would be &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter&amp;lt;/code&amp;gt;. &lt;br /&gt;
# When the kernel is used the first time, the file &amp;lt;code&amp;gt;notebook_secrets&amp;lt;/code&amp;gt; is created automatically. It can be found under &amp;quot;Kernel path&amp;quot;. For others to use the kernel, they must have read access to this file. The command &amp;lt;code&amp;gt;chmod 750 notebook_secrets&amp;lt;/code&amp;gt; would for example allow the whole SDS@hd SV read access. For the access management in workspaces, please see [[Workspace#Setting_Permissions_for_Sharing_Files| Wokspace Permissions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Notes regarding the sharing of IPython kernels&amp;lt;/u&amp;gt;&lt;br /&gt;
* The virtual environment and the kernel need to be placed in a shared directory. For example at SDS@hd.&lt;br /&gt;
* There could be a subdirectory for the virtual environments and one for the kernels. &lt;br /&gt;
* The path to the kernels is saved in the environment variable $JUPYTER_DATA_DIR. Jupyter relevant paths can be seen with &amp;lt;code&amp;gt;jupyter --paths&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via &#039;&#039;venv&#039;&#039; virtual environments ===&lt;br /&gt;
More information about venv or other python virtual environments can be found at the [[Development/Python | Python]] page. &lt;br /&gt;
&lt;br /&gt;
Steps for creating a &#039;&#039;&#039;venv&#039;&#039;&#039; virtual environment:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual evironment: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m venv &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;env_parent_dir&amp;lt;/code&amp;gt; is the path to the folder where the virtual environment shall be created. Relative paths can be used.&lt;br /&gt;
* Caution: If you you want to share the environment with others, make sure to already create it in the shared place. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;source &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;/bin/activate&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update pip and install packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install -U pip --no-user&lt;br /&gt;
# when the environment is installed in home&lt;br /&gt;
pip install &amp;lt;packagename&amp;gt;&lt;br /&gt;
# when the environment is installed somewhere else and shall not have dependencies in home so that others can access it as well&lt;br /&gt;
pip install &amp;lt;packagename&amp;gt; --no-user&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via Conda virtual environments ===&lt;br /&gt;
More information about using conda can be found at the [[Development/Conda | Conda]] page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Load the miniforge module by clicking first on the blue hexagon icon on the left-hand side of Jupyter&#039;s start page and then on the &amp;amp;quot;load&amp;amp;quot; button right of the entry for miniforge in the software module menu. &lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual environment: &lt;br /&gt;
* If you are the only person using the environment, you can install it in your home directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --name &amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If you want to install it into a different directory, for example a shared place:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --prefix &amp;lt;path_to_shared_directory&amp;gt;/&amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate your environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda activate &amp;lt;myenv&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install your packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda install &amp;lt;mypackage&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create an IPython Kernel ==&lt;br /&gt;
&lt;br /&gt;
Python kernels are implementations of the Jupyter notebook environment for different languages or virtual environments. You can switch between kernels easily, allowing you to use the best tool for a specific task.&lt;br /&gt;
conda_kernels&lt;br /&gt;
&lt;br /&gt;
=== Create a kernel from a virtual environment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the virtual environment.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install the ipykernel package:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install ipykernel&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Register the virtual environment as custom kernel to Jupyter. &lt;br /&gt;
* If you are the only person using the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --user --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can be found under &amp;lt;code&amp;gt;~/.local/share/jupyter/kernels/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If you installed the environment in a shared place and want to have the kernel there as well: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --prefix &amp;lt;path_to_kernel_folder&amp;gt; --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can then be found under &amp;lt;code&amp;gt;path_to_kernel_folder/share/jupyter/kernels/&amp;lt;kernel_name&amp;gt;&amp;lt;/code&amp;gt;. As long as the same &amp;lt;code&amp;gt;path_to_kernel_folder&amp;lt;/code&amp;gt; is used, all kernels will be saved next to each other in &amp;quot;kernels&amp;quot;. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Language Support ===&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports over 40 programming languages including Python, R, Julia, and Scala. This is achieved through the use of different kernels.&lt;br /&gt;
&lt;br /&gt;
==== R Kernel ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ module load math/R&lt;br /&gt;
$ R&lt;br /&gt;
&amp;amp;gt; install.packages(&#039;IRkernel&#039;)&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On bwVisu:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start Jupyter App&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In left menu: load math/R&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Console:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ R&lt;br /&gt;
&amp;amp;gt; IRkernel::installspec(displayname = &#039;R 4.2&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Start kernel &#039;R 4.2&#039; as console or notebook&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Julia Kernel ====&lt;br /&gt;
&lt;br /&gt;
Load the math/julia module. Open the Terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
julia&lt;br /&gt;
]&lt;br /&gt;
add IJulia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, Julia is available as a kernel.&lt;br /&gt;
&lt;br /&gt;
== Interactive Widgets ==&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports interactive widgets that can create UI controls for interactive data visualization and manipulation within the notebooks. Example of using an interactive widget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;{.python&amp;quot;&amp;gt;from ipywidgets import IntSlider&lt;br /&gt;
slider = IntSlider()&lt;br /&gt;
display(slider)&amp;lt;/pre&amp;gt;&lt;br /&gt;
These widgets can be sliders, dropdowns, buttons, etc., which can be connected to Python code running in the backend.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&#039;&#039;&#039;My conda commands are interrupted with message &#039;Killed&#039;.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Request more memory when starting Jupyter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;How can I navigate to my SDS@hd folder in the file browser?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Open a terminal and set a symbolic link to your SDS@hd folder in your home directory. For example:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Jupyterlab doesn&#039;t let me in but asks for a password.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Try using more memory for the job. If this doesn&#039;t help, try using the inkognito mode of your browser as the browser cache might be the problem.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;I prefer VSCode over JupyterLab. Can I start a JupyterLab job and then connect with it via VSCode?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
This is not possible. Please start the job directly on Helix instead. You can find the instructions at the [[Development/VS_Code#Connect_to_Remote_Jupyter_Kernel | VSCode page]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15843</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15843"/>
		<updated>2026-03-18T11:21:00Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notation:&#039;&#039;&#039; Please replace all placeholder contents within guillemets &amp;lt;code&amp;gt;&amp;lt; &amp;gt;&amp;lt;/code&amp;gt; with the actual value. For example, replace &#039;&#039;&amp;lt;name_of_my_dog&amp;gt;&#039;&#039; with &#039;&#039;Fluffy&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* Username: You can look it up under your user data at [https://bwservices.uni-heidelberg.de/user/index.xhtml bwServices]. The username is &#039;&#039;&amp;lt;localPrimaryGroup&amp;gt;_&amp;lt;eduPersonPrincipalName&amp;gt;&#039;&#039; . (It is the same as for the bwHPC Clusters.)&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone | Rclone]] with the [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]] command. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; You can adjust the access rights when the SV is mounted on Windows in the file/folder properties menu (users from Heidelberg without Windows can use the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server]). bwForCluster Helix users can change the access rights via Helix by using [[Workspace#Regular_Unix_Permissions | unix permissions]] or [[Workspace#ACLs:_Access_Control_Lists | access control lists]]. Otherwise, ACL changes won&#039;t work when used locally on a mounted directory. Additionally to the already mentioned options, the SVV can take over ownership of files by opening a sftp shell and running &amp;lt;code&amp;gt;chown -R &amp;lt;userID&amp;gt; &amp;lt;path/to/folder&amp;gt;&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Maintance windows and known issues are communicated via the email list or the News section at the SDS@hd start page in the wiki. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other Issue&#039;&#039;&#039;&lt;br /&gt;
** If available, follow the troubleshooting guide of your specific connection method.&lt;br /&gt;
** Make sure to not use LAN and WLAN at the same time to prevent connection problems.&lt;br /&gt;
** If you have an institutional account, make sure to be a fully active member of your institution.&lt;br /&gt;
If these suggestions didn&#039;t help, write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
* Your operating system&lt;br /&gt;
* Does the access via webbrowser work? &lt;br /&gt;
*: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15842</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15842"/>
		<updated>2026-03-17T23:32:37Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Adjusted managing access rights section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notation:&#039;&#039;&#039; Please replace all placeholder contents within guillemets &amp;lt;code&amp;gt;&amp;lt; &amp;gt;&amp;lt;/code&amp;gt; with the actual value. For example, replace &#039;&#039;&amp;lt;name_of_my_dog&amp;gt;&#039;&#039; with &#039;&#039;Fluffy&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* Username: You can look it up under your user data at [https://bwservices.uni-heidelberg.de/user/index.xhtml bwServices]. The username is &#039;&#039;&amp;lt;localPrimaryGroup&amp;gt;_&amp;lt;eduPersonPrincipalName&amp;gt;&#039;&#039; . (It is the same as for the bwHPC Clusters.)&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone | Rclone]] with the [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]] command. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; You can adjust the access rights when the SV is mounted on Windows in the file/folder properties menu (Heidelberg users without Windows can use the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server]. Helix users can change the access rights via Helix by using [[Workspace#Regular_Unix_Permissions | unix permissions]] or [[Workspace#ACLs:_Access_Control_Lists | access control lists]]. Otherwise ACL changes won&#039;t work when used locally on a mounted directory. Additionally to the already mentioned options, the SVV can take over ownership of files by opening a sftp shell and running &amp;lt;code&amp;gt;chown -R &amp;lt;userID&amp;gt; &amp;lt;path/to/folder&amp;gt;&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Maintance windows and known issues are communicated via the email list or the News section at the SDS@hd start page in the wiki. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other Issue&#039;&#039;&#039;&lt;br /&gt;
** If available, follow the troubleshooting guide of your specific connection method.&lt;br /&gt;
** Make sure to not use LAN and WLAN at the same time to prevent connection problems.&lt;br /&gt;
** If you have an institutional account, make sure to be a fully active member of your institution.&lt;br /&gt;
If these suggestions didn&#039;t help, write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
* Your operating system&lt;br /&gt;
* Does the access via webbrowser work? &lt;br /&gt;
*: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Python&amp;diff=15762</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Python&amp;diff=15762"/>
		<updated>2026-03-02T16:20:03Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: New formatting, small text changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overview of pages related to the programming language Python.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;rarr; &#039;&#039;&#039;[[Development/Python | Python Main Page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster-specific pages:&#039;&#039;&#039;&lt;br /&gt;
* [[JUSTUS2/Software/Python | Python on JUSTUS 2]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions for JupyterLab on...&#039;&#039;&#039;&lt;br /&gt;
* [[BwUniCluster3.0/Jupyter | bwUniCluster3.0 ]]&lt;br /&gt;
* [[Helix/bwVisu/JupyterLab | Helix]] (through [[Helix/bwVisu | bwVisu]])&lt;br /&gt;
* [[BinAC2/Software/Jupyterlab | BinAC2]] (as software module)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related software packages&#039;&#039;&#039;&lt;br /&gt;
* [[BwUniCluster3.0/Software/Python Dask | Dask]] (on bwUniCluster3.0)&lt;br /&gt;
* [[Development/ollama | ollama ]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Training&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* [https://github.com/hpcraink/workshop-parallel-jupyter Workshop - Parallel Python via Jupyter]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15761</id>
		<title>Helix/bwVisu/JupyterLab</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15761"/>
		<updated>2026-03-02T15:02:00Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added fourth step to the kernel sharing instructions to fix permission issues.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://jupyter.org/ JupyterLab] is an integrated development environment (IDE) that provides a flexible and scalable interface for the Jupyter Notebook system. It supports interactive data science and scientific computing across over 40 programming languages (including Python, Julia, and R).&lt;br /&gt;
&lt;br /&gt;
== Change Python Version ==&lt;br /&gt;
&lt;br /&gt;
The default python version can be seen by running &amp;lt;code&amp;gt;python --version&amp;lt;/code&amp;gt; in the terminal. &lt;br /&gt;
&lt;br /&gt;
A different python version can be installed into a new virtual environment and then registered as IPython kernel for the usage in JupyterLab. This is explained in the chapter [[#Add_packages_via_conda_environments | add packages via conda environments]].&lt;br /&gt;
&lt;br /&gt;
== Install Python Packages ==&lt;br /&gt;
&lt;br /&gt;
Python packages can be added by installing them into a virtual environment and then creating an IPython kernel from the virtual environment. &amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Kernels can be shared&amp;lt;/u&amp;gt;. See the notes below. &amp;lt;/br&amp;gt;&lt;br /&gt;
If you want to move a virtual environment, it is adivsed to recreate it in the new place. Otherwise, dependencies based on relative paths will break. &lt;br /&gt;
&lt;br /&gt;
# Create a virtual environment with...&lt;br /&gt;
#* [[#Add_packages_via_venv_virtual_environments | ...venv]] or&lt;br /&gt;
#* [[#Add_packages_via_Conda_virtual_environments | ...conda]] (choose this option if you want to install a different python version) or &lt;br /&gt;
#* ...[https://docs.astral.sh/uv/getting-started/ uv] if you want to install a different python version but don&#039;t want to use conda. &lt;br /&gt;
# [[#Create_an_IPython_Kernel | Create an IPython kernel]] from the virtual environment&lt;br /&gt;
# Use the kernel within JupyterLab&lt;br /&gt;
#* By default new kernels are saved under &amp;lt;code&amp;gt;~/.local/share/jupyter&amp;lt;/code&amp;gt; and this location is automatically detected. Therefore, new kernels are directly available. &lt;br /&gt;
#*:[[File:BwVisu JuypterLab KernelPath.png|In the JupyterLab job configuration form, a custom kernel path can be provided.|right|thumb|x150px]]&lt;br /&gt;
#* If the kernel is saved somewhere else, the path can be provided in the &amp;quot;Kernel path&amp;quot; field when configuring the JupyterLab job (see image). For a kernel placed under &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter/kernels/my_kernel&amp;lt;/code&amp;gt; the needed &amp;quot;Kernel path&amp;quot; would be &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter&amp;lt;/code&amp;gt;. &lt;br /&gt;
# When the kernel is used the first time, the file &amp;lt;code&amp;gt;notebook_secrets&amp;lt;/code&amp;gt; is created automatically. It can be found under &amp;quot;Kernel path&amp;quot;. For others to use the kernel, they must have read access to this file. The command &amp;lt;code&amp;gt;chmod 750 notebook_secrets&amp;lt;/code&amp;gt; would for example allow the whole SDS@hd SV read access. For the access management in workspaces, please see [[Workspace#Setting_Permissions_for_Sharing_Files| Wokspace Permissions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Notes regarding the sharing of IPython kernels&amp;lt;/u&amp;gt;&lt;br /&gt;
* The virtual environment and the kernel need to be placed in a shared directory. For example at SDS@hd.&lt;br /&gt;
* There could be a subdirectory for the virtual environments and one for the kernels. &lt;br /&gt;
* The path to the kernels is saved in the environment variable $JUPYTER_DATA_DIR. Jupyter relevant paths can be seen with &amp;lt;code&amp;gt;jupyter --paths&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via &#039;&#039;venv&#039;&#039; virtual environments ===&lt;br /&gt;
More information about venv or other python virtual environments can be found at the [[Development/Python | Python]] page. &lt;br /&gt;
&lt;br /&gt;
Steps for creating a &#039;&#039;&#039;venv&#039;&#039;&#039; virtual environment:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual evironment: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m venv &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;env_parent_dir&amp;lt;/code&amp;gt; is the path to the folder where the virtual environment shall be created. Relative paths can be used.&lt;br /&gt;
* Caution: If you you want to share the environment with others, make sure to already create it in the shared place. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;source &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;/bin/activate&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update pip and install packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install -U pip&lt;br /&gt;
pip install &amp;lt;packagename&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via Conda virtual environments ===&lt;br /&gt;
More information about using conda can be found at the [[Development/Conda | Conda]] page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Load the miniforge module by clicking first on the blue hexagon icon on the left-hand side of Jupyter&#039;s start page and then on the &amp;amp;quot;load&amp;amp;quot; button right of the entry for miniforge in the software module menu. &lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual environment: &lt;br /&gt;
* If you are the only person using the environment, you can install it in your home directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --name &amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If you want to install it into a different directory, for example a shared place:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --prefix &amp;lt;path_to_shared_directory&amp;gt;/&amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate your environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda activate &amp;lt;myenv&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install your packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda install &amp;lt;mypackage&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create an IPython Kernel ==&lt;br /&gt;
&lt;br /&gt;
Python kernels are implementations of the Jupyter notebook environment for different languages or virtual environments. You can switch between kernels easily, allowing you to use the best tool for a specific task.&lt;br /&gt;
conda_kernels&lt;br /&gt;
&lt;br /&gt;
=== Create a kernel from a virtual environment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the virtual environment.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install the ipykernel package:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install ipykernel&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Register the virtual environment as custom kernel to Jupyter. &lt;br /&gt;
* If you are the only person using the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --user --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can be found under &amp;lt;code&amp;gt;~/.local/share/jupyter/kernels/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If you installed the environment in a shared place and want to have the kernel there as well: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --prefix &amp;lt;path_to_kernel_folder&amp;gt; --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can then be found under &amp;lt;code&amp;gt;path_to_kernel_folder/share/jupyter/kernels/&amp;lt;kernel_name&amp;gt;&amp;lt;/code&amp;gt;. As long as the same &amp;lt;code&amp;gt;path_to_kernel_folder&amp;lt;/code&amp;gt; is used, all kernels will be saved next to each other in &amp;quot;kernels&amp;quot;. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Language Support ===&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports over 40 programming languages including Python, R, Julia, and Scala. This is achieved through the use of different kernels.&lt;br /&gt;
&lt;br /&gt;
==== R Kernel ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ module load math/R&lt;br /&gt;
$ R&lt;br /&gt;
&amp;amp;gt; install.packages(&#039;IRkernel&#039;)&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On bwVisu:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start Jupyter App&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In left menu: load math/R&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Console:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ R&lt;br /&gt;
&amp;amp;gt; IRkernel::installspec(displayname = &#039;R 4.2&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Start kernel &#039;R 4.2&#039; as console or notebook&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Julia Kernel ====&lt;br /&gt;
&lt;br /&gt;
Load the math/julia module. Open the Terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
julia&lt;br /&gt;
]&lt;br /&gt;
add IJulia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, Julia is available as a kernel.&lt;br /&gt;
&lt;br /&gt;
== Interactive Widgets ==&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports interactive widgets that can create UI controls for interactive data visualization and manipulation within the notebooks. Example of using an interactive widget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;{.python&amp;quot;&amp;gt;from ipywidgets import IntSlider&lt;br /&gt;
slider = IntSlider()&lt;br /&gt;
display(slider)&amp;lt;/pre&amp;gt;&lt;br /&gt;
These widgets can be sliders, dropdowns, buttons, etc., which can be connected to Python code running in the backend.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&#039;&#039;&#039;My conda commands are interrupted with message &#039;Killed&#039;.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Request more memory when starting Jupyter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;How can I navigate to my SDS@hd folder in the file browser?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Open a terminal and set a symbolic link to your SDS@hd folder in your home directory. For example:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Jupyterlab doesn&#039;t let me in but asks for a password.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Try using more memory for the job. If this doesn&#039;t help, try using the inkognito mode of your browser as the browser cache might be the problem.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;I prefer VSCode over JupyterLab. Can I start a JupyterLab job and then connect with it via VSCode?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
This is not possible. Please start the job directly on Helix instead. You can find the instructions at the [[Development/VS_Code#Connect_to_Remote_Jupyter_Kernel | VSCode page]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15759</id>
		<title>Helix/bwVisu/Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15759"/>
		<updated>2026-02-27T14:21:51Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added small title for sds section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Navigation ==&lt;br /&gt;
&lt;br /&gt;
bwVisu is quite simple and intuitively designed to make launching apps on the cluster as user-friendly as possible. Once you have successfully logged into bwVisu, the first thing you see is a list of pinned apps. These are the available apps that you can launch as a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
In the navigation bar, the user has the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Files&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Interactive Apps&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Shell&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
Here, you can access your home directory on Helix. In a graphical user interface, files can be downloaded and uploaded, and new files and folders can be created. You will encounter an error message if you try to see data that you have no access to.&lt;br /&gt;
&lt;br /&gt;
In the Home Directory the results and logs from the apps are stored. You get the following interface:&lt;br /&gt;
&lt;br /&gt;
[[File:BwVisuFiles.png|bwVisu-files|center|x300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;For SDS@hd users:&amp;lt;/u&amp;gt;&#039;&#039;&#039; Data on SDS@hd (under /mnt/sds-hd) can only be accessed from within jobs. Therefore, you need to open a terminal (within a JupyterLab or Rstudio job or directly on Helix) and set a symbolic link to your SDS@hd folder in your home directory. For example like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interactive Apps ===&lt;br /&gt;
&lt;br /&gt;
This displays the apps that the user can run on the cluster, possibly across multiple nodes. These apps initiate an interactive session which the user can directly connect to and, depending on the app, receive a graphical interface.&lt;br /&gt;
&lt;br /&gt;
=== My Interactive Sessions ===&lt;br /&gt;
&lt;br /&gt;
At bwVisu, it is possible to start several interactive apps simultaneously. Here, one can view an overview of currently running interactive apps and completed sessions. It is also possible to view the log for each session. As soon as one starts an interactive app, one is automatically redirected here. Even if you log out of bwVisu and log back in, you can still see the information and logs from the finished interactive apps here until you delete it.&lt;br /&gt;
&lt;br /&gt;
=== Shell ===&lt;br /&gt;
For bwForCluster Helix users only: After entering your OTP and password a shell on the login node of bwForCluster Helix opens. This way, you can for example create workspaces when you need more space. Please look up the details under [[Helix/Filesystems#Workspaces | Helix Workspaces]]. They can&#039;t be seen in the File Viewer but are available within the bwVisu jobs.&lt;br /&gt;
&lt;br /&gt;
== Start a Job ==&lt;br /&gt;
[[File:bwVisuConcept.png|center|x170px]]&lt;br /&gt;
&amp;lt;ol&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; At the start page of the web frontend, you can start a new job by clicking on an application version in the list of pinned apps.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will now see the application description and options to adjust the job resources.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; To find the best resource settings for your jobs, please have a look at the [https://helix-monitoring.bwservices.uni-heidelberg.de/ bwForCluster Helix monitoring portal] . There, you can see how much of the requested resources where actually used by your jobs.&lt;br /&gt;
&amp;lt;li&amp;gt; At the bottom of the page, beneath the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button, you can find a link for accessing the logs/session data of all your jobs.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The interface can differ per app because each app can have individual configuration options. &amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:bwVisuRStudio.png|bwVisu-rstudio|center|x200px]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button to start a new job with this application. You can&#039;t start two jobs with the same application. Launching an app can take some time depending on the requested resources and cluster utilization.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;Interactive Sessions&amp;lt;/code&amp;gt; page opens with the details of your job.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Host:&#039;&#039;&#039; Indicates on which nodes the application is running.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Time Remaining:&#039;&#039;&#039; Each application is given a time limit, which can also be set in advance. In this example, the application is supposed to run for one hour.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Session ID:&#039;&#039;&#039; This is a link that leads to the folder of the session. Among other things, application logs are displayed here, which can be viewed in the UI.&lt;br /&gt;
[[File:BwVisuRstudioRun.png|bwVisu-rstudio-run|center|x200px]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Connect to the job with your browser by clicking &amp;lt;code&amp;gt;connect to &amp;amp;lt;application&amp;amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adjust noVNC Applications ==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: middle; float: right;&amp;quot;&amp;gt; [[File:bwVisu Fiji noVNCMenu.png|thumb|none|x200px|noVNC menu within Fiji]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top; float: right;&amp;quot;&amp;gt; [[File:bwVisu_Fiji_Running.png|thumb|none|x200px|Job details view of a running Fiji Job]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
noVNC is an open-source VNC browser client. Some bwVisu applications use noVNC and therefore, come with additional options in the view of the job details and an additional menu within the running application.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Running Job View&#039;&#039;&#039; on the interactive sessions page&lt;br /&gt;
** Compression slider: Before opening the application, you can choose the compression level to use. 0 means no compression while 9 offers the best compression but uses more CPU resources on the cluster which can be slower. &lt;br /&gt;
** Image Quality slider: Before opening the application, you can choose the image quality level. With this you can control the desired JPEG quality.&lt;br /&gt;
** View Only (Share-able Link) button: By clicking this button the application opens in view only mode. You can share this link with collaborators or students while you launch your noVNC application normally for yourself. This way, others can follow what you are doing. For every job you need to generate a new link. &lt;br /&gt;
* &#039;&#039;&#039;noVNC menu&#039;&#039;&#039; within the running application&lt;br /&gt;
** When you open the application you can see an additional menu on the left with options. For the ones using the application in view-only mode it is helpful to select the option to show a dot instead of not showing the mouse cursor at all. Therefore go to &amp;quot;Options&amp;quot; and then &amp;quot;Expand&amp;quot;. &lt;br /&gt;
** For copying data, you need to use the clipboard. When copying something locally, you need to put it into the clipboard before you can use it within the application. The same goes the other way around.&lt;br /&gt;
* &#039;&#039;&#039;Adjust window size&#039;&#039;&#039; and position of the app by executing a right click at the edge of the app window frame, so that a menu shows up.&lt;br /&gt;
&lt;br /&gt;
== Terminate a Job ==&lt;br /&gt;
&lt;br /&gt;
The job will terminate when the job runtime requested in the job submission form has expired To terminate an application yourself, you can click the delete button or end the application in the interactive session. If the app is terminated in the interactive session, the window no longer shows &amp;lt;code&amp;gt;Running&amp;lt;/code&amp;gt; but &amp;lt;code&amp;gt;Completed&amp;lt;/code&amp;gt;. With the &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; button, you end the session and also remove the list entry from &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
In case of problems, it can help to look up the related bwForCluster Helix wiki pages. &lt;br /&gt;
For example: &lt;br /&gt;
* Error: Disk space exceeded &amp;amp;rarr; &#039;&#039;&#039;[https://wiki.bwhpc.de/e/Helix/Filesystems#Troubleshooting Filesystems: Troubleshooting]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15758</id>
		<title>Workspace</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15758"/>
		<updated>2026-02-27T12:13:55Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added &amp;quot;groups&amp;quot; command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Workspace tools&#039;&#039;&#039; provide temporary scratch space so called &#039;&#039;&#039;workspaces&#039;&#039;&#039; for your calculation on a central file storage. They are meant to keep data for a limited time – but usually longer than the time of a single job run. &lt;br /&gt;
&lt;br /&gt;
== No Backup ==&lt;br /&gt;
&lt;br /&gt;
Workspaces are not meant for permanent storage, hence data in workspaces is not backed up and may be lost in case of problems on the storage system. Please copy/move important results to $HOME or storage space outside the cluster.&lt;br /&gt;
&lt;br /&gt;
== Create workspace ==&lt;br /&gt;
To create a workspace you need to state &lt;br /&gt;
* &#039;&#039;name&#039;&#039; of your workspace and &lt;br /&gt;
* &#039;&#039;lifetime&#039;&#039; in days. &lt;br /&gt;
A maximum value for &#039;&#039;lifetime&#039;&#039; and a maximum number of renewals is defined on each cluster.  Execution of:&lt;br /&gt;
&lt;br /&gt;
   $ ws_allocate mySpace 30&lt;br /&gt;
&lt;br /&gt;
e.g. returns:&lt;br /&gt;
 &lt;br /&gt;
   Workspace created. Duration is 720 hours. &lt;br /&gt;
   Further extensions available: 3&lt;br /&gt;
   /work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&lt;br /&gt;
For more information read the program&#039;s help, i.e. &#039;&#039;$ ws_allocate -h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== List all your workspaces ==&lt;br /&gt;
&lt;br /&gt;
To list all your workspaces, execute:&lt;br /&gt;
&lt;br /&gt;
   $ ws_list&lt;br /&gt;
&lt;br /&gt;
which will return:&lt;br /&gt;
* Workspace ID&lt;br /&gt;
* Workspace location&lt;br /&gt;
* available extensions&lt;br /&gt;
* creation date and remaining time&lt;br /&gt;
&lt;br /&gt;
To list expired workspaces, see [[Workspace#Restore_an_Expired_Workspace|Restore an Expired Workspace]].&lt;br /&gt;
&lt;br /&gt;
== Find workspace location ==&lt;br /&gt;
&lt;br /&gt;
Workspace location/path can be prompted for any workspace &#039;&#039;ID&#039;&#039; using &#039;&#039;&#039;ws_find&#039;&#039;&#039;, in case of workspace &#039;&#039;mySpace&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
   $ ws_find mySpace&lt;br /&gt;
&lt;br /&gt;
returns the one-liner:&lt;br /&gt;
&lt;br /&gt;
   /work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Extend lifetime of your workspace ==&lt;br /&gt;
&lt;br /&gt;
Any workspace&#039;s lifetime can be only extended a cluster-specific number of times. There several commands to extend workspace lifetime&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_extend mySpace 40&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by &#039;&#039;40&#039;&#039; days from now,&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_extend mySpace&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by the number days used previously&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_allocate -x mySpace 40&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by &#039;&#039;40&#039;&#039; days from now.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting Permissions for Sharing Files ==&lt;br /&gt;
The examples will assume you want to change the directory in $DIR. If you want to share a workspace, DIR could be set with &amp;lt;code&amp;gt;DIR=$(ws_find my_workspace)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Workspace Tools ===&lt;br /&gt;
&lt;br /&gt;
* ws_share&lt;br /&gt;
&amp;lt;code syntax=bash&amp;gt;ws_share share workspacename username&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
allows you to grant the user username read access to the workspace.&lt;br /&gt;
&lt;br /&gt;
Newer versions of the workspace tools have sharing options to ws_allocate:&lt;br /&gt;
&lt;br /&gt;
* -G option of ws_allocate&lt;br /&gt;
&amp;lt;code syntax=bash&amp;gt;ws_allocate -G groupname workspacename duration&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
e.g. for the group bw16e001 and for the workspace  for 30 days:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code syntax=bash&amp;gt;ws_allocate -G bw16e001 commonfiles 30&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
** groupname: name of the group you want to share with&lt;br /&gt;
** workspacename: what you want to call your workspace&lt;br /&gt;
** duration: how long the workspace is supposed to last in days&lt;br /&gt;
&lt;br /&gt;
Essentially this tool sets regular unix rwx permissions for the group plus the &amp;quot;suid&amp;quot; bit on the directory to make the permission inheritable.&lt;br /&gt;
&lt;br /&gt;
=== Regular Unix Permissions ===&lt;br /&gt;
&lt;br /&gt;
Making workspaces world readable/writable using standard unix access rights with &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; is only feasible if you are in a research group and you and your co-workers share a common unix group  (for example &amp;quot;bw22a222&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
Do &#039;&#039;&#039;not&#039;&#039;&#039; make files readable or even writable to everyone or to large common groups (&amp;quot;all students&amp;quot;). &lt;br /&gt;
You can see available groups with the command &amp;lt;code&amp;gt;groups&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read access to group for files in workspace via unix rights to the group &amp;quot;bw16e001&amp;quot; (has to be re-done if files are added)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rswX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read/write access to group for files in workspace via unix rights (has to be re-done if files are added). Group will be inherited by new files, but rights for the group will have to be re-set with chmod for every new file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* -R: recursive&lt;br /&gt;
* g+rwx&lt;br /&gt;
** g: group&lt;br /&gt;
** + add permissions (- to remove)&lt;br /&gt;
** rwx: read, write, execute&lt;br /&gt;
&lt;br /&gt;
=== ACLs: Access Control Lists ===&lt;br /&gt;
ACLs  allow a much more detailed distribution of permissions but are a bit more complicated and not visible in detail via &amp;quot;ls&amp;quot;. They have the additional advantage that you can set a &amp;quot;default&amp;quot; ACL for a directory, (with a &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; flag or a &amp;lt;tt&amp;gt;d:&amp;lt;/tt&amp;gt; prefix) which will cause all newly created files to inherit the ACLs from the directory. Regular unix permissions only have limited support (only group ownership, not access rights) for this via the suid bit.&lt;br /&gt;
&lt;br /&gt;
Best practices with respect to ACL usage:&lt;br /&gt;
# Take into account that ACLs take precedence over standard unix access rights&lt;br /&gt;
# The owner of a workspace is responsible for its content and management&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;lt;tt&amp;gt;ls&amp;lt;/tt&amp;gt; (List directory contents) shows ACLs on directories and files only when run as &amp;lt;tt&amp;gt;ls -l&amp;lt;/tt&amp;gt; as in long format, as &amp;quot;plus&amp;quot; sign after the standard unix access rights. &lt;br /&gt;
&lt;br /&gt;
Examples with regard to &amp;quot;my_workspace&amp;quot;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;getfacl &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|List access rights on $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm user:fr_xy1:rX,default:user:fr_xy1:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant user &amp;quot;fr_xy1&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -R -m user:fr_me0000:rwX,default:user:fr_me0000:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;setfacl -R -m user:fr_xy1:rwX,default:user:fr_xy1:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant your own user &amp;quot;fr_me0000&amp;quot; and &amp;quot;fr_xy1&amp;quot; inheritable (&amp;quot;default&amp;quot;) read and write access to $DIR, so you can also read/write files put into the workspace by a coworker&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm group:bw16e001:rX,default:group:bw16e001:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant group (Rechenvorhaben) &amp;quot;bw16e001&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rb &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Remove all ACL rights. Standard Unix access rights apply again.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* -R: recursive&lt;br /&gt;
* -m: modify&lt;br /&gt;
* user:username:rwX user: next name is a user; rwX read, write, eXecute (only where execute is set for user)&lt;br /&gt;
* default:[user|group] set the default for user or group for new files or dierctories&lt;br /&gt;
&lt;br /&gt;
== Delete a Workspace ==&lt;br /&gt;
&lt;br /&gt;
   $ ws_release mySpace # Manually erase your workspace mySpace&lt;br /&gt;
&lt;br /&gt;
Note: workspaces are kept for some time after release. To immediately delete and free space e.g. for quota reasons, delete the files with rm before release.&lt;br /&gt;
&lt;br /&gt;
Newer versions of workspace tools have a --delete-data flag that immediately deletes data. Note that deleted data from workspaces is permanently lost.&lt;br /&gt;
&lt;br /&gt;
== Restore an Expired Workspace ==&lt;br /&gt;
&lt;br /&gt;
For a certain (system-specific) grace time following workspace expiration, a workspace can be restored by performing the following steps:&lt;br /&gt;
&lt;br /&gt;
(1) Display restorable workspaces.&lt;br /&gt;
 ws_restore -l&lt;br /&gt;
&lt;br /&gt;
(2) Create a new workspace as the target for the restore:&lt;br /&gt;
 ws_allocate restored 60&lt;br /&gt;
&lt;br /&gt;
(3) Restore:&lt;br /&gt;
 ws_restore &amp;lt;full_name_of_expired_workspace&amp;gt; restored&lt;br /&gt;
&lt;br /&gt;
The expired workspace has to be specified using the &#039;&#039;&#039;full name&#039;&#039;&#039;, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).&lt;br /&gt;
The target workspace, on the other hand, must be given with just its short name as listed by &amp;lt;code&amp;gt;ws_list&amp;lt;/code&amp;gt;, without the username prefix.&lt;br /&gt;
&lt;br /&gt;
If the workspace is no visible/restorable, it has been &#039;&#039;&#039;permanently deleted&#039;&#039;&#039; and cannot be restored, not even by us. Please always remember, that workspaces are intended solely for temporary work data, and there is no backup of data in the workspaces.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/Slurm&amp;diff=15757</id>
		<title>Helix/Slurm</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/Slurm&amp;diff=15757"/>
		<updated>2026-02-27T00:29:09Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added info about --begin paramer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General information about Slurm =&lt;br /&gt;
The bwForCluster Helix uses Slurm as batch system.&lt;br /&gt;
* Slurm documentation: https://slurm.schedmd.com/documentation.html&lt;br /&gt;
* Slurm cheat sheet: https://slurm.schedmd.com/pdfs/summary.pdf&lt;br /&gt;
* Slurm tutorials: https://slurm.schedmd.com/tutorials.html&lt;br /&gt;
&lt;br /&gt;
= Slurm Command Overview =&lt;br /&gt;
&lt;br /&gt;
{| width=750px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Slurm commands !! Brief explanation&lt;br /&gt;
|-&lt;br /&gt;
| [https://slurm.schedmd.com/sbatch.html sbatch] || Submits a job and queues it in an input queue&lt;br /&gt;
|-&lt;br /&gt;
| [https://slurm.schedmd.com/salloc.html salloc] || Request resources for an interactive job&lt;br /&gt;
|-&lt;br /&gt;
| [https://slurm.schedmd.com/squeue.html squeue] || Displays information about active, eligible, blocked, and/or recently completed jobs &lt;br /&gt;
|-&lt;br /&gt;
| [https://slurm.schedmd.com/scontrol.html scontrol] || Displays detailed job state information&lt;br /&gt;
|-&lt;br /&gt;
| [https://slurm.schedmd.com/scontrol.html sstat] || Displays status information about a running job&lt;br /&gt;
|- &lt;br /&gt;
| [https://slurm.schedmd.com/scancel.html scancel] || Cancels a job&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Job Submission =&lt;br /&gt;
&lt;br /&gt;
Batch jobs are submitted with the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ sbatch &amp;lt;job-script&amp;gt; &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A job script contains options for Slurm in lines beginning with #SBATCH as well as your commands which you want to execute on the compute nodes. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;slurm&amp;quot;&amp;gt;#!/bin/bash&lt;br /&gt;
#SBATCH --partition=cpu-single&lt;br /&gt;
#SBATCH --ntasks=1&lt;br /&gt;
#SBATCH --time=00:20:00&lt;br /&gt;
#SBATCH --mem=1gb&lt;br /&gt;
#SBATCH --export=NONE&lt;br /&gt;
echo &#039;Hello world&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This jobs requests one core (--ntasks=1) and 1 GB memory (--mem=1gb) for 20 minutes (--time=00:20:00) on nodes provided by the partition &#039;cpu-single&#039;.&lt;br /&gt;
&lt;br /&gt;
For the sake of a better reproducibility of jobs it is recommended to use the option --export=NONE to prevent the propagation of environment variables from the submit session into the job environment and to load required software modules in the job script.&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
&lt;br /&gt;
On bwForCluster Helix it is necessary to request a partition with &amp;quot;--partition=&amp;lt;partition_name&amp;gt;&amp;quot; on job submission. Within a partition job allocations are routed automatically to the most suitable compute node(s) for the requested resources (e.g. amount of nodes and cores, memory, number of GPUs). The devel partition is the default partition, if no partition is requested. &lt;br /&gt;
&lt;br /&gt;
The partitions devel, cpu-single and gpu-single are operated in shared mode, i.e. jobs from different users can run on the same node. Jobs can get exclusive access to compute nodes in these partitions with the &amp;quot;--exclusive&amp;quot; option. The partitions cpu-multi and gpu-multi are operated in exclusive mode. Jobs in these partitions automatically get exclusive access to the requested compute nodes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Partition&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Node Access Policy&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| [https://wiki.bwhpc.de/e/Helix/Hardware#Compute_Nodes Node Types]&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Default&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Limits&lt;br /&gt;
|-&lt;br /&gt;
| devel&lt;br /&gt;
| shared&lt;br /&gt;
| cpu, gpu4&lt;br /&gt;
| ntasks=1, time=00:10:00, mem-per-cpu=2gb&lt;br /&gt;
| nodes=2, time=00:30:00&lt;br /&gt;
|-&lt;br /&gt;
| cpu-single&lt;br /&gt;
| shared&lt;br /&gt;
| cpu, fat&lt;br /&gt;
| ntasks=1, time=00:30:00, mem-per-cpu=2gb&lt;br /&gt;
| nodes=1, time=120:00:00&lt;br /&gt;
|-&lt;br /&gt;
| gpu-single&lt;br /&gt;
| shared&lt;br /&gt;
| gpu4, gpu8&lt;br /&gt;
| ntasks=1, time=00:30:00, mem-per-cpu=2gb&lt;br /&gt;
| nodes=1, time=120:00:00&lt;br /&gt;
|- &lt;br /&gt;
| cpu-multi&lt;br /&gt;
| job exclusive&lt;br /&gt;
| cpu&lt;br /&gt;
| nodes=2, time=00:30:00&lt;br /&gt;
| nodes=32, time=48:00:00&lt;br /&gt;
|- &lt;br /&gt;
| gpu-multi&lt;br /&gt;
| job exclusive&lt;br /&gt;
| gpu4&lt;br /&gt;
| nodes=2, time=00:30:00&lt;br /&gt;
| nodes=8, time=48:00:00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GPU requests ==&lt;br /&gt;
&lt;br /&gt;
For the partitions gpu-single and gpu-multi is it required to request GPU ressources.&lt;br /&gt;
* The number of GPUs is requested with the option &amp;quot;--gres=gpu:&amp;lt;number-of-gpus&amp;gt;&amp;quot;.   &lt;br /&gt;
* A specific GPU type can be requested with the option &amp;quot;--gres=gpu:&amp;lt;gpu-type&amp;gt;:&amp;lt;number-of-gpus&amp;gt;&amp;quot;. Possible values for &amp;lt;gpu-type&amp;gt; are listed in the line &#039;GPU Type&#039; of the [https://wiki.bwhpc.de/e/Helix/Hardware#Compute_Nodes Compute Nodes table].&lt;br /&gt;
* GPUs that are suitable for a specific GPU memory requirement can be requested with option &amp;quot;--gres=gpu:&amp;lt;number-of-gpus&amp;gt;,gpumem_per_gpu:&amp;lt;required-gpumem&amp;gt;GB&amp;quot;. This only restricts the selection of possible GPU types. For the job the total GPU memory per GPU is available as listed in the line &#039;GPU memory per GPU&#039; of the [https://wiki.bwhpc.de/e/Helix/Hardware#Compute_Nodes Compute Nodes table].&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
&lt;br /&gt;
It is possible to refine the resource request for a job with the option &amp;quot;--constraint=&amp;lt;feature&amp;gt;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Feature&lt;br /&gt;
! style=&amp;quot;width:80%&amp;quot;| Meaning&lt;br /&gt;
|-&lt;br /&gt;
| fp64&lt;br /&gt;
| request GPU types with FP64 capability (double precision)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Here you can find some example scripts for batch jobs.&lt;br /&gt;
&lt;br /&gt;
=== Serial Programs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;slurm&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --partition=cpu-single&lt;br /&gt;
#SBATCH --ntasks=1&lt;br /&gt;
#SBATCH --time=20:00:00&lt;br /&gt;
#SBATCH --mem=4gb&lt;br /&gt;
./my_serial_program&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Jobs with &amp;quot;--mem&amp;quot; up to 236gb can run on all node types associated with the cpu-single partition.&lt;br /&gt;
&lt;br /&gt;
=== Multi-threaded Programs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;slurm&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --partition=cpu-single&lt;br /&gt;
#SBATCH --nodes=1&lt;br /&gt;
#SBATCH --ntasks-per-node=1&lt;br /&gt;
#SBATCH --cpus-per-task=16&lt;br /&gt;
#SBATCH --time=01:30:00&lt;br /&gt;
#SBATCH --mem=50gb&lt;br /&gt;
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}&lt;br /&gt;
./my_multithreaded_program&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Jobs with &amp;quot;--ntasks-per-node&amp;quot; up to 64 and &amp;quot;--mem&amp;quot; up to 236gb can run on all node types associated with the cpu-single partition.&lt;br /&gt;
* With &amp;quot;export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}&amp;quot; you can set the number of threads according to the number of resources requested.&lt;br /&gt;
&lt;br /&gt;
=== MPI Programs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;slurm&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --partition=cpu-multi&lt;br /&gt;
#SBATCH --nodes=2&lt;br /&gt;
#SBATCH --ntasks-per-node=64&lt;br /&gt;
#SBATCH --time=12:00:00&lt;br /&gt;
module load compiler/gnu&lt;br /&gt;
module load mpi/openmpi&lt;br /&gt;
srun ./my_mpi_program&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* &amp;quot;--mem&amp;quot; requests the memory per node. The maximum is 236gb.&lt;br /&gt;
* The Compiler and MPI modules used for the compilation must be loaded before the start of the program.&lt;br /&gt;
* It is recommended to start MPI programs with &#039;srun&#039;.&lt;br /&gt;
&lt;br /&gt;
=== GPU Programs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;slurm&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --partition=gpu-single &lt;br /&gt;
#SBATCH --nodes=1 &lt;br /&gt;
#SBATCH --ntasks=1 &lt;br /&gt;
#SBATCH --cpus-per-task=8&lt;br /&gt;
#SBATCH --gres=gpu:A40:1 &lt;br /&gt;
#SBATCH --time=12:00:00&lt;br /&gt;
#SBATCH --mem=16gb&lt;br /&gt;
&lt;br /&gt;
module load devel/cuda &lt;br /&gt;
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}&lt;br /&gt;
 ./my_cuda_program&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* The number of GPUs per node is requested with the option &amp;quot;--gres=gpu:&amp;lt;number-of-gpus&amp;gt;&amp;quot;&lt;br /&gt;
* It is recommended to request a suitable GPU type for your application with the option &amp;quot;--gres=gpu:&amp;lt;gpu-type&amp;gt;:&amp;lt;number-of-gpus&amp;gt;&amp;quot;. For &amp;lt;gpu-type&amp;gt; put the &#039;GPU Type&#039; listed in the [https://wiki.bwhpc.de/e/Helix/Hardware#Compute_Nodes Compute Nodes table].&lt;br /&gt;
** Example for a request of two A40 GPUs: --gres=gpu:A40:2&lt;br /&gt;
** Example for a request of one A100 GPU: --gres=gpu:A100:1&lt;br /&gt;
* If you are unsure on which GPU type your code runs faster, please run a test case and compare the run times. In general the following applies:&lt;br /&gt;
** A40 GPUs are optimized for single precision computations.&lt;br /&gt;
** A100 and H200 GPUs offer better performance for double precision computations or if the code makes use of tensor cores.&lt;br /&gt;
* The CUDA module used for compilation must be loaded before the start of the program.&lt;br /&gt;
&lt;br /&gt;
=== More examples ===&lt;br /&gt;
&lt;br /&gt;
Further batch script examples are available on bwForCluster Helix in the directory: &amp;lt;code&amp;gt;/opt/bwhpc/common/system/slurm-examples&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Interactive Jobs =&lt;br /&gt;
&lt;br /&gt;
Interactive jobs must NOT run on the login nodes, however resources for interactive jobs can be requested using srun. The following example requests an interactive session on 1 core for 2 hours:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ salloc --partition=cpu-single --ntasks=1 --time=2:00:00 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After execution of this command wait until the queueing system has granted you the requested resources. Once granted you will be automatically logged on the allocated compute node.&lt;br /&gt;
&lt;br /&gt;
If you use applications or tools which provide a GUI, enable X-forwarding for your interactive session with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ salloc --partition=cpu-single --ntasks=1 --time=2:00:00 --x11 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the walltime limit has been reached you will be automatically logged out from the compute node.&lt;br /&gt;
&lt;br /&gt;
For convenient access to specific GUI applications (JupyterLab, RStudio, ...) on the cluster, we provide a web-based platform: &#039;&#039;&#039;[[Helix/bwVisu | bwVisu]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delay the start of a job&#039;&#039;&#039; by using [https://slurm.schedmd.com/sbatch.html#OPT_begin -b] (or [https://slurm.schedmd.com/sbatch.html#OPT_begin --begin]) option in order to defer the allocation of the job until the specified time. Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ salloc --begin=20:00 ...               # job can start after 8 p.m. &lt;br /&gt;
$ salloc --begin=now+1hour ...           # job can start 1 hour after submission&lt;br /&gt;
$ salloc --begin=teatime ...             # job can start at teatime (4 p.m.)&lt;br /&gt;
$ salloc --begin=2023-12-24T20:00:00 ... # job can start after specified date/time&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Job Monitoring =&lt;br /&gt;
&lt;br /&gt;
== Information about submitted jobs ==&lt;br /&gt;
&lt;br /&gt;
For an overview of your submitted jobs use the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ squeue&lt;br /&gt;
# Additionally show the estimated start time:&lt;br /&gt;
$ squeue --start&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get detailed information about a specific job use the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
A job start may be delayed for various reasons:&lt;br /&gt;
* (QOSMaxCpuPerUserLimit) - There is a limit to how many CPU cores a user can use at the same time. The job exceeds this limit.&lt;br /&gt;
* (QOSMaxGRESPerUser) - There is a limit to how many GPUs a user can use at the same time. The job exceeds this limit.&lt;br /&gt;
* (QOSMinGRES) - The job was submitted to a gpu partition without requesting a GPU.&lt;br /&gt;
* (launch failed requeued held) - The job has failed to start. You may be able to resume it using scontrol. Alternatively you can cancel it and submit it again.&lt;br /&gt;
For further reasons please refer to: https://slurm.schedmd.com/job_reason_codes.html&lt;br /&gt;
&lt;br /&gt;
== Information about resource usage of running jobs ==&lt;br /&gt;
&lt;br /&gt;
You can monitor the resource usage of running jobs with the sstat command. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sstat --format=JobId,AveCPU,AveRSS,MaxRSS -j &amp;lt;jobid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will show average CPU time, average and maximum memory consumption of all tasks in the running job.&lt;br /&gt;
&lt;br /&gt;
&#039;sstat -e&#039; command shows a list of fields that can be specified with the &#039;--format&#039; option.&lt;br /&gt;
&lt;br /&gt;
== Interactive access to running jobs ==&lt;br /&gt;
&lt;br /&gt;
It is also possible to attach an interactive shell to a running job with command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ srun --jobid=&amp;lt;jobid&amp;gt; --overlap --pty /bin/bash&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commands like &#039;top&#039; show you the most busy processes on the node. To exit &#039;top&#039; type &#039;q&#039;.&lt;br /&gt;
&lt;br /&gt;
To monitor your GPU processes use the command &#039;nvidia-smi&#039;.&lt;br /&gt;
&lt;br /&gt;
== Job Feedback ==&lt;br /&gt;
You get feedback on resource usage and job efficiency for completed jobs with the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ seff &amp;lt;jobid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example Output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
============================= JOB FEEDBACK =============================&lt;br /&gt;
Job ID: 12345678&lt;br /&gt;
Cluster: helix&lt;br /&gt;
User/Group: hd_ab123/hd_hd&lt;br /&gt;
State: COMPLETED (exit code 0)&lt;br /&gt;
Nodes: 2&lt;br /&gt;
Cores per node: 64&lt;br /&gt;
CPU Utilized: 3-04:11:46&lt;br /&gt;
CPU Efficiency: 97.90% of 3-05:49:52 core-walltime&lt;br /&gt;
Job Wall-clock time: 00:36:29&lt;br /&gt;
Memory Utilized: 432.74 GB (estimated maximum)&lt;br /&gt;
Memory Efficiency: 85.96% of 503.42 GB (251.71 GB/node)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* Nodes: Number of allocated nodes for the job.&lt;br /&gt;
* Cores per node: Number of physical cores per node allocated for the job.&lt;br /&gt;
* CPU Utilized: Sum of utilized core time.&lt;br /&gt;
* CPU Efficiency: &#039;CPU Utilized&#039; with respect to core-walltime (= &#039;Nodes&#039; x &#039;Cores per node&#039; x &#039;Job Wall-clock time&#039;) in percent. &lt;br /&gt;
* Job Wall-clock time: runtime of the job.&lt;br /&gt;
* Memory Utilized: Sum of memory used. For multi node MPI jobs the sum is only correct when srun is used instead of mpirun.&lt;br /&gt;
* Memory Efficiency: &#039;Memory Utilized&#039; with respect to total allocated memory for the job.&lt;br /&gt;
&lt;br /&gt;
== Job Monitoring Portal ==&lt;br /&gt;
For more detailed information about your jobs visit the job monitoring portal: https://helix-monitoring.bwservices.uni-heidelberg.de&lt;br /&gt;
&lt;br /&gt;
= Accounting =&lt;br /&gt;
&lt;br /&gt;
Jobs are billed for allocated CPU cores, memory and GPUs.&lt;br /&gt;
&lt;br /&gt;
To see the accounting data of a specific job:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ sacct -j &amp;lt;jobid&amp;gt; --format=user,jobid,account,nnodes,ncpus,time,elapsed,AllocTRES%50&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrive the job history for a specific user for a certain time frame:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ sacct -u &amp;lt;user&amp;gt; -S 2022-08-20 -E 2022-08-30 --format=user,jobid,account,nnodes,ncpus,time,elapsed,AllocTRES%50&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Overview about free resources =&lt;br /&gt;
&lt;br /&gt;
On the login nodes the following command shows what resources are available for immediate use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ sinfo_t_idle&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15756</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15756"/>
		<updated>2026-02-26T23:58:43Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added link to Rclone&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notation:&#039;&#039;&#039; Please replace all placeholder contents within guillemets &amp;lt;code&amp;gt;&amp;lt; &amp;gt;&amp;lt;/code&amp;gt; with the actual value. For example, replace &#039;&#039;&amp;lt;name_of_my_dog&amp;gt;&#039;&#039; with &#039;&#039;Fluffy&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* Username: You can look it up under your user data at [https://bwservices.uni-heidelberg.de/user/index.xhtml bwServices]. The username is &#039;&#039;&amp;lt;localPrimaryGroup&amp;gt;_&amp;lt;eduPersonPrincipalName&amp;gt;&#039;&#039; . (It is the same as for the bwHPC Clusters.)&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone | Rclone]] with the [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]] command. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights with ACLs&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Please set ACLs either via the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server] or via bwForCluster Helix. ACL changes won&#039;t work when used locally on a mounted directory.&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; -&amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Maintance windows and known issues are communicated via the email list or the News section at the SDS@hd start page in the wiki. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other Issue&#039;&#039;&#039;&lt;br /&gt;
** If available, follow the troubleshooting guide of your specific connection method.&lt;br /&gt;
** Make sure to not use LAN and WLAN at the same time to prevent connection problems.&lt;br /&gt;
** If you have an institutional account, make sure to be a fully active member of your institution.&lt;br /&gt;
If these suggestions didn&#039;t help, write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
* Your operating system&lt;br /&gt;
* Does the access via webbrowser work? &lt;br /&gt;
*: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/All_Data_Transfer_Routes&amp;diff=15755</id>
		<title>Data Transfer/All Data Transfer Routes</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/All_Data_Transfer_Routes&amp;diff=15755"/>
		<updated>2026-02-26T18:29:48Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Hinted that sshfs on Windows doesn&amp;#039;t really work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= All Data Transfer Routes =&lt;br /&gt;
&lt;br /&gt;
The following tables provide a full overview on the various transfer options depending on the system that you are coming from and the system you want to transfer your data to. &amp;lt;u&amp;gt;The recommended options are marked&amp;lt;/u&amp;gt; in the table with &#039;&#039;&#039;W&#039;&#039;&#039;(indows)/&#039;&#039;&#039;M&#039;&#039;&#039;(acOS)/&#039;&#039;&#039;L&#039;&#039;&#039;(inux) added next to the &#039;✓&#039; sign.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;[✓]&#039; means that this option is possible but might be the worst choice of the given ones.&lt;br /&gt;
&lt;br /&gt;
== Copy and Sync via commandline ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Protocol/Tool&lt;br /&gt;
! Underlying network protocol&lt;br /&gt;
! Description/When to use&lt;br /&gt;
! Executable on&lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! &lt;br /&gt;
! Transfer from/to&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Linux&lt;br /&gt;
| MacOS&lt;br /&gt;
| Windows&lt;br /&gt;
| bwHPC&lt;br /&gt;
| bwHPC&lt;br /&gt;
| [[SDS@hd|SDS@hd]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| sftp, smb, WebDAV, ...&lt;br /&gt;
| A tool that can be used with various protocols. It needs to be installed. Multithreaded. Works on two completely remote locations as well. Transfers whole files. No 2FA possible. Usually suitable for big data. Please refer to the marked recommendations when deciding on a network protocol to use with Rclone.&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| http(s)&lt;br /&gt;
| Fast with small data, not suitable for big data.&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rsync|rsync]]&lt;br /&gt;
| ssh&lt;br /&gt;
| Synchronization of data. One side must be a local drive. Can spot differences in files and transfer only the changes. Can resume partial transfers.&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/SFTP|sftp]]&lt;br /&gt;
| ssh&lt;br /&gt;
| Interactive shell for copying data&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|[✓]]]&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/SCP|scp]]&lt;br /&gt;
| ssh&lt;br /&gt;
| For copying data&lt;br /&gt;
| [✓]&lt;br /&gt;
| [✓]&lt;br /&gt;
| [✓]&lt;br /&gt;
| [✓]&lt;br /&gt;
| [✓]&lt;br /&gt;
| ☓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mounting via commandline ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Protocol/Tool&lt;br /&gt;
! Underlying network protocol&lt;br /&gt;
! Description &amp;amp; Use Cases&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Executable on&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Transfer from/to&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Linux&lt;br /&gt;
| MacOS&lt;br /&gt;
| Windows&lt;br /&gt;
| bwHPC&lt;br /&gt;
| bwHPC&lt;br /&gt;
| SDS@hd&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone#Usage_Rclone_Mount|Rclone mount]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| sftp, smb, WebDAV, ...&lt;br /&gt;
| See previous table&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/SSHFS|sshfs]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| File system using sftp, simple usage, needs stable connections, can&#039;t resume partial transfers&lt;br /&gt;
| ✓&lt;br /&gt;
| [✓]&lt;br /&gt;
| [✓]&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓ [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|(only L, M )]]&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|smb]]&lt;br /&gt;
| none&lt;br /&gt;
| Mapping of a network drive. Multiuser possible. Good fit for big data.&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓ ([[SDS@hd/Access/SMB#Mac|M]], [[SDS@hd/Access/SMB#Windows|W]], [[SDS@hd/Access/SMB#Linux|L]])&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/NFS#Using_NFSv4_for_UNIX_client|NFSv4]]&lt;br /&gt;
| none&lt;br /&gt;
| One-time installation effort (Kerberos, ID mapping). For servers, microscopes, multi-user environments, ...&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphical User Interfaces (GUIs) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! GUIs&lt;br /&gt;
! Underlying network protocols&lt;br /&gt;
! Description &amp;amp; Use Cases&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Executable on&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Transfer from/to&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Linux&lt;br /&gt;
| MacOS&lt;br /&gt;
| Windows&lt;br /&gt;
| bwHPC&lt;br /&gt;
| bwHPC&lt;br /&gt;
| SDS@hd&lt;br /&gt;
|-&lt;br /&gt;
| JupyterLab&lt;br /&gt;
| ssh&lt;br /&gt;
| Development Environment&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| [[Development/VS_Code|VS Code]]&lt;br /&gt;
| ssh&lt;br /&gt;
| Development Environment&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|-&lt;br /&gt;
| RStudio&lt;br /&gt;
| ssh&lt;br /&gt;
| Development Environment&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| ssh, RSync, sftp&lt;br /&gt;
| &lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓   [[Data_Transfer/Graphical_Clients#MobaXterm|( W )]]&lt;br /&gt;
| ✓&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#WinSCP|WinSCP]]&lt;br /&gt;
| sftp, WebDAV, scp&lt;br /&gt;
| &lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#Filezilla|Filezilla]]&lt;br /&gt;
| sftp&lt;br /&gt;
| &lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [https://cyberduck.io/ Cyberduck]&lt;br /&gt;
| sftp, WebDAV, S3&lt;br /&gt;
| &lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| WebDAV via browser&lt;br /&gt;
| WebDAV&lt;br /&gt;
| download single files&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/WebdavBrowser|✓]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/SSHFS&amp;diff=15754</id>
		<title>Data Transfer/SSHFS</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/SSHFS&amp;diff=15754"/>
		<updated>2026-02-26T18:26:08Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added warning for Windows sshfs with 2fa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sshfs is a network protocol for mounting data. It uses [[Data Transfer/SFTP|sftp]] under the hood.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For the necessary installations follow this link:&amp;lt;br /&amp;gt; [https://linuxize.com/post/how-to-use-sshfs-to-mount-remote-directories-over-ssh/ How to use SSHFS to Mount Remote Directories over SSH].&amp;lt;br /&amp;gt;&lt;br /&gt;
a) &#039;&#039;&#039;MacOS after the installation&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
To enable sshfs on your Mac go to: System Preferences -&amp;amp;gt; General tab -&amp;amp;gt; Allow Extensions button&amp;lt;br /&amp;gt;&lt;br /&gt;
Then follow the instructions that pop up (make sure that you remember the instructions before shutting down your computer).&amp;lt;br /&amp;gt;&lt;br /&gt;
b) &#039;&#039;&#039;Linux installation short commands&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Debian/Ubuntu: &amp;lt;code&amp;gt;apt-get install sshfs&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CentOS/RedHat: &amp;lt;code&amp;gt;dnf install fuse-sshfs&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to use /etc/fstab, you can do this with the following entry:&lt;br /&gt;
&amp;lt;pre&amp;gt;sshfs#&amp;amp;lt;username&amp;amp;gt;@&amp;amp;lt;hostname&amp;amp;gt;:    &amp;amp;lt;your_local_mountpoint&amp;amp;gt;   fuse   defaults,user,noauto,exec,reconnect        0       0 &amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&#039;&#039;Caution: sshfs on Windows doesn&#039;t work with 2FA. &lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go to &amp;amp;quot;This PC&amp;amp;quot; and select &amp;amp;quot;Connect network drive&amp;amp;quot; (&amp;amp;quot;Netzlaufwerk verbinden&amp;amp;quot;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Select a drive (W:) and click on &amp;amp;quot;connect with webpage on which you can save documents and images&amp;amp;quot; (Verbindung mit website herstellen, auf der Sie Dokumente und Bilder speichern können)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the following as address, to connect to the home folder on the cluster:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;\sshfs\&amp;lt;username&amp;gt;@&amp;lt;hostname&amp;gt;/&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you would want to go two folders up, you would add “&#039;&#039;../../&#039;&#039;” at the end.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MacOS &amp;amp; Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create an empty directory. The cluster/storage folder is going to be mounted to this directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mount a folder from the cluster/storage:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;# Home folder&lt;br /&gt;
sshfs -o reconnect &amp;lt;username&amp;gt;@&amp;lt;hostname&amp;gt;: &amp;lt;localPath&amp;gt;&lt;br /&gt;
# subfolderX&lt;br /&gt;
sshfs -o reconnect &amp;lt;username&amp;gt;@&amp;lt;hostname&amp;gt;:subfolderX &amp;lt;localPath&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Undo mounting ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MacOS &amp;amp; Linux:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
If the connection to the cluster broke and you want to remount, you often have to use umount first. Try to remember to always unmount first before retrying. Otherwise it can happen that unmounting is not possible anymore by cmd. Usually the error message in this case tells you that the process is currently busy and therefore cannot umount. In this case, you have to restart the notebook which automatically unmounts everything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;```bash&lt;br /&gt;
umount -f &amp;amp;lt;localPath&amp;amp;gt;&lt;br /&gt;
# For example&lt;br /&gt;
umount -f /Users/&amp;amp;lt;username&amp;amp;gt;/Documents/mounted&lt;br /&gt;
# or use&lt;br /&gt;
fusermount -u &amp;amp;lt;localPath&amp;amp;gt;&lt;br /&gt;
```&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration/Entitlement&amp;diff=15753</id>
		<title>SDS@hd/Registration/Entitlement</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration/Entitlement&amp;diff=15753"/>
		<updated>2026-02-25T14:18:21Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added info about students.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Get SDS@hd Entitlement ==&lt;br /&gt;
&lt;br /&gt;
New SVs can only be opened by bwIDM members who have the &#039;&#039;&#039;sds-hd-sv&#039;&#039;&#039; entitlement from their home university. This entitlement may have to be applied for individually at the home organisation. &lt;br /&gt;
&lt;br /&gt;
To see if you already have the needed entitlement, you can [[SDS@hd/Registration/Entitlement#Check_your_Entitlements|&#039;&#039;check your entitlements&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
If you need the entitlement, follow the instructions for your home university. &amp;lt;u&amp;gt;If none are provided, please contact your local service desk&amp;lt;/u&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Universität Heidelberg&#039;&#039;&#039; &lt;br /&gt;
** Employees of Heidelberg University receive this entitlement automatically. Students can&#039;t receive it.&lt;br /&gt;
* &#039;&#039;&#039;Universität Mannheim&#039;&#039;&#039;&lt;br /&gt;
** Employees of the University of Mannheim receive this entitlement automatically. Students can&#039;t receive it.&lt;br /&gt;
* &#039;&#039;&#039;Universität Ulm&#039;&#039;&#039;&lt;br /&gt;
** Please contact the helpdesk. See https://www.uni-ulm.de/einrichtungen/kiz/service-katalog/beratung-schulung-hilfe/helpdesk/&lt;br /&gt;
&lt;br /&gt;
== Check your Entitlements ==&lt;br /&gt;
&lt;br /&gt;
# Log in to https://bwservices.uni-heidelberg.de&lt;br /&gt;
# Go to &amp;quot;Index&amp;quot; -&amp;gt; &amp;quot;Personal Data&amp;quot;&lt;br /&gt;
# Choose the &amp;quot;Shibboleth&amp;quot; tab&lt;br /&gt;
# Search for the following entry: http://bwidm.de/entitlement/sds-hd-sv (this is an attribute and not a link)&lt;br /&gt;
If you can find it, you already have the needed entitlement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;&amp;amp;rarr; [[SDS@hd/Registration#b)_Apply_for_new_SV| go forward with the SV application]]&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd&amp;diff=15752</id>
		<title>SDS@hd</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd&amp;diff=15752"/>
		<updated>2026-02-24T22:43:32Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added link to SV Management page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:sds-hd-logo.png|350px]]&lt;br /&gt;
&lt;br /&gt;
SDS@hd is a central service for securely storing scientific data (Scientific Data Storage). The service is provided as a state service to researchers of higher education institutions of Baden-Württemberg. It is intended to be used for data that is frequently accessed (&#039;hot data&#039;).&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#FEF4AB; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFE856; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | News&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* November 2022: No special entitlement is needed anymore to participate in an existing storage project.&lt;br /&gt;
* September 2023: Service has now been opened for DFN AAI &amp;amp; eduGAIN federation members to participate on existing storage projects.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Training &amp;amp; Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [https://www.urz.uni-heidelberg.de/en/service-catalogue/storage/sdshd-scientific-data-storage Service description &amp;amp; FAQ]&lt;br /&gt;
* [mailto:sds-hd-support@urz.uni-heidelberg.de Submit a Ticket]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#ffeaef; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | User Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[SDS@hd/Registration|Registration]] [[SDS@hd/SV_Management|(SV Management)]]&lt;br /&gt;
* [[SDS@hd/Access|Access]]&lt;br /&gt;
* [[SDS@hd/Security|Data Security]]&lt;br /&gt;
* [[Helix/bwVisu|bwVisu]] for visualization and interactive data analysis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#e6e9eb; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#d1dadf; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Storage Funding&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* Please [[SDS@hd/Acknowledgement|acknowledge]] SDS@hd in your publications.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15751</id>
		<title>SDS@hd/Registration</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15751"/>
		<updated>2026-02-24T15:14:33Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Moved SV management section to new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registration Steps ==&lt;br /&gt;
&lt;br /&gt;
The registration consists of two steps: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step A:&#039;&#039;&#039; Membership in Storage Project (Speichervorhaben/&#039;&#039;&#039;SV&#039;&#039;&#039;). There are two options: &lt;br /&gt;
*: &#039;&#039;&#039;a)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#a)_Join_existing_SV | Join existing SV]]&lt;br /&gt;
*: &#039;&#039;&#039;b)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#b)_Apply_for_new_SV | Apply for new SV]] (only possible for [https://www.bwidm.de/hochschulen.php bwIDM members])&lt;br /&gt;
* &#039;&#039;&#039;Step B:&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#Step_B:_Registration_for_SDS@hd_Service |Registration for SDS@hd Service]]&lt;br /&gt;
&lt;br /&gt;
After finishing the registration, the next steps are: &lt;br /&gt;
* Check which management options there are for your respective role in the SV &amp;amp;rarr; [[SDS@hd/SV_Management |SV Management]]&lt;br /&gt;
* See how to access and use your storage space &amp;amp;rarr; [[SDS@hd/Access | Access]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:SDS@hd_Registration.png|center|x500px|upright|SDS@hd Registration Process]]&lt;br /&gt;
&lt;br /&gt;
=== Step A: SV Membership ===&lt;br /&gt;
&lt;br /&gt;
You can either join an existing SV or start a new one. &lt;br /&gt;
&lt;br /&gt;
==== a) Join existing SV ====&lt;br /&gt;
To join an existing SV as a coworker: &lt;br /&gt;
# Your advisor (the SV responsible) will provide you with the following data on the SV:&lt;br /&gt;
#:* acronym&lt;br /&gt;
#:* password&lt;br /&gt;
# Login at [https://sds-hd.urz.uni-heidelberg.de/management/index.php?mode=mitarbeit SDS@hd Managementtool]&lt;br /&gt;
#: Provide the SV acronym and SV password.  &lt;br /&gt;
# After submitting the request, you will be assigned to the SV as a member and receive an email with the next steps. The SV owner (and SV managers) will be notified automatically.&lt;br /&gt;
&lt;br /&gt;
==== b) Apply for new SV ====&lt;br /&gt;
&lt;br /&gt;
This is typically done only by the leader of a scientific work group or the senior scientist of a research group/collaboration.&lt;br /&gt;
Any amount of co-workers can join your SV without having to register another project. You just need to provide them with the SV acronym and SV password. You&#039;ll receive this information via e-mail as soon as the SV application was successful. &lt;br /&gt;
&lt;br /&gt;
There are two steps: &lt;br /&gt;
# &#039;&#039;&#039;Get the permission / entitlement:&#039;&#039;&#039;. Your institution has to grant you the permission to start an SDS@hd storage project (&amp;quot;SDS@hd SV entitlement&amp;quot;). Please follow the procedure specific to your institution:&lt;br /&gt;
#: &amp;amp;rarr; see [[SDS@hd/Registration/Entitlement | Entitlement]].&lt;br /&gt;
# &#039;&#039;&#039;Apply for a new SV:&#039;&#039;&#039; &lt;br /&gt;
#: &amp;amp;rarr; Fill in the form at the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool].&lt;br /&gt;
&lt;br /&gt;
If you register your own SV, you will be:&lt;br /&gt;
* ...responsibe for providing new members with the necessary information to join the SV&lt;br /&gt;
*: &amp;amp;rarr; see [[#SV_Responsible:_Manage_the_SV_and_its_Members | SV Responsible: Manage the SV and its Members]]&lt;br /&gt;
* ...held accountable for the co-workers in the SV&lt;br /&gt;
* ...asked to provide information for the two reports required by the DFG for their funding of SDS@hd&lt;br /&gt;
* ...likely asked for a contribution to a future DFG grant proposal for an extension of the storage system in your area of research (&amp;quot;wissenschaftliches Beiblatt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step B: Registration for SDS@hd Service ===&lt;br /&gt;
[[File:bwServices_chooseHomeOrganisation.png|right|300px|thumb|Select your home organization]]&lt;br /&gt;
&lt;br /&gt;
After step 1 you have to register your personal account on the storage system and set a service password.&lt;br /&gt;
Please visit: &lt;br /&gt;
* [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de] &lt;br /&gt;
*# Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;&lt;br /&gt;
*# You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation  &lt;br /&gt;
*# Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
*# You will be redirected back to the registration website [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de/] &lt;br /&gt;
*# &amp;lt;div&amp;gt;Select unter &#039;&#039;&#039;The following services are available&#039;&#039;&#039; the service &#039;&#039;&#039;SDS@hd - Scientific Data Storage&#039;&#039;&#039; &lt;br /&gt;
*# Click &#039;&#039;&#039;Register&#039;&#039;&#039;&lt;br /&gt;
*# Finally, set a service password for authentication on SDS@hd&lt;br /&gt;
&lt;br /&gt;
=== Change Service Password at bwServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;rarr; &#039;&#039;&#039;[[Registration/bwForCluster/Helix#Setting_a_New_Service_Password | Setting a New Service Password]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/SV_Management&amp;diff=15750</id>
		<title>SDS@hd/SV Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/SV_Management&amp;diff=15750"/>
		<updated>2026-02-24T15:07:56Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added role descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Roles in a SV ==&lt;br /&gt;
There are four different roles in an SV. Depending on the role, different management activites can be executed at the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool]. These are described below. They include top level management of user access.&lt;br /&gt;
&lt;br /&gt;
=== SV Member or Guest ===&lt;br /&gt;
At the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool] members/guests can...&lt;br /&gt;
* ...view the status of your SV memberships (active/inactive)&lt;br /&gt;
* ...view the status of the SV (active/inactive, end date) (Removing people from the list completely is not possible, yet)&lt;br /&gt;
&lt;br /&gt;
=== SV Manager ===&lt;br /&gt;
Additionally to the abilities of a coworker, a manager can...&lt;br /&gt;
* ...change the status of SV members (active/inactive)&lt;br /&gt;
&lt;br /&gt;
=== SV Responsible (SVV) ===&lt;br /&gt;
Additionally to the abilities of a manager, the responsible can...&lt;br /&gt;
* ...enable others to join the SV&lt;br /&gt;
*# Provide them with the SV acronym. You can look it up at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool].&lt;br /&gt;
*# Povide them with the SV password. You&#039;ve received this password via email. You can reset it at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool]. &amp;lt;u&amp;gt;Caution&amp;lt;/u&amp;gt;: Make sure to share the SV password and not your personal service password which you set in registration step 2 at bwServices.&lt;br /&gt;
*# Afterwards, they can join by following the [[SDS@hd/Registration | registration steps]]. &lt;br /&gt;
* ...enable the guest folder&lt;br /&gt;
* ...change the role of SV members (guest/full member)&lt;br /&gt;
* ...change the SV password&lt;br /&gt;
* ...hand over the SV responsibility&lt;br /&gt;
* ...cancel the SV when it is not needed anymore&lt;br /&gt;
&lt;br /&gt;
== Yearly storage project (SV) extension ==&lt;br /&gt;
&lt;br /&gt;
Once a year the SV responsible person needs to apply for a lifetime extension of the storage project. As part of the application, you will be asked to inform us of publications for which the storage project was used. As long as SDS@hd is used appropriately, an extension will be granted.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15742</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15742"/>
		<updated>2026-02-24T00:41:43Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added hint on how to replace &amp;lt; &amp;gt;. Added info on how to look up the username on bwServices.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notation:&#039;&#039;&#039; Please replace all placeholder contents within guillemets &amp;lt;code&amp;gt;&amp;lt; &amp;gt;&amp;lt;/code&amp;gt; with the actual value. For example, replace &#039;&#039;&amp;lt;name_of_my_dog&amp;gt;&#039;&#039; with &#039;&#039;Fluffy&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* Username: You can look it up under your user data at [https://bwservices.uni-heidelberg.de/user/index.xhtml bwServices]. The username is &#039;&#039;&amp;lt;localPrimaryGroup&amp;gt;_&amp;lt;eduPersonPrincipalName&amp;gt;&#039;&#039; . (It is the same as for the bwHPC Clusters.)&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights with ACLs&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Please set ACLs either via the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server] or via bwForCluster Helix. ACL changes won&#039;t work when used locally on a mounted directory.&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; -&amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Maintance windows and known issues are communicated via the email list or the News section at the SDS@hd start page in the wiki. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other Issue&#039;&#039;&#039;&lt;br /&gt;
** If available, follow the troubleshooting guide of your specific connection method.&lt;br /&gt;
** Make sure to not use LAN and WLAN at the same time to prevent connection problems.&lt;br /&gt;
** If you have an institutional account, make sure to be a fully active member of your institution.&lt;br /&gt;
If these suggestions didn&#039;t help, write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
* Your operating system&lt;br /&gt;
* Does the access via webbrowser work? &lt;br /&gt;
*: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:MacSmb_ConnectWithUrl.png&amp;diff=15741</id>
		<title>File:MacSmb ConnectWithUrl.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:MacSmb_ConnectWithUrl.png&amp;diff=15741"/>
		<updated>2026-02-23T16:04:16Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: H Schumacher uploaded a new version of File:MacSmb ConnectWithUrl.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:MacSmb_login.png&amp;diff=15740</id>
		<title>File:MacSmb login.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:MacSmb_login.png&amp;diff=15740"/>
		<updated>2026-02-23T15:52:42Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: H Schumacher uploaded a new version of File:MacSmb login.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:WindowsSmb1_driveLetter.png&amp;diff=15739</id>
		<title>File:WindowsSmb1 driveLetter.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:WindowsSmb1_driveLetter.png&amp;diff=15739"/>
		<updated>2026-02-23T15:34:14Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: H Schumacher uploaded a new version of File:WindowsSmb1 driveLetter.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:WindowsSmb0_nonPerm_cut.png&amp;diff=15738</id>
		<title>File:WindowsSmb0 nonPerm cut.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:WindowsSmb0_nonPerm_cut.png&amp;diff=15738"/>
		<updated>2026-02-23T15:24:49Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: H Schumacher uploaded a new version of File:WindowsSmb0 nonPerm cut.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15737</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15737"/>
		<updated>2026-02-23T14:57:36Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: added link to access page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information (&amp;amp;rarr; see [[SDS@hd/Access|SDS@hd/Access]]):&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Preparations =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create locally an empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mount -t cifs -o username=&amp;lt;username&amp;gt;,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; &amp;lt;/mnt/sds-hd&amp;gt;&lt;br /&gt;
&amp;gt; Password:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open /etc/fstab&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# Add the following&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   &amp;lt;/path/to/empty/folder&amp;gt;   cifs  uid=1000,gid=1000,user,vers=3,mfsymlinks,credentials=&amp;lt;$HOME/.credentialsfile&amp;gt;,noauto  0 0&lt;br /&gt;
# Make the system use the changed file &lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Make credentialsfile&lt;br /&gt;
cat /&amp;lt;$HOME/.credentialsfile&amp;gt;&lt;br /&gt;
username=ab_ xy123&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
# Mount by providing the same path as was used in /etc/fstab&lt;br /&gt;
mount &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Check details =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
df -h | grep mnt&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007   108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
mount | grep lsdf02&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs &amp;gt; (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Remove mount =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount &amp;lt;/path/to/mounted/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\&amp;lt;username&amp;gt;&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\&amp;lt;username&amp;gt;&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\&amp;lt;username&amp;gt;&#039;&lt;br /&gt;
Enter BWSERVICESAD\&amp;lt;username&amp;gt;&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/Rclone&amp;diff=15734</id>
		<title>Data Transfer/Rclone</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/Rclone&amp;diff=15734"/>
		<updated>2026-02-16T16:12:21Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: added oneliner for webdav&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[https://rclone.org/docs/ Rclone] is a command line tool to manage files on remote systems (e.g. cloud storage systems). Rclone either synchronizes in one direction only or its mounting functionality is used with &amp;lt;code&amp;gt;rclone mount&amp;lt;/code&amp;gt;. Data can be piped between two completely remote locations, sometimes without local download. One advantage is that the transfer is multithreaded and it operates on a file level basis.  &lt;br /&gt;
&#039;&#039;&#039;Caution:&#039;&#039;&#039; You can&#039;t use Rclone with 2FA.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Rclone is a Go program and comes as a single binary file.&lt;br /&gt;
&lt;br /&gt;
# Download the relevant binary.&lt;br /&gt;
# Extract the &amp;lt;code&amp;gt;rclone&amp;lt;/code&amp;gt; executable, &amp;lt;code&amp;gt;rclone.exe&amp;lt;/code&amp;gt; on Windows, from the archive.&lt;br /&gt;
# You can use the executables without further installation. For easy use, it is recommended to add the binary to your PATH environment variable. Information on how to do this can be found below.&lt;br /&gt;
&lt;br /&gt;
Detailed information regarding different operating systems can be found here:&lt;br /&gt;
&lt;br /&gt;
* Installation on [https://rclone.org/install/#windows Windows]&lt;br /&gt;
* Installation on [https://rclone.org/install/#macos macOS]&lt;br /&gt;
* Installation on [https://rclone.org/install/#script-installation Linux]&lt;br /&gt;
&lt;br /&gt;
== Usage Rclone ==&lt;br /&gt;
&lt;br /&gt;
To use Rclone you have to define a config file. Afterwards you can connect by using the name of your configured connections. &lt;br /&gt;
&lt;br /&gt;
=== Configure Remote ===&lt;br /&gt;
&lt;br /&gt;
Before you can start using Rclone, you need to set up a remote. This means to configure a specific connection by providing authentication information, the network protocol that you want to use and a name for this configuration so that you can use it later on.&lt;br /&gt;
&lt;br /&gt;
To configure a remote for a specific service, you need the following information:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;remotehost&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;servicePassword&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you have to decide on: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;network protocol&amp;lt;/code&amp;gt; (for example webDAV, smb, sftp)&lt;br /&gt;
* &amp;lt;code&amp;gt;remote-name&amp;lt;/code&amp;gt; (for example you can use the name of the service you want to connect to)&lt;br /&gt;
&lt;br /&gt;
You have three different options to set up a new remote which are explained by the following sections. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 1.1em; text-decoration: underline;&amp;quot;&amp;gt;&#039;&#039;&#039;Interactive Setup&#039;&#039;&#039; &amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone config&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will guide you through an interactive setup process. You can find detailed instructions at the website: &lt;br /&gt;
&lt;br /&gt;
* [https://rclone.org/webdav/ Connect via webdav]&lt;br /&gt;
* [https://rclone.org/smb/ Connect via smb]&lt;br /&gt;
* [https://rclone.org/sftp/ Connect via sftp]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 1.1em; text-decoration: underline;&amp;quot;&amp;gt;&#039;&#039;&#039;Oneliner&#039;&#039;&#039; &amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Define all parameters in one command. For example:  &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;# sftp&lt;br /&gt;
rclone config create &amp;lt;remote-name&amp;gt; sftp host=&amp;lt;remotehost&amp;gt; user=&amp;lt;username&amp;gt; pass=&amp;lt;password&amp;gt; --obscure&lt;br /&gt;
# webdav&lt;br /&gt;
rclone config create &amp;lt;remote-name&amp;gt; webdav url=&amp;lt;remotehost&amp;gt; user=&amp;lt;username&amp;gt; pass=&amp;lt;password&amp;gt; --obscure&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 1.1em; text-decoration: underline;&amp;quot;&amp;gt;&#039;&#039;&#039;Adjust Config File&#039;&#039;&#039; &amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To see, where the file is run: &amp;lt;code&amp;gt;rclone config file&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
You can use the following snippet as template for your connections.  &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;[&amp;lt;remote-name&amp;gt;]&lt;br /&gt;
type = webdav&lt;br /&gt;
url = &amp;lt;hostURL&amp;gt;&lt;br /&gt;
vendor = other&lt;br /&gt;
user = &amp;lt;userID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;remote-name&amp;gt;]&lt;br /&gt;
type = sftp&lt;br /&gt;
host = &amp;lt;hostname&amp;gt;&lt;br /&gt;
user = &amp;lt;userID&amp;gt;&lt;br /&gt;
key_use_agent = false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To add the password, please use &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;rclone config update &amp;lt;remote-name&amp;gt; pass=&amp;lt;password&amp;gt; --obscure&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use Remote ===&lt;br /&gt;
&lt;br /&gt;
The syntax to use Rclone is like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone [options] subcommand &amp;lt;parameters&amp;gt; &amp;amp;lt;parameters...&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
List all directories/containers/buckets in the folder XX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone lsd &amp;lt;remote-name&amp;gt;:XX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Copies /local/path to the remote path&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone copy &amp;amp;lt;/local/path&amp;amp;gt; &amp;lt;remote-name&amp;gt;:&amp;amp;lt;remote/path&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Copies fom remote path to /local/path&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone copy &amp;lt;remote-name&amp;gt;:&amp;amp;lt;remote/path&amp;amp;gt; &amp;amp;lt;/local/path&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Moves the contents of the source directory to the destination directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone move &amp;lt;remote-name&amp;gt;:&amp;amp;lt;source/path&amp;amp;gt; &amp;lt;remote-name&amp;gt;:&amp;amp;lt;destination/path&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
More subcommands can be found [https://rclone.org/docs/#subcommands here].&lt;br /&gt;
&lt;br /&gt;
== Usage Rclone Mount ==&lt;br /&gt;
&lt;br /&gt;
Before you can follow the instructions in this chapter, you need to have set up a [[Data_Transfer/Rclone#Usage_Rclone | remote]].&lt;br /&gt;
Detailed information on how to use rclone mount can be found [https://rclone.org/commands/rclone_mount/ here].&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
To run rclone mount on Windows, you will need to [https://winfsp.dev/rel/ download and install WinFsp]. To mount on drive letter X or a nonexistent subdirectory, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;rclone mount &amp;amp;lt;remote-name&amp;amp;gt;:path/to/files X:&lt;br /&gt;
rclone mount &amp;amp;lt;remote-name&amp;amp;gt;:path/to/files C:\path\parent\mount&amp;lt;/pre&amp;gt;&lt;br /&gt;
In contrast to Linux/Mac, there is no background mode.&lt;br /&gt;
&lt;br /&gt;
=== MacOS &amp;amp; Linux ===&lt;br /&gt;
&lt;br /&gt;
You can run mount in either foreground or background (aka daemon) mode. Mount runs in foreground mode by default. Use the &amp;lt;code&amp;gt;--daemon&amp;lt;/code&amp;gt; flag to force background mode. If this doesn&#039;t work, you can put an &amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt; at the end of the command instead. &lt;br /&gt;
&lt;br /&gt;
Create an empty directory on your local machine and then execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# to mount the root folder:&lt;br /&gt;
rclone mount --vfs-cache-mode full &amp;amp;lt;remote-name&amp;amp;gt;: /path/to/empty/folder &lt;br /&gt;
# to mount a subfolder:&lt;br /&gt;
rclone mount --vfs-cache-mode full &amp;amp;lt;remote-name&amp;amp;gt;:folderX/folderY /path/to/empty/folder &lt;br /&gt;
# to unmount:&lt;br /&gt;
fusermount -uz /path/to/mounted/folder &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
Rclone has a lot of useful options. &lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
To be able to utilize a larger bandwidth, it is helpful to add the following options for increased performance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--transfers &amp;lt;int&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of file transfers to run in parallel (default: 4). Depending on the local Network, read and write speeds on the file system, and current load, different values might be best. For large transfers, it is advised to test local performance with different values beforehand. &lt;br /&gt;
&lt;br /&gt;
* In our tests, we observed the best results between 8 and 32.&lt;br /&gt;
* For regular use cases, we recommend 16 as the default.&lt;br /&gt;
* Values above 64 are not recommended and degrade performance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--multi-thread-streams &amp;lt;int&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of streams to use for multithreaded downloads (default: 4). Only important on very large files. This will cause multithreaded up/download on chunk-sized bits of the file.&lt;br /&gt;
&lt;br /&gt;
The optimal value is highly specific to the local network and used Hardware. For regular use cases, we recommend 4 as the default.&lt;br /&gt;
&lt;br /&gt;
=== Debugging and Statistics ===&lt;br /&gt;
To get updates on current progress, use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Interval between printing stats, e.g. 500ms, 60s, 5m (0 to disable) (default 1m0s).  &lt;br /&gt;
&lt;br /&gt;
To get debug information, use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--log-level=DEBUG &lt;br /&gt;
--stats-log-level=DEBUG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15689</id>
		<title>Helix/bwVisu/JupyterLab</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15689"/>
		<updated>2026-01-16T15:34:15Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://jupyter.org/ JupyterLab] is an integrated development environment (IDE) that provides a flexible and scalable interface for the Jupyter Notebook system. It supports interactive data science and scientific computing across over 40 programming languages (including Python, Julia, and R).&lt;br /&gt;
&lt;br /&gt;
== Change Python Version ==&lt;br /&gt;
&lt;br /&gt;
The default python version can be seen by running &amp;lt;code&amp;gt;python --version&amp;lt;/code&amp;gt; in the terminal. &lt;br /&gt;
&lt;br /&gt;
A different python version can be installed into a new virtual environment and then registered as IPython kernel for the usage in JupyterLab. This is explained in the chapter [[#Add_packages_via_conda_environments | add packages via conda environments]].&lt;br /&gt;
&lt;br /&gt;
== Install Python Packages ==&lt;br /&gt;
&lt;br /&gt;
Python packages can be added by installing them into a virtual environment and then creating an IPython kernel from the virtual environment. &amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Kernels can be shared&amp;lt;/u&amp;gt;. See the notes below. &amp;lt;/br&amp;gt;&lt;br /&gt;
If you want to move a virtual environment, it is adivsed to recreate it in the new place. Otherwise, dependencies based on relative paths will break. &lt;br /&gt;
&lt;br /&gt;
# Create a virtual environment with...&lt;br /&gt;
#* [[#Add_packages_via_venv_virtual_environments | ...venv]] or&lt;br /&gt;
#* [[#Add_packages_via_Conda_virtual_environments | ...conda]] (choose this option if you want to install a different python version) or &lt;br /&gt;
#* ...[https://docs.astral.sh/uv/getting-started/ uv] if you want to install a different python version but don&#039;t want to use conda. &lt;br /&gt;
# [[#Create_an_IPython_Kernel | Create an IPython kernel]] from the virtual environment&lt;br /&gt;
# Use the kernel within JupyterLab&lt;br /&gt;
#* By default new kernels are saved under &amp;lt;code&amp;gt;~/.local/share/jupyter&amp;lt;/code&amp;gt; and this location is automatically detected. Therefore, new kernels are directly available. &lt;br /&gt;
[[File:BwVisu JuypterLab KernelPath.png|In the JupyterLab job configuration form, a custom kernel path can be provided.|right|thumb|x150px]]&lt;br /&gt;
#* If the kernel is saved somewhere else, the path can be provided in the &amp;quot;Kernel path&amp;quot; field when configuring the JupyterLab job (see image). For a kernel placed under &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter/kernels/my_kernel&amp;lt;/code&amp;gt; the needed path would be &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Notes regarding the sharing of IPython kernels&amp;lt;/u&amp;gt;&lt;br /&gt;
* The virtual environment and the kernel need to be placed in a shared directory. For example at SDS@hd.&lt;br /&gt;
* There could be a subdirectory for the virtual environments and one for the kernels. &lt;br /&gt;
* The path to the kernels is saved in the environment variable $JUPYTER_DATA_DIR. Jupyter relevant paths can be seen with &amp;lt;code&amp;gt;jupyter --paths&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via &#039;&#039;venv&#039;&#039; virtual environments ===&lt;br /&gt;
More information about venv or other python virtual environments can be found at the [[Development/Python | Python]] page. &lt;br /&gt;
&lt;br /&gt;
Steps for creating a &#039;&#039;&#039;venv&#039;&#039;&#039; virtual environment:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual evironment: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m venv &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;env_parent_dir&amp;lt;/code&amp;gt; is the path to the folder where the virtual environment shall be created. Relative paths can be used.&lt;br /&gt;
* Caution: If you you want to share the environment with others, make sure to already create it in the shared place. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;source &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;/bin/activate&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update pip and install packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install -U pip&lt;br /&gt;
pip install &amp;lt;packagename&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via Conda virtual environments ===&lt;br /&gt;
More information about using conda can be found at the [[Development/Conda | Conda]] page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Load the miniforge module by clicking first on the blue hexagon icon on the left-hand side of Jupyter&#039;s start page and then on the &amp;amp;quot;load&amp;amp;quot; button right of the entry for miniforge in the software module menu. &lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual environment: &lt;br /&gt;
* If you are the only person using the environment, you can install it in your home directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --name &amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If you want to install it into a different directory, for example a shared place:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --prefix &amp;lt;path_to_shared_directory&amp;gt;/&amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate your environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda activate &amp;lt;myenv&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install your packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda install &amp;lt;mypackage&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_Kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create an IPython Kernel ==&lt;br /&gt;
&lt;br /&gt;
Python kernels are implementations of the Jupyter notebook environment for different languages or virtual environments. You can switch between kernels easily, allowing you to use the best tool for a specific task.&lt;br /&gt;
conda_kernels&lt;br /&gt;
&lt;br /&gt;
=== Create a kernel from a virtual environment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the virtual environment.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install the ipykernel package:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install ipykernel&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Register the virtual environment as custom kernel to Jupyter. &lt;br /&gt;
* If you are the only person using the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --user --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can be found under &amp;lt;code&amp;gt;~/.local/share/jupyter/kernels/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If you installed the environment in a shared place and want to have the kernel there as well: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --prefix &amp;lt;path_to_kernel_folder&amp;gt; --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can then be found under &amp;lt;code&amp;gt;path_to_kernel_folder/share/jupyter/kernels/&amp;lt;kernel_name&amp;gt;&amp;lt;/code&amp;gt;. As long as the same &amp;lt;code&amp;gt;path_to_kernel_folder&amp;lt;/code&amp;gt; is used, all kernels will be saved next to each other in &amp;quot;kernels&amp;quot;. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Language Support ===&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports over 40 programming languages including Python, R, Julia, and Scala. This is achieved through the use of different kernels.&lt;br /&gt;
&lt;br /&gt;
==== R Kernel ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ module load math/R&lt;br /&gt;
$ R&lt;br /&gt;
&amp;amp;gt; install.packages(&#039;IRkernel&#039;)&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On bwVisu:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start Jupyter App&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In left menu: load math/R&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Console:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ R&lt;br /&gt;
&amp;amp;gt; IRkernel::installspec(displayname = &#039;R 4.2&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Start kernel &#039;R 4.2&#039; as console or notebook&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Julia Kernel ====&lt;br /&gt;
&lt;br /&gt;
Load the math/julia module. Open the Terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
julia&lt;br /&gt;
]&lt;br /&gt;
add IJulia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, Julia is available as a kernel.&lt;br /&gt;
&lt;br /&gt;
== Interactive Widgets ==&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports interactive widgets that can create UI controls for interactive data visualization and manipulation within the notebooks. Example of using an interactive widget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;{.python&amp;quot;&amp;gt;from ipywidgets import IntSlider&lt;br /&gt;
slider = IntSlider()&lt;br /&gt;
display(slider)&amp;lt;/pre&amp;gt;&lt;br /&gt;
These widgets can be sliders, dropdowns, buttons, etc., which can be connected to Python code running in the backend.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&#039;&#039;&#039;My conda commands are interrupted with message &#039;Killed&#039;.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Request more memory when starting Jupyter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;How can I navigate to my SDS@hd folder in the file browser?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Open a terminal and set a symbolic link to your SDS@hd folder in your home directory. For example:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Jupyterlab doesn&#039;t let me in but asks for a password.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Try using more memory for the job. If this doesn&#039;t help, try using the inkognito mode of your browser as the browser cache might be the problem.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;I prefer VSCode over JupyterLab. Can I start a JupyterLab job and then connect with it via VSCode?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
This is not possible. Please start the job directly on Helix instead. You can find the instructions at the [[Development/VS_Code#Connect_to_Remote_Jupyter_Kernel | VSCode page]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/WebDAV&amp;diff=15688</id>
		<title>Data Transfer/WebDAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Data_Transfer/WebDAV&amp;diff=15688"/>
		<updated>2026-01-15T16:14:12Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added file browser connection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
WebDAV is a network protocol used for data transfer. It is based on http and offers a faster and more robust connection than [[Data_Transfer/SFTP|sftp]]. The suitability for permanent connections depends highly on the used client. We advise the Rclone client. Instructions are given at the [[Data_Transfer/Rclone|Rclone page]]. See [https://rclone.org/webdav/ rclone webdav config docs] for more details.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
It is recommended to follow the instructions for setting up the tool [[Data_Transfer/Rclone | Rclone]] with the WebDAV protocol as you can&#039;t work with files greater than 4 GiB or mount more than 16 TB overall if you are using WebDAV via Windows Explorer. If you want to set up the connection via Windows Explorer nevertheless, you can follow the instructions for establishing a permanent connection with [[SDS@hd/Access/SMB|smb]]. Replace the smb network path with the WebDAV URL and use your regular username of the service that you want to connect to. &lt;br /&gt;
&lt;br /&gt;
=== MacOS &amp;amp; Linux ===&lt;br /&gt;
&lt;br /&gt;
It is recommended to follow the instructions for setting up the tool [[Data_Transfer/Rclone | Rclone]] with the WebDAV protocol.&lt;br /&gt;
&lt;br /&gt;
You can do the connection via file browser as well. &lt;br /&gt;
* For Mac follow the [[SDS@hd/Access/SMB#MacOS | smb instructions]] but replace the smb network path with the WebDAV URL and use your regular username of the service that you want to connect to. &lt;br /&gt;
* For Linux find the option to enter a server address in your file browser (in Ubuntu/Gnome it&#039;s called &amp;quot;Other Locations&amp;quot; in the left sidebar). Enter &amp;lt;pre&amp;gt;davs://&amp;lt;webdav_url&amp;gt;/&amp;lt;folder&amp;gt;&amp;lt;/pre&amp;gt;.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15687</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15687"/>
		<updated>2026-01-15T15:50:45Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Moved smbclient section to the end of the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Preparations =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create locally an empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mount -t cifs -o username=&amp;lt;username&amp;gt;,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; &amp;lt;/mnt/sds-hd&amp;gt;&lt;br /&gt;
&amp;gt; Password:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open /etc/fstab&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# Add the following&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   &amp;lt;/path/to/empty/folder&amp;gt;   cifs  uid=1000,gid=1000,user,vers=3,mfsymlinks,credentials=&amp;lt;$HOME/.credentialsfile&amp;gt;,noauto  0 0&lt;br /&gt;
# Make the system use the changed file &lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Make credentialsfile&lt;br /&gt;
cat /&amp;lt;$HOME/.credentialsfile&amp;gt;&lt;br /&gt;
username=ab_ xy123&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
# Mount by providing the same path as was used in /etc/fstab&lt;br /&gt;
mount &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Check details =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
df -h | grep mnt&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007   108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
mount | grep lsdf02&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs &amp;gt; (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Remove mount =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount &amp;lt;/path/to/mounted/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\&amp;lt;username&amp;gt;&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\&amp;lt;username&amp;gt;&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\&amp;lt;username&amp;gt;&#039;&lt;br /&gt;
Enter BWSERVICESAD\&amp;lt;username&amp;gt;&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15686</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15686"/>
		<updated>2026-01-15T15:44:39Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Tidied up section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\hd_xy123&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\hd_xy123&#039;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Preparations =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create locally an empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mount -t cifs -o username=&amp;lt;username&amp;gt;,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; &amp;lt;/mnt/sds-hd&amp;gt;&lt;br /&gt;
&amp;gt; Password:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open /etc/fstab&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# Add the following&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   &amp;lt;/path/to/empty/folder&amp;gt;   cifs  uid=1000,gid=1000,user,vers=3,mfsymlinks,credentials=&amp;lt;$HOME/.credentialsfile&amp;gt;,noauto  0 0&lt;br /&gt;
# Make the system use the changed file &lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Make credentialsfile&lt;br /&gt;
cat /&amp;lt;$HOME/.credentialsfile&amp;gt;&lt;br /&gt;
username=ab_ xy123&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
# Mount by providing the same path as was used in /etc/fstab&lt;br /&gt;
mount &amp;lt;/path/to/empty/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Check details =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
df -h | grep mnt&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007   108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
mount | grep lsdf02&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs &amp;gt; (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Remove mount =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount &amp;lt;/path/to/mounted/folder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15685</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15685"/>
		<updated>2026-01-15T15:18:14Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: changed formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\hd_xy123&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\hd_xy123&#039;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Tbd. Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# new instructions&lt;br /&gt;
# install smbclient&lt;br /&gt;
# install ... see https://www.linode.com/docs/guides/linux-mount-smb-share/&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# add (leave out gid? gid needs explanation)&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   /mnt/mountpoint   cifs  user,vers=3,mfsymlinks,credentials=~/credentials,noauto  0 0&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
mount -t cifs -o username=hd_ac294,domain=BWSERVICESAD,vers=3,mfsymlinks //lsdf02.urz.uni-heidelberg.de/sd17D005 /mnt/mountpoint&lt;br /&gt;
# credentials&lt;br /&gt;
username=&amp;lt;username&amp;gt;&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/mnt/sds-hd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Mount&lt;br /&gt;
sudo mount -t cifs -o username=&amp;lt;username&amp;gt;,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; &amp;lt;/mnt/sds-hd&amp;gt;&lt;br /&gt;
&amp;gt; Password:&lt;br /&gt;
&lt;br /&gt;
# Check the details&lt;br /&gt;
df -h | grep mnt&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007   108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
mount | grep lsdf02&lt;br /&gt;
&amp;gt; //lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs &amp;gt; (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/mnt/mountpoint&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Open /etc/fstab&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# Add the following&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   &amp;lt;mnt/mountpoint&amp;gt;   cifs  uid=1000,gid=1000,user,vers=3,mfsymlinks,credentials=&amp;lt;$HOME/credentialsfile&amp;gt;,noauto  0 0&lt;br /&gt;
&lt;br /&gt;
# Make credentialsfile&lt;br /&gt;
cat /&amp;lt;$HOME/credentialsfile&amp;gt;&lt;br /&gt;
username=ab_ xy123&lt;br /&gt;
password=&amp;lt;servicepassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
# Invoke the prepared mount&lt;br /&gt;
mount &amp;lt;/mnt/mountpoint&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Check the details&lt;br /&gt;
mount | grep cifs &lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/mountpoint type cifs (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15684</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15684"/>
		<updated>2026-01-15T15:08:38Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\hd_xy123&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\hd_xy123&#039;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Tbd. Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# new instructions&lt;br /&gt;
# install smbclient&lt;br /&gt;
# install ... see https://www.linode.com/docs/guides/linux-mount-smb-share/&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# add (leave out gid? gid needs explanation)&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   /mnt/mountpoint   cifs  user,vers=3,mfsymlinks,credentials=~/credentials,noauto  0 0&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
mount -t cifs -o username=hd_ac294,domain=BWSERVICESAD,vers=3,mfsymlinks //lsdf02.urz.uni-heidelberg.de/sd17D005 /mnt/mountpoint&lt;br /&gt;
# credentials&lt;br /&gt;
username=&amp;lt;username&amp;gt;&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir /mnt/sds-hd&lt;br /&gt;
&lt;br /&gt;
$ sudo mount -t cifs -o username=hd_xy123,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; /mnt/sds-hd&lt;br /&gt;
Password:&lt;br /&gt;
&lt;br /&gt;
$ df -h | grep sds-hd&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007  108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
&lt;br /&gt;
$ cd /mnt/sds-hd/&lt;br /&gt;
$ ls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Verify the success of the mount invoking the mount command without any arguments:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mount | grep lsdf02&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create empty directory to mount to&lt;br /&gt;
mkdir &amp;lt;/mnt/mountpoint&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Open /etc/fstab&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# Add the following&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   &amp;lt;mnt/mountpoint&amp;gt;   cifs  uid=1000,gid=1000,user,vers=3,mfsymlinks,credentials=&amp;lt;$HOME/credentialsfile&amp;gt;,noauto  0 0&lt;br /&gt;
&lt;br /&gt;
# Make credentialsfile&lt;br /&gt;
cat /&amp;lt;$HOME/credentialsfile&amp;gt;&lt;br /&gt;
username=ab_ xy123&lt;br /&gt;
password=&amp;lt;servicepassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
# Invoke the prepared mount&lt;br /&gt;
mount &amp;lt;/mnt/mountpoint&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Check the details&lt;br /&gt;
mount | grep cifs &lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/mountpoint type cifs (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15683</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15683"/>
		<updated>2026-01-15T12:28:58Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added some points&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* [[Registration/Login/Username| Username]]: Same as for the bwHPC Clusters&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights with ACLs&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Please set ACLs either via the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server] or via bwForCluster Helix. ACL changes won&#039;t work when used locally on a mounted directory.&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; -&amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Maintance windows and known issues are communicated via the email list or the News section at the SDS@hd start page in the wiki. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other Issue&#039;&#039;&#039;&lt;br /&gt;
** If available, follow the troubleshooting guide of your specific connection method.&lt;br /&gt;
** Make sure to not use LAN and WLAN at the same time to prevent connection problems.&lt;br /&gt;
** If you have an institutional account, make sure to be a fully active member of your institution.&lt;br /&gt;
If these suggestions didn&#039;t help, write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
* Your operating system&lt;br /&gt;
* Does the access via webbrowser work? &lt;br /&gt;
*: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15681</id>
		<title>SDS@hd/Access/SMB</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access/SMB&amp;diff=15681"/>
		<updated>2026-01-13T17:09:50Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Troubleshooting section added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMB is a Server Message Block protocol. It has different implementations: CIFS (outdated), SMB2, SMB3, Samba&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
The SMB connection has to be established at least with protocol version SMB2.02, which is available since Windows Vista or OSX 10.7, and a NTLMv2 authentication level of &amp;amp;quot;Send NTLMv2 responses only&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Use a SMB share via Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;service_password&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path&#039;&#039;&#039; in UNC syntax &#039;&#039;&#039;:&#039;&#039;&#039; &amp;lt;code&amp;gt;\\lsdf02.urz.uni-heidelberg.de\&amp;lt;sv_acronym&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the Windows Explorer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;a) To establish a &#039;&#039;&#039;non-permanent connection&#039;&#039;&#039;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click on the address bar, which is located at the top of the Explorer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the network path and press Enter.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:WindowsSmb0_nonPerm_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;p&amp;gt;b) To establish a &#039;&#039;&#039;permanent connection&#039;&#039;&#039; by creating a network (pseudo) drive:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;amp;quot;This PC&amp;amp;quot;. At the top of the window, click on &#039;&#039;Computer&#039;&#039; and select &#039;&#039;Map network drive&#039;&#039;.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:windowsSmb0_connect_network_drive_cut.png|center|700px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose a drive letter to be associated with the network drive and enter the network path. Select &#039;&#039;use a different identification&#039;&#039;, as these differ from your credentials used locally.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb1_driveLetter.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;You will then be prompted to enter your credentials.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:windowsSmb2_password.png|center|x400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After logging in successfully, your network drive will appear under &#039;&#039;This PC&#039;&#039;. You can now manipulate your files as accustomed.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Errors:&lt;br /&gt;
*:* This network folder is currently connected under a different name and password. Disconnect the already existing connection.&lt;br /&gt;
*:* Multiple connections to a server from the same user while using different usernames is not allowed.&lt;br /&gt;
*:* Disconnect old connections. &lt;br /&gt;
*:: Solutions:&lt;br /&gt;
*::* Disconnect already exsting connections: Right click on &amp;quot;My PC&amp;quot;. Click &amp;quot;Further Options&amp;quot;. Click &amp;quot;Disconnect Drives&amp;quot;. Keep in mind that Windows can&#039;t connect multiple network drives when they have different login information.&lt;br /&gt;
*::* Remove / adjust the login information by going to the credential management (Anmeldeinformationsverwaltung).&lt;br /&gt;
* Error: &amp;quot;Your domain is not available. Make sure that you&#039;re connected to your organizational network.&amp;quot; &lt;br /&gt;
*: Solutions:&lt;br /&gt;
*:* Make sure to be in the correct network, for example by connecting via VPN.&lt;br /&gt;
*:* Do not use LAN and WLAN at the same time.&lt;br /&gt;
&lt;br /&gt;
== MacOS ==&lt;br /&gt;
&lt;br /&gt;
Create a network drive with Finder.&lt;br /&gt;
&lt;br /&gt;
=== Needed Information ===&lt;br /&gt;
&lt;br /&gt;
You need the following information:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Username:&#039;&#039;&#039; &amp;lt;code&amp;gt;BWSERVICESAD\&amp;amp;lt;username&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Password:&#039;&#039;&#039; &#039;&#039;ServicePassword&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Network Path:&#039;&#039;&#039; smb://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Open Finder&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the menu bar click on &#039;&#039;Go&#039;&#039; -&amp;gt; &#039;&#039;Connect to Server&#039;&#039; (or use ⌘+K)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Insert server address and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_ConnectWithUrl.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Insert username and password and click &#039;&#039;Connect&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:macSmb_login.png|center|x400px]]&lt;br /&gt;
&amp;lt;li&amp;gt;Finder opens new connected SMB share &lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
A UNIX like operating system needs a CIFS client to use a share. CIFS clients are part of Samba implementation for Linux and other UNIX like operating systems (http://www.samba.org)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention:&#039;&#039;&#039; &lt;br /&gt;
The core CIFS protocol does not provide unix ownership information or mode for files and directories. &lt;br /&gt;
Because of this, files and directories will generally appear to be owned by whatever values the uid= or gid= options are set, and will have permissions set to the default file_mode and dir_mode for the mount. &#039;&#039;&#039;Attempting to change these values via chmod/chown will return success but have no effect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For security reasons, server side permission checks cannot be overriden. The permission checks done by the server will always correspond to the credentials used to mount the share, and not necessarily to the user who is accessing the share.&lt;br /&gt;
&lt;br /&gt;
Although mapping of POSIX UIDs and SIDs is not needed mounting a CIFS share &#039;&#039;&#039;it might become necessary when working with files on the share, e.g. when modifying ACLs&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
For this reason the mount option &amp;lt;pre&amp;gt;cifsacl&amp;lt;/pre&amp;gt; together with a working &#039;&#039;&#039;ID Mapping&#039;&#039;&#039; setup is required, to allow correct permission handling and changes. It offers also the tools &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
getcifsacl&lt;br /&gt;
setcifsacl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to work with ACLs.&lt;br /&gt;
&lt;br /&gt;
With version 5.9 of cifs-utils a plugin interface was introduced by Jeff Layton to allow services other than winbind to handle the mapping of POSIX UIDs and SIDs. SSSD will provide a plugin to allow the cifs-utils to ask SSSD to map the ID. With this plugin a SSSD client can access a CIFS share with the same functionality as a client running Winbind.&lt;br /&gt;
&lt;br /&gt;
For this reason we can use the same [[Sds-hd_nfs#configure kerberos environment for SDS@hd|SSSD setup]] for cifs like we use for the kerberized nfs-Setup. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SMB Client ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
To list the files in a SMB share, use the program smbclient.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
smbclient -U &#039;BWSERVICESAD\hd_xy123&#039;  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The program allows you to access the files with a FTP like tool in an interactive shell.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ smbclient //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; -U &#039;BWSERVICESAD\hd_xy123&#039;&lt;br /&gt;
Enter BWSERVICESAD\hd_xy123&#039;s password:&lt;br /&gt;
smb: \&amp;gt; ls&lt;br /&gt;
  .                    D        0  Thu Apr 23 12:51:48 2020&lt;br /&gt;
  ..                   D        0  Wed Apr 22 21:54:04 2020&lt;br /&gt;
  bench                D        0  Fri Jul 26 10:24:05 2019&lt;br /&gt;
  benchmark_test       D        0  Tue Oct 30 16:12:21 2018&lt;br /&gt;
  checksums            D        0  Mon Sep 18 10:24:21 2017&lt;br /&gt;
  test.multiuser       A        6  Thu Apr 23 12:36:07 2020&lt;br /&gt;
  test                 A        7  Thu Apr 23 09:38:13 2020&lt;br /&gt;
  .....&lt;br /&gt;
  .snapshots         DHR        0  Thu Jan  1 01:00:00 1970&lt;br /&gt;
&lt;br /&gt;
                115343360000 blocks of size 1024. 108260302848 blocks available&lt;br /&gt;
smb:\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mounting a SDS@hd Share ===&lt;br /&gt;
&lt;br /&gt;
Mounting a SDS@hd CIFS share can be done by using username/password credentials or by using kerberos tickets.&lt;br /&gt;
Information about settting up a kerberos environment for SDS@hd can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Tbd. Single-User Environment ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# new instructions&lt;br /&gt;
# install smbclient&lt;br /&gt;
# install ... see https://www.linode.com/docs/guides/linux-mount-smb-share/&lt;br /&gt;
sudo nano /etc/fstab&lt;br /&gt;
# add (leave out gid? gid needs explanation)&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   /mnt/mountpoint   cifs  user,vers=3,mfsymlinks,credentials=~/credentials,noauto  0 0&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
mount -t cifs -o username=hd_ac294,domain=BWSERVICESAD,vers=3,mfsymlinks //lsdf02.urz.uni-heidelberg.de/sd17D005 /mnt/mountpoint&lt;br /&gt;
# credentials&lt;br /&gt;
username=&amp;lt;username&amp;gt;&lt;br /&gt;
password=&amp;lt;servicePassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A share can be mounted to a local directory, (e.g. /mnt/sds-hd ). Depending on your system setup, root privileges may be required. &lt;br /&gt;
&lt;br /&gt;
CIFS normally binds all shares on the client as the property of the user who mounted them and transfers any existing write rights only to the user. With additional information from uid, gid, file_mode and dir_mode, other ownership and access rights can be defined when mounting on the client. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nevertheless the ownership and access rights defined in this way are only simulated on the client and are not really transferred to the server.&#039;&#039;&#039; If access rights are changed on the client or files with other owners are created in shared folders, these changes only apply to the client and only until the next remount.&lt;br /&gt;
&lt;br /&gt;
If you need to work with the correct server side permissions, please follow the setup of a [[SDS@hd/Access/CIFS#Multiuser Environment|MultiUser Setup]]&lt;br /&gt;
&lt;br /&gt;
===== Mount over command line =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir /mnt/sds-hd&lt;br /&gt;
&lt;br /&gt;
$ sudo mount -t cifs -o username=hd_xy123,domain=BWSERVICESAD,vers=3,mfsymlinks  //lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym&amp;gt; /mnt/sds-hd&lt;br /&gt;
Password:&lt;br /&gt;
&lt;br /&gt;
$ df -h | grep sds-hd&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007  108T    6,6T  101T    7% /mnt/sds-hd&lt;br /&gt;
&lt;br /&gt;
$ cd /mnt/sds-hd/&lt;br /&gt;
$ ls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Verify the success of the mount invoking the mount command without any arguments:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mount | grep lsdf02&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/sds-hd type cifs (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Mount over /etc/fstab =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir /mnt/mountpoint&lt;br /&gt;
&lt;br /&gt;
/etc/fstab&lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/&amp;lt;sv_acronym&amp;gt;   /mnt/mountpoint   cifs  uid=&amp;lt;YOUR_UID&amp;gt;,gid=&amp;lt;YOUR_GID&amp;gt;,user,vers=3,mfsymlinks,credentials=&amp;lt;path_to_user_HOME&amp;gt;/credentialsfile,noauto  0 0&lt;br /&gt;
&lt;br /&gt;
$ cat /path_to_user_HOME/credentialsfile&lt;br /&gt;
username=hd_ xy123&lt;br /&gt;
password=&amp;lt;your_servicepassword&amp;gt;&lt;br /&gt;
domain=BWSERVICESAD&lt;br /&gt;
&lt;br /&gt;
$ mount /mnt/mountpoint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Verify the success of the mount invoking the mount command without any arguments:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mount | grep cifs &lt;br /&gt;
//lsdf02.urz.uni-heidelberg.de/sd16j007 on /mnt/mountpoint type cifs (rw,relatime,vers=3.1.1,cache=strict,username=xxxx,domain=BWSERVICESAD,uid=1000,forceuid,gid=0,noforcegid,addr=xxxxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multiuser Environment ====&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
At the moment, file deletion is not possible with this setup. We are working on solving the issue. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. To support different user session on the same mountpoint and the correct permission/ownership processing, the mount options &amp;lt;pre&amp;gt;multiuser,cifsacl&amp;lt;/pre&amp;gt; have to be used. Because the kernel cannot prompt for passwords, &#039;&#039;&#039;multiuser mounts are limited to mounts using passwordless sec= options, like with sec=krb5. Information about settting up a kerberos environment can be found [[SDS@hd/Access/Kerberos|*here*]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ID Mapping =====&lt;br /&gt;
&lt;br /&gt;
In a Multiuser Environment it is important to get the correct ownerships and permissions from the server. Therefor you need to setup a [[SDS@hd/Access/ID-Mapping|ID Mapping]] environment.&lt;br /&gt;
&lt;br /&gt;
Additionally we need the following packages to enable CIFS Mapping:&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ yum install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ apt install cifs-utils keyutils&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After [[SDS@hd/Access/ID-Mapping|installing SSSD]] you have to ensure that it will be used for CIFS name resolution, e.g.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
On RedHat SSSD should have allready a higher priority than winbind:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ alternatives --display cifs-idmap-plugin&lt;br /&gt;
&lt;br /&gt;
cifs-idmap-plugin - Status ist automatisch.&lt;br /&gt;
 Link verweist auf /usr/lib64/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
/usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20&lt;br /&gt;
/usr/lib64/cifs-utils/idmapwb.so - priority 10&lt;br /&gt;
Zur Zeit ist die `best&#039; Version /usr/lib64/cifs-utils/cifs_idmap_sss.so.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
On Debian systems SSSD has to be registered for ID mapping with an higher priority than winbind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo update-alternatives --install /etc/cifs-utils/idmap-plugin idmap-plugin /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so 50&lt;br /&gt;
&lt;br /&gt;
$ update-alternatives --display idmap-plugin&lt;br /&gt;
idmap-plugin - automatischer Modus&lt;br /&gt;
  beste Version des Links ist /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link verweist zur Zeit auf /usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so&lt;br /&gt;
  Link idmap-plugin ist /etc/cifs-utils/idmap-plugin&lt;br /&gt;
  Slave idmap-plugin.8.gz ist /usr/share/man/man8/idmap-plugin.8.gz&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/cifs_idmap_sss.so - Priorität 50&lt;br /&gt;
/usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so - Priorität 40&lt;br /&gt;
  Slave idmap-plugin.8.gz: /usr/share/man/man8/idmapwb.8.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== AutoFS Setup =====&lt;br /&gt;
&lt;br /&gt;
Because CIFS shares, in contrast to nfs-Mounts, have to be mounted directly, the root user can not simply mount them into a global folder. Instead the shares have to be initially mounted by a user who has access to the Share. To achieve this, you can use the automounter &amp;quot;autofs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* RedHat/CentOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ yum install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ apt install autofs&lt;br /&gt;
$ systemctl enable autofs &lt;br /&gt;
$ systemctl start autofs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards you configure the SDS@hd Speichervorhaben in a new map file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.sds-hd&lt;br /&gt;
&amp;lt;sv-acronym1&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym1&amp;gt;&lt;br /&gt;
&amp;lt;sv-acronym2&amp;gt;    -fstype=cifs,cifsacl,multiuser,sec=krb5,cruid=${UID},vers=3,mfsymlinks  ://lsdf02.urz.uni-heidelberg.de/&amp;lt;sv-acronym2&amp;gt;&lt;br /&gt;
....&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have to include the new map into the auto.master file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/auto.master&lt;br /&gt;
[...]&lt;br /&gt;
/mnt/sds-hd   /etc/auto.sds-hd&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To display all available SDS@hd shares on this machine to the users, you should enable &amp;quot;browser_mode&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /etc/autofs.conf&lt;br /&gt;
[...]&lt;br /&gt;
# to display all available SDS-hd shares on this to the users&lt;br /&gt;
browse_mode=yes&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise each share-folder will only be visible after a user has mounted.&lt;br /&gt;
&lt;br /&gt;
After changing the configuration, you should restart the autofs daemon, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart autofs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course you can adopt all other autofs options, like timeouts, etc. to the specific needs of your environment or use any other method for dynamically mounting the CIFS shares.&lt;br /&gt;
&lt;br /&gt;
===== Access the Share =====&lt;br /&gt;
&lt;br /&gt;
Now each user should be able to mount a SDS@hd share, which is configured for the machine. If a share is allready mounted, other users will access this share with their own credentials without mounting again.&lt;br /&gt;
&lt;br /&gt;
To get access, each user needs a valid kerberos ticket, which can be fetched with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kinit hd_xy123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For further information about handling kerberos tickets take a look at [[SDS@hd/Access/NFS#Access_your_data|SDS@hd kerberos]]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15675</id>
		<title>SDS@hd/Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Access&amp;diff=15675"/>
		<updated>2026-01-09T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added test of credentials via webbrowser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides an overview on how to access data served by SDS@hd. To get an introduction to data transfer in general, see [[Data_Transfer|data transfer]].&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* You need to be [[SDS@hd/Registration|registered]].&lt;br /&gt;
* You need to be in the belwue-Network. This means you have to use the VPN Service of your HomeOrganization, if you want to access SDS@hd from outside the bwHPC-Clusters (e.g. via eduroam or from your personal notebook).&lt;br /&gt;
&lt;br /&gt;
== Needed Information, independent of the chosen tool ==&lt;br /&gt;
&lt;br /&gt;
* [[Registration/Login/Username| Username]]: Same as for the bwHPC Clusters&lt;br /&gt;
* Password: The Service Password that you set at bwServices in the [[SDS@hd/Registration|registration step]].&lt;br /&gt;
* SV-Acronym: Use the lower case version of the acronym for all access options.&lt;br /&gt;
* Hostname: The hostname depends on the chosen network protocol:&lt;br /&gt;
** For [[Data_Transfer/SSHFS|SSHFS]] and [[Data_Transfer/SFTP|SFTP]]: &#039;&#039;lsdf02-sshfs.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[SDS@hd/Access/SMB|SMB]] and [[SDS@hd/Access/NFS|NFS]]: &#039;&#039;lsdf02.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
** For [[Data_Transfer/WebDAV|WebDAV]] the url is: &#039;&#039;https://lsdf02-webdav.urz.uni-heidelberg.de&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Recommended Setup ==&lt;br /&gt;
The following graphic shows the recommended way for accessing SDS@hd via Windows/Mac/Linux. The table provides an overview of the most important access options and links to the related pages.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have various use cases, it is recommended to use [[Data_Transfer/Rclone|Rclone]]. You can copy, sync and mount with it. Thanks to its multithreading capability Rclone is a good fit for transferring big data.&amp;lt;br /&amp;gt;&lt;br /&gt;
For an overview of all connection possibilities, please have a look at [[Data_Transfer/All_Data_Transfer_Routes|all data transfer routes]].&lt;br /&gt;
&lt;br /&gt;
[[File:Data_transfer_diagram_simple.jpg|center|500px]]&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Figure 1: SDS@hd main transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! Use Case&lt;br /&gt;
! Windows&lt;br /&gt;
! Mac&lt;br /&gt;
! Linux&lt;br /&gt;
! Possible Bandwith&lt;br /&gt;
! Firewall Ports&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/Rclone|Rclone]] + &amp;lt;protocol&amp;gt;&lt;br /&gt;
| copy, sync and mount, multithreading&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
| depends on used protocol&lt;br /&gt;
|-&lt;br /&gt;
| [[SDS@hd/Access/SMB|SMB]]&lt;br /&gt;
| mount as network drive in file explorer or usage via Rclone&lt;br /&gt;
| [[SDS@hd/Access/SMB#Windows|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Mac|✓]]&lt;br /&gt;
| [[SDS@hd/Access/SMB#Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 139 (netbios), 135 (rpc), 445 (smb)&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Transfer/WebDAV|WebDAV]]&lt;br /&gt;
| go to solution for restricted networks&lt;br /&gt;
| [✓]&lt;br /&gt;
| ✓&lt;br /&gt;
| ✓&lt;br /&gt;
| up to 100GBit/sec&lt;br /&gt;
| 80 (http), 443 (https)&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|MobaXterm]]&lt;br /&gt;
| Graphical User Interface (GUI)&lt;br /&gt;
| [[Data_Transfer/Graphical_Clients#MobaXterm|✓]]&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
| mount for multi-user environments&lt;br /&gt;
| ☓&lt;br /&gt;
| ☓&lt;br /&gt;
| [[SDS@hd/Access/NFS|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SSHFS|SSHFS]]&lt;br /&gt;
| mount, needs stable internet connection&lt;br /&gt;
| ☓&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SSHFS#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| see sftp&lt;br /&gt;
| see sftp&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| [[Data_Transfer/SFTP|SFTP]]&lt;br /&gt;
| interactive shell, better usability when used together with Rclone&lt;br /&gt;
| [[Data_Transfer/SFTP#Windows|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| [[Data_Transfer/SFTP#MacOS_&amp;amp;_Linux|✓]]&lt;br /&gt;
| up to 40 Gbit/sec&lt;br /&gt;
| 22 (ssh)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; font-size: small; margin-top: 10px&amp;quot;&amp;gt;Table 1: SDS@hd transfer routes&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access from a bwHPC Cluster ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwUniCluster&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can&#039;t mount to your $HOME directory but you can create a mount under $TMPDIR by following the instructions for [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. It is advised to wait a couple of seconds (&amp;lt;code&amp;gt;sleep 5&amp;lt;/code&amp;gt;) before trying to use the mounted directory. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster Helix&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bwForCluster BinAC 2&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can directly access your storage space under &#039;&#039;/mnt/sds-hd/&#039;&#039; on all login and compute nodes. The prerequisites are: &lt;br /&gt;
* The SV responsible has enabled the SV on BinAC 2 once by writing to [mailto:sds-hd-support@urz.uni-heidelberg.de sds-hd-support@urz.uni-heidelberg.de]&lt;br /&gt;
* You have a valid kerberos ticket, which can be fetched with &amp;lt;code&amp;gt;kinit &amp;lt;userID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can mount your SDS@hd SV on the cluster yourself by using [[Data_Transfer/Rclone#Usage_Rclone_Mount | Rclone mount]]. As transfer protocol you can use WebDAV or sftp. For a full overview please have a look at [[Data_Transfer/All_Data_Transfer_Routes | All Data Transfer Routes]].&lt;br /&gt;
&lt;br /&gt;
=== Access via Webbrowser (read-only) ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://lsdf02-webdav.urz.uni-heidelberg.de/ lsdf02-webdav.urz.uni-heidelberg.de] and login with your SDS@hd username and service password. Here you can get an overview of the data in your &amp;amp;quot;Speichervorhaben&amp;amp;quot; and download single files. To be able to do more, like moving data, uploading new files, or downloading complete folders, a suitable client is needed as described above.&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Managing access rights with ACLs&#039;&#039;&#039; &amp;lt;br /&amp;gt; -&amp;gt; Please set ACLs either via the [https://www.urz.uni-heidelberg.de/de/service-katalog/desktop-und-arbeitsplatz/windows-terminalserver Windows terminal server] or via bwForCluster Helix. ACL changes won&#039;t work when used locally on a mounted directory.&lt;br /&gt;
* &#039;&#039;&#039;Multiuser environment&#039;&#039;&#039; -&amp;lt;br /&amp;gt; -&amp;gt; Use [[SDS@hd/Access/NFS|NFS]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Issue:&#039;&#039;&#039; The credentials aren&#039;t accepted &lt;br /&gt;
*: Check if your credentials work in general by trying the access via webbrowser: [https://lsdf02-webdav.urz.uni-heidelberg.de/].&lt;br /&gt;
*: If this doesn&#039;t work: &lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/Login/Username| Check your Username]]&lt;br /&gt;
*:: &amp;amp;rarr; [[Registration/bwForCluster/Helix#Troubleshooting_with_the_Help_of_bwServices | Troubleshooting with bwServices]]&lt;br /&gt;
* &#039;&#039;&#039;Other&#039;&#039;&#039;&lt;br /&gt;
*: Write to the [mailto:sds-hd-support@urz.uni-heidelberg.de support]. Provide the following information: &lt;br /&gt;
*::* Your operating system&lt;br /&gt;
*::* Does the access via webbrowser work? &lt;br /&gt;
*::: If yes, provide us with detailed information on how you tried to access your SV (used access method, username, ...).&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15674</id>
		<title>SDS@hd/Registration</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15674"/>
		<updated>2026-01-08T15:14:12Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Fixed links, linked entitlement page, made A a) into a numbered list, removed bold formatting of links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registration Steps ==&lt;br /&gt;
&lt;br /&gt;
The registration consists of two steps: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step A:&#039;&#039;&#039; Membership in Storage Project (Speichervorhaben/&#039;&#039;&#039;SV&#039;&#039;&#039;). There are two options: &lt;br /&gt;
*: &#039;&#039;&#039;a)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#a)_Join_existing_SV | Join existing SV]]&lt;br /&gt;
*: &#039;&#039;&#039;b)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#b)_Apply_for_new_SV | Apply for new SV]] (only possible for [https://www.bwidm.de/hochschulen.php bwIDM members])&lt;br /&gt;
* &#039;&#039;&#039;Step B:&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#Step_B:_Registration_for_SDS@hd_Service |Registration for SDS@hd Service]]&lt;br /&gt;
&lt;br /&gt;
After finishing the registration, the next steps are: &lt;br /&gt;
* Check your options to manage your SV Membership. &amp;amp;rarr; [[#Manage_SV_Membership(s) | Manage SV Membership(s)]]&lt;br /&gt;
* See how to access and use your storage space &amp;amp;rarr; [[SDS@hd/Access | Access]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:SDS@hd_Registration.png|center|x500px|upright|SDS@hd Registration Process]]&lt;br /&gt;
&lt;br /&gt;
=== Step A: SV Membership ===&lt;br /&gt;
&lt;br /&gt;
You can either join an existing SV or start a new one. &lt;br /&gt;
&lt;br /&gt;
==== a) Join existing SV ====&lt;br /&gt;
To join an existing SV as a coworker: &lt;br /&gt;
# Your advisor (the SV responsible) will provide you with the following data on the SV:&lt;br /&gt;
#:* acronym&lt;br /&gt;
#:* password&lt;br /&gt;
# Login at [https://sds-hd.urz.uni-heidelberg.de/management/index.php?mode=mitarbeit SDS@hd Managementtool]&lt;br /&gt;
#: Provide the SV acronym and SV password.  &lt;br /&gt;
# After submitting the request, you will be assigned to the SV as a member and receive an email with the next steps. The SV owner (and SV managers) will be notified automatically.&lt;br /&gt;
&lt;br /&gt;
==== b) Apply for new SV ====&lt;br /&gt;
&lt;br /&gt;
This is typically done only by the leader of a scientific work group or the senior scientist of a research group/collaboration.&lt;br /&gt;
Any amount of co-workers can join your SV without having to register another project. You just need to provide them with the SV acronym and SV password. You&#039;ll receive this information via e-mail as soon as the SV application was successful. &lt;br /&gt;
&lt;br /&gt;
There are two steps: &lt;br /&gt;
# &#039;&#039;&#039;Get the permission / entitlement:&#039;&#039;&#039;. Your institution has to grant you the permission to start an SDS@hd storage project (&amp;quot;SDS@hd SV entitlement&amp;quot;). Please follow the procedure specific to your institution:&lt;br /&gt;
#: &amp;amp;rarr; see [[SDS@hd/Registration/Entitlement | Entitlement]].&lt;br /&gt;
# &#039;&#039;&#039;Apply for a new SV:&#039;&#039;&#039; &lt;br /&gt;
#: &amp;amp;rarr; Fill in the form at the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool].&lt;br /&gt;
&lt;br /&gt;
If you register your own SV, you will be:&lt;br /&gt;
* ...responsibe for providing new members with the necessary information to join the SV&lt;br /&gt;
*: &amp;amp;rarr; see [[#SV_Responsible:_Manage_the_SV_and_its_Members | SV Responsible: Manage the SV and its Members]]&lt;br /&gt;
* ...held accountable for the co-workers in the SV&lt;br /&gt;
* ...asked to provide information for the two reports required by the DFG for their funding of SDS@hd&lt;br /&gt;
* ...likely asked for a contribution to a future DFG grant proposal for an extension of the storage system in your area of research (&amp;quot;wissenschaftliches Beiblatt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step B: Registration for SDS@hd Service ===&lt;br /&gt;
[[File:bwServices_chooseHomeOrganisation.png|right|300px|thumb|Select your home organization]]&lt;br /&gt;
&lt;br /&gt;
After step 1 you have to register your personal account on the storage system and set a service password.&lt;br /&gt;
Please visit: &lt;br /&gt;
* [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de] &lt;br /&gt;
*# Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;&lt;br /&gt;
*# You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation  &lt;br /&gt;
*# Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
*# You will be redirected back to the registration website [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de/] &lt;br /&gt;
*# &amp;lt;div&amp;gt;Select unter &#039;&#039;&#039;The following services are available&#039;&#039;&#039; the service &#039;&#039;&#039;SDS@hd - Scientific Data Storage&#039;&#039;&#039; &lt;br /&gt;
*# Click &#039;&#039;&#039;Register&#039;&#039;&#039;&lt;br /&gt;
*# Finally, set a service password for authentication on SDS@hd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manage SV Membership(s) ==&lt;br /&gt;
&lt;br /&gt;
The SDS@hd Managementtool and the bwServices website offer various services to manage your membership. They are described below. &lt;br /&gt;
&lt;br /&gt;
=== SV Member: View SV and Membership Status ===&lt;br /&gt;
At the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool] you can...&lt;br /&gt;
* ...view the status of your SV memberships (active/inactive)&lt;br /&gt;
* ...view the status of the SV (active/inactive, end date)&lt;br /&gt;
&lt;br /&gt;
=== SV Responsible: Manage the SV and its Members ===&lt;br /&gt;
As the SV responsible person, you can...&lt;br /&gt;
* ...enable others to join the SV&lt;br /&gt;
*# Provide them with the SV acronym. You can look it up at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool].&lt;br /&gt;
*# Povide them with the SV password. You&#039;ve received this password via email. You can reset it at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool]. &amp;lt;u&amp;gt;Caution&amp;lt;/u&amp;gt;: Make sure to share the SV password and not your personal service password which you set in step 2 at bwServices.&lt;br /&gt;
*# Afterwards, they can join by following the registration steps on this page. &lt;br /&gt;
* ...change the status of SV members&lt;br /&gt;
* ...change the SV password&lt;br /&gt;
* ...hand over the SV responsibility&lt;br /&gt;
&lt;br /&gt;
=== Change Service Password at bwServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;rarr; &#039;&#039;&#039;[[Registration/bwForCluster/Helix#Setting_a_New_Service_Password | Setting a New Service Password]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration/Entitlement&amp;diff=15673</id>
		<title>SDS@hd/Registration/Entitlement</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration/Entitlement&amp;diff=15673"/>
		<updated>2026-01-08T14:14:20Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Updated information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Get SDS@hd Entitlement ==&lt;br /&gt;
&lt;br /&gt;
New SVs can only be opened by bwIDM members who have the &#039;&#039;&#039;sds-hd-sv&#039;&#039;&#039; entitlement from their home university. This entitlement may have to be applied for individually at the home organisation. &lt;br /&gt;
&lt;br /&gt;
To see if you already have the needed entitlement, you can [[SDS@hd/Registration/Entitlement#Check_your_Entitlements|&#039;&#039;check your entitlements&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
If you need the entitlement, &#039;&#039;&#039;follow the instructions for your home university&#039;&#039;&#039;. If none are provided, please contact your local service desk. &lt;br /&gt;
&lt;br /&gt;
* Hochschule Esslingen&lt;br /&gt;
* Universität Freiburg&lt;br /&gt;
* &#039;&#039;&#039;Universität Heidelberg&#039;&#039;&#039; &lt;br /&gt;
** Employees of Heidelberg University receive this entitlement automatically.&lt;br /&gt;
* Universität Hohenheim&lt;br /&gt;
* Karlsruhe Institute of Technology (KIT)&lt;br /&gt;
* Universität Konstanz&lt;br /&gt;
* &#039;&#039;&#039;Universität Mannheim&#039;&#039;&#039;&lt;br /&gt;
** Employees of the University of Mannheim receive this entitlement automatically.&lt;br /&gt;
* Universität Stuttgart&lt;br /&gt;
* Universität Tübingen&lt;br /&gt;
* &#039;&#039;&#039;Universität Ulm&#039;&#039;&#039;&lt;br /&gt;
** Please contact the helpdesk. See https://www.uni-ulm.de/einrichtungen/kiz/service-katalog/beratung-schulung-hilfe/helpdesk/&lt;br /&gt;
&lt;br /&gt;
== Check your Entitlements ==&lt;br /&gt;
&lt;br /&gt;
# Log in to https://bwservices.uni-heidelberg.de&lt;br /&gt;
# Go to &amp;quot;Index&amp;quot; -&amp;gt; &amp;quot;Personal Data&amp;quot;&lt;br /&gt;
# Choose the &amp;quot;Shibboleth&amp;quot; tab&lt;br /&gt;
# Search for the following entry: http://bwidm.de/entitlement/sds-hd-sv (this is an attribute and not a link)&lt;br /&gt;
If you can find it, you already have the needed entitlement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;&amp;amp;rarr; [[SDS@hd/Registration#b)_Apply_for_new_SV| go forward with the SV application]]&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/Filesystems&amp;diff=15671</id>
		<title>Helix/Filesystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/Filesystems&amp;diff=15671"/>
		<updated>2026-01-07T09:39:31Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added bold headings for backup and disk space&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
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] &lt;br /&gt;
for $HOME, for workspaces, and for temporary storage via the $TMPDIR environment variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:16%&amp;quot; |&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| $HOME&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| Workspaces&lt;br /&gt;
!style=&amp;quot;width:28%&amp;quot;| $TMPDIR&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Visibility&lt;br /&gt;
| global&lt;br /&gt;
| global&lt;br /&gt;
| local&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Lifetime&lt;br /&gt;
| permanent&lt;br /&gt;
| workspace lifetime&lt;br /&gt;
| batch job walltime&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Quotas&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| none&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; | Backup&lt;br /&gt;
| snapshots&lt;br /&gt;
| snapshots&lt;br /&gt;
| no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* global: all nodes access the same file system.&lt;br /&gt;
* local: each node has its own temporary file space.&lt;br /&gt;
* permanent: files are stored permanently.&lt;br /&gt;
* workspace lifetime: files are removed at end of workspace lifetime.&lt;br /&gt;
* batch job walltime: files are removed at end of the batch job.&lt;br /&gt;
* snapshots: a copy of all files is saved at specific timepoints so that they can be restored when necessary. For details see the related sections.&lt;br /&gt;
&lt;br /&gt;
== $HOME ==&lt;br /&gt;
&lt;br /&gt;
Home directories are meant for permanent storage of files that are kept being used like source codes, configuration files, executable programs. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Backup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The backup of the home directory can be found under &amp;lt;code&amp;gt;/home/.snapshots&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disk Space&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disk space per user is limited to 200 GB. The used disk space is displayed with the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
homequotainfo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to free up space, you can...&lt;br /&gt;
* ...check the file sizes with &amp;lt;code&amp;gt;du -sh --apparent-size * .[^.]*&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...delete temporary files, for example in the &amp;lt;code&amp;gt;.cache&amp;lt;/code&amp;gt; folder. &lt;br /&gt;
* ...use the cleaning commands by your used software (e.g. [https://wiki.bwhpc.de/e/Development/Conda#Create_Environments_and_Install_Software conda]). &lt;br /&gt;
* ...delete folders with temporary data created by your used software (e.g. nextflow).&lt;br /&gt;
&lt;br /&gt;
== Workspaces ==&lt;br /&gt;
&lt;br /&gt;
Workspace tools can be used to get temporary space for larger amounts of data necessary for or produced by running jobs. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:30%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:70%&amp;quot;| Action&lt;br /&gt;
|-&lt;br /&gt;
|ws_allocate -r 7 -m &amp;lt;email&amp;gt; foo 10 &lt;br /&gt;
|Allocate a workspace named foo for 10 days and set a email reminder 7 days before expiring. &lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You should add your email address and a relative date for notification!&lt;br /&gt;
|-&lt;br /&gt;
|ws_list -a&lt;br /&gt;
|List all your workspaces.&lt;br /&gt;
|-&lt;br /&gt;
|ws_find foo&lt;br /&gt;
|Get absolute path of workspace foo.&lt;br /&gt;
|-&lt;br /&gt;
|ws_extend foo 5&lt;br /&gt;
|Extend lifetime of workspace foo by 5 days from now.&lt;br /&gt;
|-&lt;br /&gt;
|ws_release foo&lt;br /&gt;
|Manually erase your workspace foo.&lt;br /&gt;
|-&lt;br /&gt;
|ws_send_ical -m &amp;lt;email&amp;gt; foo&lt;br /&gt;
|Sending a .ical calendar entry for reminding workspace expiring &lt;br /&gt;
|-&lt;br /&gt;
|ws_share &amp;lt;share / unshare / unshare-all&amp;gt; &amp;lt;workspacename&amp;gt; &amp;lt;username&amp;gt; [username2]&lt;br /&gt;
|ws_share allows to share an existing workspace with other users. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disk Space&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
workquotainfo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring expired Workspaces ===&lt;br /&gt;
At expiration time or after you&#039;ve released it, 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. To get a list of your expired workspaces with their &amp;lt;u&amp;gt;full names&amp;lt;/u&amp;gt;, use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_restore -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then, restore them into an &#039;&#039;&#039;existing, active workspace&#039;&#039;&#039; &amp;lt;code&amp;gt;restored_ws&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_restore &amp;lt;deleted_workspacename&amp;gt; restored_ws&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The expired workspace has to be specified using the &#039;&#039;&#039;full name&#039;&#039;&#039;, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).&lt;br /&gt;
The target workspace, on the other hand, must be given with just its short name as listed by &amp;lt;code&amp;gt;ws_list&amp;lt;/code&amp;gt;, without the username prefix.&lt;br /&gt;
&lt;br /&gt;
NOTE: &amp;lt;code&amp;gt;ws_restore&amp;lt;/code&amp;gt; can only work on the same filesystem. So you have to ensure that the new workspace allocated with &amp;lt;code&amp;gt;ws_allocate&amp;lt;/code&amp;gt; is placed on the same filesystem as the expired workspace. Therefore you can use &amp;lt;code&amp;gt;-F &amp;lt;filesystem&amp;gt;&amp;lt;/code&amp;gt; flag if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Snapshots&amp;lt;/u&amp;gt;: If the workspace can&#039;t be restored anymore, you can check the snapshots under &amp;lt;code&amp;gt;/work/.snapshots/&amp;lt;timepoint&amp;gt;/ws/&amp;lt;/code&amp;gt;. Changes that happened since the last snapshot was created are lost. Caution: We try to keep the latest snapshots but we can&#039;t guarantee that snapshots will be available at all times.&lt;br /&gt;
&lt;br /&gt;
=== Linking workspaces in Home ===&lt;br /&gt;
It might be valuable to have links to personal workspaces within a certain directory, e.g., the user home directory. The command &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ws_register &amp;lt;DIR&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will create and manage links to all personal workspaces within in the directory &amp;lt;DIR&amp;gt;. Calling this command will do the following:&lt;br /&gt;
&lt;br /&gt;
* The directory &amp;lt;DIR&amp;gt; will be created if necessary&lt;br /&gt;
* Links to all personal workspaces will be managed:&lt;br /&gt;
** Creates links to all available workspaces if not already present&lt;br /&gt;
** Removes links to released workspaces&lt;br /&gt;
&lt;br /&gt;
=== Sharing Workspaces ===&lt;br /&gt;
To simplify sharing of workspaces you can use the command &amp;lt;code&amp;gt;ws_share&amp;lt;/code&amp;gt; as described in the table above.&lt;br /&gt;
&lt;br /&gt;
This tool setup the needed ACLs on the workspace to allow read-only access to the specified users.&lt;br /&gt;
&lt;br /&gt;
If you need more specific permissions, you can also setup the ACLs on your own, like described here:&lt;br /&gt;
https://wiki.bwhpc.de/e/Workspace#Sharing_Workspace_Data_within_your_Workgroup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== $TMPDIR ==&lt;br /&gt;
&lt;br /&gt;
The variable $TMPDIR provides file space for temporary data of running jobs.&lt;br /&gt;
Each node has its own $TMPDIR. &amp;lt;!-- It is possible to request a global $TMPDIR for a job. --&amp;gt;&lt;br /&gt;
The data in $TMPDIR become unavailable as soon as the job has finished.&lt;br /&gt;
&lt;br /&gt;
== Access to SDS@hd ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;Error: &amp;quot;Disk space exceeded&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*: This means that there is not enough space in your $HOME to execute the operation. One option to free up space is to look into folders that start with a dot. For example &amp;quot;./local/share/Trash&amp;quot; or &amp;quot;.cache&amp;quot;. &lt;br /&gt;
*&#039;&#039;&#039;Error: &amp;quot;could not create workspace directory&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*: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: &amp;lt;code&amp;gt;export LC_CTYPE=de_DE.UTF-8&amp;lt;/code&amp;gt;&lt;br /&gt;
*:To make this change persistent you can add this line also to your &amp;lt;code&amp;gt;.bashrc&amp;lt;/code&amp;gt; file.&lt;br /&gt;
*:A list of valid locales can be retrieved via &amp;lt;code&amp;gt;locale -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Workspace lifetime is expired&#039;&#039;&#039;&lt;br /&gt;
*:Please see chapter [[Helix/Filesystems#Restoring_expired_Workspaces|&amp;quot;Restoring_expired_Workspaces&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How can I restore lost data&#039;&#039;&#039;&lt;br /&gt;
*:Please have a look at the backup information of the respective file system.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Development/Conda&amp;diff=15648</id>
		<title>Development/Conda</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Development/Conda&amp;diff=15648"/>
		<updated>2025-12-15T23:29:16Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added --prefix example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|style=&amp;quot;background:#ffdeee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#f2cece; text-align:left&amp;quot;|&lt;br /&gt;
The licensing situation with Anaconda is currently unclear. To be on the safe side, make sure to &#039;&#039;&#039;only use open source channels!&#039;&#039;&#039;&amp;lt;br/&amp;gt; &lt;br /&gt;
If you simply want to use Python and want to know how to install packages and set up virtual environments, we recommend the corresponding documentation for [[Development/Python|Python]]. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://conda.io/docs/index.html Conda] helps to manage software environments and packages. Installing software packages into independent environments improves programming flexibility and leads to a higher reproducibility of research results. A majority of the scientific software is available as conda package, which allows for convenient installations.&lt;br /&gt;
&lt;br /&gt;
= Conda Modules and Usage =&lt;br /&gt;
&lt;br /&gt;
Before you can get started with creating conda environments, you need to set up conda. Some clusters provide a centrally installed conda module and others require you to install conda yourself. The following table provides an overview of the necessary initial steps depending on the cluster. &lt;br /&gt;
&lt;br /&gt;
In general, there are three options for installing conda (Miniforge, Miniconda, Anaconda Distribution). We recommend the usage of Miniforge as it uses open source software packages by default. With the other two options, the default is to install packages from Anaconda&#039;s default channels which are subject to Anaconda&#039;s Terms of Service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;|Cluster&lt;br /&gt;
! Description&lt;br /&gt;
! Commands&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| bwUniCluster 3.0&lt;br /&gt;
| Load conda module and prepare the environment&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;module load devel/miniforge&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| JUSTUS 2&lt;br /&gt;
| Install conda in your home directory&lt;br /&gt;
| see [[#User Conda Installation]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| Helix&lt;br /&gt;
| Load conda module&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;module load devel/miniforge&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| NEMO2&lt;br /&gt;
| Load conda module&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;module load lang/miniforge3&amp;lt;/source&amp;gt;&lt;br /&gt;
aliases: &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;module load devel/miniforge | module load conda&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot;| BinAC 2&lt;br /&gt;
| Load Miniforge module&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;module load devel/miniforge&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create Environments and Install Software ==&lt;br /&gt;
&lt;br /&gt;
An environment is an isolated space that allows you to manage a custom constellation of software packages and versions. &lt;br /&gt;
&lt;br /&gt;
If you want, you can set a specific installation directory for your environments, for example a workspace:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda config --prepend envs_dirs /path/to/conda/envs&lt;br /&gt;
conda config --prepend pkgs_dirs /path/to/conda/pkgs&lt;br /&gt;
conda config --show envs_dirs&lt;br /&gt;
conda config --show pkgs_dirs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t specify a new &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;envs_dir&amp;lt;/syntaxhighlight&amp;gt;, Conda will use &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;~/.conda/envs&amp;lt;/syntaxhighlight&amp;gt; in your home directory as the default installation path (same applies to &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;pkgs_dirs&amp;lt;/syntaxhighlight&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can create empty environments and install packages into these environments afterwards or add them already during the setup of the environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Create an environment in the default path&lt;br /&gt;
conda create -n scipy&lt;br /&gt;
# Or create it in a specific directory&lt;br /&gt;
conda create --prefix &amp;lt;path_to_directory&amp;gt;/scipy&lt;br /&gt;
# Activate this environment&lt;br /&gt;
conda activate scipy&lt;br /&gt;
# Install software into this environment&lt;br /&gt;
(scipy) $ conda install scipy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install packages and create a new environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create -n scipy scipy&lt;br /&gt;
conda activate scipy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search for an exact version (see [[#Versioning|Versioning]]):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda search scipy==1.16.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a Python 3.13 environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create -n scipy-py13 scipy python=3.13&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove unused packages and temporary files to free up space:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda clean --all&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activate/Deactivate/Delete Environments ==&lt;br /&gt;
&lt;br /&gt;
In order to use the software in an environment you&#039;ll need to activate it first:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda activate scipy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deactivate this environment to be able to activate an environment with a different Python or software version instead. Or to work with software outside of an environment.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda deactivate&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deleting Environments:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda env remove -n scipy-1.7.3 --all&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List Environments and Packages ==&lt;br /&gt;
&lt;br /&gt;
List environments:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda env list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In the output, the * is denoting the currently activated environment. The base environment is condas default environment. It is not advised to install software into the default environment and on some clusters this possibility is even disabled.&lt;br /&gt;
&lt;br /&gt;
List packages of current environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List packages in given environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda list -n scipy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Use Channels ==&lt;br /&gt;
&lt;br /&gt;
Different channels enable the installation of different software packages. Some software packages require specific channels. We suggest to try the following channels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda-forge&lt;br /&gt;
bioconda&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search in default and extra channel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda search -c conda-forge scipy&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add channel to your channels, but than you&#039;ll search and install automatically from this channel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda config --add channels bioconda&lt;br /&gt;
conda config --add channels conda-forge&lt;br /&gt;
conda config --show channels&lt;br /&gt;
conda config --remove channels bioconda   # remove channel again&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use conda-forge Conda Packages ===&lt;br /&gt;
&lt;br /&gt;
The full list of conda-forge Python packages can be found in the [https://anaconda.org/conda-forge/repo?sort=_name&amp;amp;sort_order=asc conda channel].&lt;br /&gt;
&lt;br /&gt;
You can install the core conda-forge Python stack:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda install -c conda-forge -n conda-forgepython3 conda-forgepython3_core&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... with a &amp;quot;fuzzy&amp;quot; Python version (see [[#Versioning|Versioning]]):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda install -c conda-forge -n conda-forgepython-3.9.10 conda-forgepython3_core python=3.9.10&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... with an exact conda-forge OneApi version (see [[#Versioning|Versioning]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create -c conda-forge -n conda-forgepython-2022.1.0 conda-forgepython3_core==2022.1.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... or the full conda-forge Python stack:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create -c conda-forge -n conda-forgepython-2022.1.0 conda-forgepython3_full==2022.1.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... or just some conda-forge MKL optimized scientific software for the newest conda-forge OneAPI version 2022:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda search -c conda-forge scipy&lt;br /&gt;
conda create -c conda-forge -n scipy-1.7.3 scipy=1.7.3=py39h5c0f66f_1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= User Conda Installation =&lt;br /&gt;
&lt;br /&gt;
If no conda module is available, you can install conda yourself. There are different options on how to do this but we recommend to install Miniforge. The installation is described below. Afterwards, conda and mamba commands can be used. The default channel is conda-forge. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Download installer&lt;br /&gt;
wget &amp;quot;https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh&amp;quot;&lt;br /&gt;
# To be on the save side, backup your .bashrc to a file with a current date&lt;br /&gt;
cp .bashrc bashrc-$(date --iso)&lt;br /&gt;
# Execute installer. Agree to the defaults.&lt;br /&gt;
bash Miniforge3-$(uname)-$(uname -m).sh&lt;br /&gt;
# Make conda command available upon login by adding the needed line to your .bashrc&lt;br /&gt;
echo &#039;source $HOME/miniforge3/etc/profile.d/conda.sh&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
# To make mamba available as well&lt;br /&gt;
echo &#039;source $HOME/miniforge3/etc/profile.d/mamba.sh&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
# Update .bashrc (have a second login shell available in case this fails)&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to add the following lines to your jobscript to make your conda environment available on the compute nodes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source $HOME/miniforge3/etc/profile.d/conda.sh&lt;br /&gt;
source $HOME/miniforge3/etc/profile.d/mamba.sh # only needed if mamba is used&lt;br /&gt;
conda activate &amp;lt;env_name&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reproducible Conda Environments =&lt;br /&gt;
&lt;br /&gt;
This section describes how to secure environments in a reproducible manner.&lt;br /&gt;
&lt;br /&gt;
For a more detailed environments documentation refer to the [https://conda.io/docs/user-guide/tasks/manage-environments.html conda documentation].&lt;br /&gt;
&lt;br /&gt;
Create an environment file for re-creation:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda env export -n scipy-1.7.3 -f scipy-1.7.3.yml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Re-create saved environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda env create -f scipy-1.7.3.yml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file with full URL for re-installation of packages:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda list --explicit -n scipy-1.7.3 &amp;gt;scipy-1.7-3.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install requirements file into environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create --name scipy-1.7.3 --file scipy-1.7.3.txt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first backup option is from the &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;conda-env&amp;lt;/syntaxhighlight&amp;gt; command and tries to reproduce the environment by name and version. The second option comes from the &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;conda&amp;lt;/syntaxhighlight&amp;gt; command itself and specifies the location of the file, as well. You can install the identical packages into a newly created environment. Please verify the architecture first.&lt;br /&gt;
&lt;br /&gt;
To clone an existing environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create --name scipy-1.7.3-clone --clone scipy-1.7.3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Backup via Local Channels ==&lt;br /&gt;
&lt;br /&gt;
Usually packages are cached in your Conda directory inside &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;pkgs/&amp;lt;/syntaxhighlight&amp;gt; unless you run &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;conda clean&amp;lt;/syntaxhighlight&amp;gt;. Otherwise the environment will be reproduced from the channels&#039; packages. If you want to be independent of other channels you can create your own local channel and backup every file you have used for creating your environments.&lt;br /&gt;
&lt;br /&gt;
Install package &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;conda-build&amp;lt;/syntaxhighlight&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda install conda-build&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create local channel directory for &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;linux-64&amp;lt;/syntaxhighlight&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p $( ws_find conda )/conda/channel/linux-64&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create dependency file list and copy files to channel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda list --explicit -n scipy-1.7.3 &amp;gt;scipy-1.7.3.txt&lt;br /&gt;
for f in $( grep -E &#039;^http|^file&#039; scipy-1.7.3.txt ); do&lt;br /&gt;
    cp $( ws_find conda )/conda/pkgs/$( basename $f ) $( ws_find conda )/conda/channel/linux-64/;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional: If packages are missing in the cache download them:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for f in $( grep -E &#039;^http|^file&#039; scipy-1.7.3.txt ); do&lt;br /&gt;
    wget $f -O $( ws_find conda )/conda/channel/linux-64/$( basename $f );&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initialize channel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda index $( ws_find conda )/conda/channel/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add channel to the channels list:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda config --add channels file://$( ws_find conda )/conda/channel/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative use &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;-c file://$( ws_find conda )/conda/channel/&amp;lt;/syntaxhighlight&amp;gt; when installing.&lt;br /&gt;
&lt;br /&gt;
== Backup whole Environments ==&lt;br /&gt;
&lt;br /&gt;
Alternatively you can create a package of your environment and unpack it again when needed.&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;syntaxhighlight style=&amp;quot;border:0px&amp;quot; inline=1&amp;gt;conda-pack&amp;lt;/syntaxhighlight&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda install -c conda-forge conda-pack&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pack activated environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda activate scipy-1.7.3&lt;br /&gt;
(scipy-1.7.3) $ conda pack&lt;br /&gt;
(scipy-1.7.3) $ conda deactivate&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pack environment located at an explicit path:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda pack -p $( ws_find conda )/conda/envs/scipy-1.7.3&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The easiest way is to unpack the package into an existing Conda installation.&lt;br /&gt;
&lt;br /&gt;
Just create a directory and unpack the package:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p external_conda_path/envs/scipy-1.7.3&lt;br /&gt;
tar -xf scipy-1.7.3.tar.gz -C external_conda_path/envs/scipy-1.7.3&lt;br /&gt;
conda activate scipy-1.7.3&lt;br /&gt;
# Cleanup prefixes from in the active environment&lt;br /&gt;
(scipy-1.7.3) $ conda-unpack&lt;br /&gt;
(scipy-1.7.3) $ conda deactivate&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Versioning ==&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that modifying, updating and installing new packages into existing environments can modify the outcome of your results. We strongly encourage researchers to creating new environments (or cloning) before installing or updating packages. Consider using meaningful names for your environments using version numbers and dependencies.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Constraint&lt;br /&gt;
!Specification&lt;br /&gt;
|-&lt;br /&gt;
|exact version&lt;br /&gt;
|scipy==1.7.3&lt;br /&gt;
|-&lt;br /&gt;
|fuzzy version&lt;br /&gt;
|scipy=1.7&lt;br /&gt;
|-&lt;br /&gt;
|greater equal&lt;br /&gt;
|&amp;amp;quot;scipy&amp;gt;=1.7&amp;amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For more information see the [[#Cheat_Sheet]].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda create -c conda-forge -n scipy-1.7.3 scipy==1.7.3=py39h5c0f66f_1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pinning ===&lt;br /&gt;
&lt;br /&gt;
Pin versions if you don&#039;t want them to be updated accidentally ([https://conda.io/docs/user-guide/tasks/manage-pkgs.html#preventing-packages-from-updating-pinning see documentation]).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;scipy==1.1.0=np115py36_6&#039; &amp;gt;&amp;gt; $( ws_find conda )/conda/envs/scipy-1.1.0-np115py36_6/conda-meta/pinned&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can easily pin your whole environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda list -n scipy-1.7.3 --export &amp;gt;$( ws_find conda )/conda/envs/scipy-1.7.3/conda-meta/pinned&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using Singularity Containers ==&lt;br /&gt;
&lt;br /&gt;
Using [[Singularity_Containers|Singularity Containers]] can create more robust software environments.&lt;br /&gt;
&lt;br /&gt;
Build the container on your local machine!&lt;br /&gt;
&lt;br /&gt;
This is Singularity recipe example for a CentOS image with a Conda environment:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt;scipy-1.7.3.def&lt;br /&gt;
Bootstrap: docker&lt;br /&gt;
From: rockylinux:8&lt;br /&gt;
OSVersion: 8&lt;br /&gt;
# Alternative:&lt;br /&gt;
# From: almalinux:8&lt;br /&gt;
&lt;br /&gt;
%runscript&lt;br /&gt;
    echo &amp;quot;This is what happens when you run the container...&amp;quot;&lt;br /&gt;
    source /conda/etc/profile.d/conda.sh&lt;br /&gt;
    conda activate scipy-1.7.3&lt;br /&gt;
    eval &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
%post&lt;br /&gt;
    yum -y install vim wget&lt;br /&gt;
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh&lt;br /&gt;
    bash miniconda.sh -b -p conda&lt;br /&gt;
    source /conda/etc/profile.d/conda.sh&lt;br /&gt;
    conda update -y -n base conda&lt;br /&gt;
    conda create -y -c conda-forge -n scipy-1.7.3 scipy=1.7.3=py39h5c0f66f_1&lt;br /&gt;
    rm miniconda.sh -f&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build container (on local machine):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
singularity build scipy-1.7.3.sif scipy-1.7.3.def&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy the container on the cluster and start it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
singularity run scipy-1.7.3.sif python -V&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for interactive usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
singularity shell scipy-1.7.3.sif&lt;br /&gt;
Apptainer&amp;gt; source /conda/etc/profile.d/conda.sh&lt;br /&gt;
Apptainer&amp;gt; conda activate scipy-1.7.3&lt;br /&gt;
 (scipy-1.7.3) Apptainer&amp;gt; python -V&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [https://docs.sylabs.io/guides/latest/user-guide/ Singularity user documentation] for more information on containers.&lt;br /&gt;
&lt;br /&gt;
= Cheat Sheet =&lt;br /&gt;
&lt;br /&gt;
[https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html Conda official cheat sheet]&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15489</id>
		<title>Helix/bwVisu/JupyterLab</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/JupyterLab&amp;diff=15489"/>
		<updated>2025-11-23T17:55:11Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added image for kernel path option (based on user feedback)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://jupyter.org/ JupyterLab] is an integrated development environment (IDE) that provides a flexible and scalable interface for the Jupyter Notebook system. It supports interactive data science and scientific computing across over 40 programming languages (including Python, Julia, and R).&lt;br /&gt;
&lt;br /&gt;
== Change Python Version ==&lt;br /&gt;
&lt;br /&gt;
The default python version can be seen by running &amp;lt;code&amp;gt;python --version&amp;lt;/code&amp;gt; in the terminal. &lt;br /&gt;
&lt;br /&gt;
A different python version can be installed into a new virtual environment and then registered as IPython kernel for the usage in JupyterLab. This is explained in the chapter [[#Add_packages_via_conda_environments | add packages via conda environments]].&lt;br /&gt;
&lt;br /&gt;
== Install Python Packages ==&lt;br /&gt;
&lt;br /&gt;
Python packages can be added by installing them into a virtual environment and then creating an IPython kernel from the virtual environment. &amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Kernels can be shared&amp;lt;/u&amp;gt;. See the notes below. &amp;lt;/br&amp;gt;&lt;br /&gt;
If you want to move a virtual environment, it is adivsed to recreate it in the new place. Otherwise, dependencies based on relative paths will break. &lt;br /&gt;
&lt;br /&gt;
# Create a virtual environment with...&lt;br /&gt;
#* [[#Add_packages_via_venv_virtual_environments | ...venv]] or&lt;br /&gt;
#* [[#Add_packages_via_Conda_virtual_environments | ...conda]] (choose this option if you want to install a different python version) or &lt;br /&gt;
#* ...[https://docs.astral.sh/uv/getting-started/ uv] if you want to install a different python version but don&#039;t want to use conda. &lt;br /&gt;
# [[#Create_an_IPython_kernel | Create an IPython kernel]] from the virtual environment&lt;br /&gt;
# Use the kernel within JupyterLab&lt;br /&gt;
#* By default new kernels are saved under &amp;lt;code&amp;gt;~/.local/share/jupyter&amp;lt;/code&amp;gt; and this location is automatically detected. Therefore, new kernels are directly available. &lt;br /&gt;
[[File:BwVisu JuypterLab KernelPath.png|In the JupyterLab job configuration form, a custom kernel path can be provided.|right|thumb|x150px]]&lt;br /&gt;
#* If the kernel is saved somewhere else, the path can be provided in the &amp;quot;Kernel path&amp;quot; field when configuring the JupyterLab job (see image). For a kernel placed under &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter/kernels/my_kernel&amp;lt;/code&amp;gt; the needed path would be &amp;lt;code&amp;gt;path_to_parent_dir/share/jupyter&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Notes regarding the sharing of IPython kernels&amp;lt;/u&amp;gt;&lt;br /&gt;
* The virtual environment and the kernel need to be placed in a shared directory. For example at SDS@hd.&lt;br /&gt;
* There could be a subdirectory for the virtual environments and one for the kernels. &lt;br /&gt;
* The path to the kernels is saved in the environment variable $JUPYTER_DATA_DIR. Jupyter relevant paths can be seen with &amp;lt;code&amp;gt;jupyter --paths&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via &#039;&#039;venv&#039;&#039; virtual environments ===&lt;br /&gt;
More information about venv or other python virtual environments can be found at the [[Development/Python | Python]] page. &lt;br /&gt;
&lt;br /&gt;
Steps for creating a &#039;&#039;&#039;venv&#039;&#039;&#039; virtual environment:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual evironment: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m venv &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;env_parent_dir&amp;lt;/code&amp;gt; is the path to the folder where the virtual environment shall be created. Relative paths can be used.&lt;br /&gt;
* Caution: If you you want to share the environment with others, make sure to already create it in the shared place. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;source &amp;lt;env_parent_dir&amp;gt;/&amp;lt;env_name&amp;gt;/bin/activate&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update pip and install packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install -U pip&lt;br /&gt;
pip install &amp;lt;packagename&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add packages via Conda virtual environments ===&lt;br /&gt;
More information about using conda can be found at the [[Development/Conda | Conda]] page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Load the miniforge module by clicking first on the blue hexagon icon on the left-hand side of Jupyter&#039;s start page and then on the &amp;amp;quot;load&amp;amp;quot; button right of the entry for miniforge in the software module menu. &lt;br /&gt;
&amp;lt;li&amp;gt;Open a terminal.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a new virtual environment: &lt;br /&gt;
* If you are the only person using the environment, you can install it in your home directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --name &amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If you want to install it into a different directory, for example a shared place:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda create --prefix &amp;lt;path_to_shared_directory&amp;gt;/&amp;lt;env_name&amp;gt; python=&amp;lt;python version&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate your environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda activate &amp;lt;myenv&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install your packages:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda install &amp;lt;mypackage&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; [[#Create_an_IPython_kernel | Create an IPython kernel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create an IPython Kernel ==&lt;br /&gt;
&lt;br /&gt;
Python kernels are implementations of the Jupyter notebook environment for different languages or virtual environments. You can switch between kernels easily, allowing you to use the best tool for a specific task.&lt;br /&gt;
conda_kernels&lt;br /&gt;
&lt;br /&gt;
=== Create a kernel from a virtual environment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Activate the virtual environment.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install the ipykernel package:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;pip install ipykernel&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Register the virtual environment as custom kernel to Jupyter. &lt;br /&gt;
* If you are the only person using the environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --user --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can be found under &amp;lt;code&amp;gt;~/.local/share/jupyter/kernels/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If you installed the environment in a shared place and want to have the kernel there as well: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;python3 -m ipykernel install --prefix &amp;lt;path_to_kernel_folder&amp;gt; --name=&amp;lt;kernel_name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The kernel can then be found under &amp;lt;code&amp;gt;path_to_kernel_folder/share/jupyter/kernels/&amp;lt;kernel_name&amp;gt;&amp;lt;/code&amp;gt;. As long as the same &amp;lt;code&amp;gt;path_to_kernel_folder&amp;lt;/code&amp;gt; is used, all kernels will be saved next to each other in &amp;quot;kernels&amp;quot;. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multi-Language Support ===&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports over 40 programming languages including Python, R, Julia, and Scala. This is achieved through the use of different kernels.&lt;br /&gt;
&lt;br /&gt;
==== R Kernel ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the cluster:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ module load math/R&lt;br /&gt;
$ R&lt;br /&gt;
&amp;amp;gt; install.packages(&#039;IRkernel&#039;)&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On bwVisu:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start Jupyter App&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In left menu: load math/R&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Console:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ R&lt;br /&gt;
&amp;amp;gt; IRkernel::installspec(displayname = &#039;R 4.2&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Start kernel &#039;R 4.2&#039; as console or notebook&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Julia Kernel ====&lt;br /&gt;
&lt;br /&gt;
Load the math/julia module. Open the Terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
julia&lt;br /&gt;
]&lt;br /&gt;
add IJulia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, Julia is available as a kernel.&lt;br /&gt;
&lt;br /&gt;
== Interactive Widgets ==&lt;br /&gt;
&lt;br /&gt;
JupyterLab supports interactive widgets that can create UI controls for interactive data visualization and manipulation within the notebooks. Example of using an interactive widget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;{.python&amp;quot;&amp;gt;from ipywidgets import IntSlider&lt;br /&gt;
slider = IntSlider()&lt;br /&gt;
display(slider)&amp;lt;/pre&amp;gt;&lt;br /&gt;
These widgets can be sliders, dropdowns, buttons, etc., which can be connected to Python code running in the backend.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&#039;&#039;&#039;My conda commands are interrupted with message &#039;Killed&#039;.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Request more memory when starting Jupyter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;How can I navigate to my SDS@hd folder in the file browser?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Open a terminal and set a symbolic link to your SDS@hd folder in your home directory. For example:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Jupyterlab doesn&#039;t let me in but asks for a password.&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Try using more memory for the job. If this doesn&#039;t help, try using the inkognito mode of your browser as the browser cache might be the problem.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;I prefer VSCode over JupyterLab. Can I start a JupyterLab job and then connect with it via VSCode?&#039;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
This is not possible. Please start the job directly on Helix instead. You can find the instructions at the [[Development/VS_Code#Connect_to_Remote_Jupyter_Kernel | VSCode page]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:BwVisu_JuypterLab_KernelPath.png&amp;diff=15488</id>
		<title>File:BwVisu JuypterLab KernelPath.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:BwVisu_JuypterLab_KernelPath.png&amp;diff=15488"/>
		<updated>2025-11-23T17:46:56Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15487</id>
		<title>Workspace</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Workspace&amp;diff=15487"/>
		<updated>2025-11-22T16:18:13Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Workspace tools&#039;&#039;&#039; provide temporary scratch space so called &#039;&#039;&#039;workspaces&#039;&#039;&#039; for your calculation on a central file storage. They are meant to keep data for a limited time – but usually longer than the time of a single job run. &lt;br /&gt;
&lt;br /&gt;
== No Backup ==&lt;br /&gt;
&lt;br /&gt;
Workspaces are not meant for permanent storage, hence data in workspaces is not backed up and may be lost in case of problems on the storage system. Please copy/move important results to $HOME or storage space outside the cluster.&lt;br /&gt;
&lt;br /&gt;
== Create workspace ==&lt;br /&gt;
To create a workspace you need to state &#039;&#039;name&#039;&#039; of your workspace and &#039;&#039;lifetime&#039;&#039; in days. A maximum value for &#039;&#039;lifetime&#039;&#039; and a maximum number of renewals is defined on each cluster.  Execution of:&lt;br /&gt;
&lt;br /&gt;
   $ ws_allocate mySpace 30&lt;br /&gt;
&lt;br /&gt;
e.g. returns:&lt;br /&gt;
 &lt;br /&gt;
   Workspace created. Duration is 720 hours. &lt;br /&gt;
   Further extensions available: 3&lt;br /&gt;
   /work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&lt;br /&gt;
For more information read the program&#039;s help, i.e. &#039;&#039;$ ws_allocate -h&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== List all your workspaces ==&lt;br /&gt;
&lt;br /&gt;
To list all your workspaces, execute:&lt;br /&gt;
&lt;br /&gt;
   $ ws_list&lt;br /&gt;
&lt;br /&gt;
which will return:&lt;br /&gt;
* Workspace ID&lt;br /&gt;
* Workspace location&lt;br /&gt;
* available extensions&lt;br /&gt;
* creation date and remaining time&lt;br /&gt;
&lt;br /&gt;
To list expired workspaces, see [[Workspace#Restore_an_Expired_Workspace|Restore an Expired Workspace]].&lt;br /&gt;
&lt;br /&gt;
== Find workspace location ==&lt;br /&gt;
&lt;br /&gt;
Workspace location/path can be prompted for any workspace &#039;&#039;ID&#039;&#039; using &#039;&#039;&#039;ws_find&#039;&#039;&#039;, in case of workspace &#039;&#039;mySpace&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
   $ ws_find mySpace&lt;br /&gt;
&lt;br /&gt;
returns the one-liner:&lt;br /&gt;
&lt;br /&gt;
   /work/workspace/scratch/username-mySpace-0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Extend lifetime of your workspace ==&lt;br /&gt;
&lt;br /&gt;
Any workspace&#039;s lifetime can be only extended a cluster-specific number of times. There several commands to extend workspace lifetime&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_extend mySpace 40&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by &#039;&#039;40&#039;&#039; days from now,&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_extend mySpace&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by the number days used previously&lt;br /&gt;
#&amp;lt;pre&amp;gt;$ ws_allocate -x mySpace 40&amp;lt;/pre&amp;gt; which extends workspace ID &#039;&#039;mySpace&#039;&#039; by &#039;&#039;40&#039;&#039; days from now.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting Permissions for Sharing Files ==&lt;br /&gt;
The examples will assume you want to change the directory in $DIR. If you want to share a workspace, DIR could be set with &amp;lt;code&amp;gt;DIR=$(ws_find my_workspace)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Workspace Tools ===&lt;br /&gt;
&lt;br /&gt;
* ws_share&lt;br /&gt;
&amp;lt;code syntax=bash&amp;gt;ws_share share workspacename username&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
allows you to grant the user username read access to the workspace.&lt;br /&gt;
&lt;br /&gt;
Newer versions of the workspace tools have sharing options to ws_allocate:&lt;br /&gt;
&lt;br /&gt;
* -G option of ws_allocate&lt;br /&gt;
&amp;lt;code syntax=bash&amp;gt;ws_allocate -G groupname workspacename duration&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
** groupname: name of the group you want to share with&lt;br /&gt;
** workspacename: what you want to call your workspace&lt;br /&gt;
** duration: how long the workspace is supposed to last in days&lt;br /&gt;
&lt;br /&gt;
Essentially this tool sets regular unix rwx permissions for the group plus the &amp;quot;suid&amp;quot; bit on the directory to make the permission inheritable.&lt;br /&gt;
&lt;br /&gt;
=== Regular Unix Permissions ===&lt;br /&gt;
&lt;br /&gt;
Making workspaces world readable/writable using standard unix access rights with &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; is only feasible if you are in a research group and you and your co-workers share a common  (&amp;quot;bwXXXXX&amp;quot;) unix group. &lt;br /&gt;
&lt;br /&gt;
Do &#039;&#039;&#039;not&#039;&#039;&#039; make files readable or even writable to everyone or to large common groups (&amp;quot;all students&amp;quot;). &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read access to group for files in workspace via unix rights to the group &amp;quot;bw16e001&amp;quot; (has to be re-done if files are added)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chgrp -R bw16e001 &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;tt&amp;gt;chmod -R g+rswX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Set group ownership and grant read/write access to group for files in workspace via unix rights (has to be re-done if files are added). Group will be inherited by new files, but rights for the group will have to be re-set with chmod for every new file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* -R: recursive&lt;br /&gt;
* g+rwx&lt;br /&gt;
** g: group&lt;br /&gt;
** + add permissions (- to remove)&lt;br /&gt;
** rwx: read, write, execute&lt;br /&gt;
&lt;br /&gt;
=== ACLs: Access Control Lists ===&lt;br /&gt;
ACLs  allow a much more detailed distribution of permissions but are a bit more complicated and not visible in detail via &amp;quot;ls&amp;quot;. They have the additional advantage that you can set a &amp;quot;default&amp;quot; ACL for a directory, (with a &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; flag or a &amp;lt;tt&amp;gt;d:&amp;lt;/tt&amp;gt; prefix) which will cause all newly created files to inherit the ACLs from the directory. Regular unix permissions only have limited support (only group ownership, not access rights) for this via the suid bit.&lt;br /&gt;
&lt;br /&gt;
Best practices with respect to ACL usage:&lt;br /&gt;
# Take into account that ACLs take precedence over standard unix access rights&lt;br /&gt;
# The owner of a workspace is responsible for its content and management&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;lt;tt&amp;gt;ls&amp;lt;/tt&amp;gt; (List directory contents) shows ACLs on directories and files only when run as &amp;lt;tt&amp;gt;ls -l&amp;lt;/tt&amp;gt; as in long format, as &amp;quot;plus&amp;quot; sign after the standard unix access rights. &lt;br /&gt;
&lt;br /&gt;
Examples with regard to &amp;quot;my_workspace&amp;quot;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:45%&amp;quot; | Command&lt;br /&gt;
!style=&amp;quot;width:55%&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;getfacl &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|List access rights on $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm user:fr_xy1:rX,default:user:fr_xy1:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant user &amp;quot;fr_xy1&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -R -m user:fr_me0000:rwX,default:user:fr_me0000:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;setfacl -R -m user:fr_xy1:rwX,default:user:fr_xy1:rwX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant your own user &amp;quot;fr_me0000&amp;quot; and &amp;quot;fr_xy1&amp;quot; inheritable (&amp;quot;default&amp;quot;) read and write access to $DIR, so you can also read/write files put into the workspace by a coworker&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rm group:bw16e001:rX,default:group:bw16e001:rX &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Grant group (Rechenvorhaben) &amp;quot;bw16e001&amp;quot; read-only access to $DIR&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl -Rb &amp;quot;$DIR&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Remove all ACL rights. Standard Unix access rights apply again.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Options used:&lt;br /&gt;
* -R: recursive&lt;br /&gt;
* -m: modify&lt;br /&gt;
* user:username:rwX user: next name is a user; rwX read, write, eXecute (only where execute is set for user)&lt;br /&gt;
* default:[user|group] set the default for user or group for new files or dierctories&lt;br /&gt;
&lt;br /&gt;
== Delete a Workspace ==&lt;br /&gt;
&lt;br /&gt;
   $ ws_release mySpace # Manually erase your workspace mySpace&lt;br /&gt;
&lt;br /&gt;
Note: workspaces are kept for some time after release. To immediately delete and free space e.g. for quota reasons, delete the files with rm before release.&lt;br /&gt;
&lt;br /&gt;
Newer versions of workspace tools have a --delete-data flag that immediately deletes data. Note that deleted data from workspaces is permanently lost.&lt;br /&gt;
&lt;br /&gt;
== Restore an Expired Workspace ==&lt;br /&gt;
&lt;br /&gt;
For a certain (system-specific) grace time following workspace expiration, a workspace can be restored by performing the following steps:&lt;br /&gt;
&lt;br /&gt;
(1) Display restorable workspaces.&lt;br /&gt;
 ws_restore -l&lt;br /&gt;
&lt;br /&gt;
(2) Create a new workspace as the target for the restore:&lt;br /&gt;
 ws_allocate restored 60&lt;br /&gt;
&lt;br /&gt;
(3) Restore:&lt;br /&gt;
 ws_restore &amp;lt;full_name_of_expired_workspace&amp;gt; restored&lt;br /&gt;
&lt;br /&gt;
The expired workspace has to be specified using the &#039;&#039;&#039;full name&#039;&#039;&#039;, including username prefix and timestamp suffix (otherwise, it cannot be uniquely identified).&lt;br /&gt;
The target workspace, on the other hand, must be given with just its short name as listed by &amp;lt;code&amp;gt;ws_list&amp;lt;/code&amp;gt;, without the username prefix.&lt;br /&gt;
&lt;br /&gt;
If the workspace is no visible/restorable, it has been &#039;&#039;&#039;permanently deleted&#039;&#039;&#039; and cannot be restored, not even by us. Please always remember, that workspaces are intended solely for temporary work data, and there is no backup of data in the workspaces.&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15469</id>
		<title>Helix/bwVisu/Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15469"/>
		<updated>2025-11-20T17:50:46Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added link to monitoring portal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Navigation ==&lt;br /&gt;
&lt;br /&gt;
bwVisu is quite simple and intuitively designed to make launching apps on the cluster as user-friendly as possible. Once you have successfully logged into bwVisu, the first thing you see is a list of pinned apps. These are the available apps that you can launch as a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
In the navigation bar, the user has the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Files&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Interactive Apps&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Shell&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
Here, you can access your home directory on Helix. In a graphical user interface, files can be downloaded and uploaded, and new files and folders can be created. You will encounter an error message if you try to see data that you have no access to.&lt;br /&gt;
&lt;br /&gt;
In the Home Directory the results and logs from the apps are stored. You get the following interface:&lt;br /&gt;
&lt;br /&gt;
[[File:BwVisuFiles.png|bwVisu-files|center|x300px]]&lt;br /&gt;
&lt;br /&gt;
Data on SDS@hd (under /mnt/sds-hd) can only be accessed from within jobs. Therefore, you need to open a terminal (within a JupyterLab or Rstudio job or directly on Helix) and set a symbolic link to your SDS@hd folder in your home directory. For example like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interactive Apps ===&lt;br /&gt;
&lt;br /&gt;
This displays the apps that the user can run on the cluster, possibly across multiple nodes. These apps initiate an interactive session which the user can directly connect to and, depending on the app, receive a graphical interface.&lt;br /&gt;
&lt;br /&gt;
=== My Interactive Sessions ===&lt;br /&gt;
&lt;br /&gt;
At bwVisu, it is possible to start several interactive apps simultaneously. Here, one can view an overview of currently running interactive apps and completed sessions. It is also possible to view the log for each session. As soon as one starts an interactive app, one is automatically redirected here. Even if you log out of bwVisu and log back in, you can still see the information and logs from the finished interactive apps here until you delete it.&lt;br /&gt;
&lt;br /&gt;
=== Shell ===&lt;br /&gt;
For bwForCluster Helix users only: After entering your OTP and password a shell on the login node of bwForCluster Helix opens. This way, you can for example create workspaces when you need more space. Please look up the details under [[Helix/Filesystems#Workspaces | Helix Workspaces]]. They can&#039;t be seen in the File Viewer but are available within the bwVisu jobs.&lt;br /&gt;
&lt;br /&gt;
== Start a Job ==&lt;br /&gt;
[[File:bwVisuConcept.png|center|x170px]]&lt;br /&gt;
&amp;lt;ol&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; At the start page of the web frontend, you can start a new job by clicking on an application version in the list of pinned apps.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will now see the application description and options to adjust the job resources.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; To find the best resource settings for your jobs, please have a look at the [https://helix-monitoring.bwservices.uni-heidelberg.de/ bwForCluster Helix monitoring portal] . There, you can see how much of the requested resources where actually used by your jobs.&lt;br /&gt;
&amp;lt;li&amp;gt; At the bottom of the page, beneath the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button, you can find a link for accessing the logs/session data of all your jobs.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The interface can differ per app because each app can have individual configuration options. &amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:bwVisuRStudio.png|bwVisu-rstudio|center|x200px]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button to start a new job with this application. You can&#039;t start two jobs with the same application. Launching an app can take some time depending on the requested resources and cluster utilization.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;Interactive Sessions&amp;lt;/code&amp;gt; page opens with the details of your job.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Host:&#039;&#039;&#039; Indicates on which nodes the application is running.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Time Remaining:&#039;&#039;&#039; Each application is given a time limit, which can also be set in advance. In this example, the application is supposed to run for one hour.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Session ID:&#039;&#039;&#039; This is a link that leads to the folder of the session. Among other things, application logs are displayed here, which can be viewed in the UI.&lt;br /&gt;
[[File:BwVisuRstudioRun.png|bwVisu-rstudio-run|center|x200px]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Connect to the job with your browser by clicking &amp;lt;code&amp;gt;connect to &amp;amp;lt;application&amp;amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adjust noVNC Applications ==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: middle; float: right;&amp;quot;&amp;gt; [[File:bwVisu Fiji noVNCMenu.png|thumb|none|x200px|noVNC menu within Fiji]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top; float: right;&amp;quot;&amp;gt; [[File:bwVisu_Fiji_Running.png|thumb|none|x200px|Job details view of a running Fiji Job]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
noVNC is an open-source VNC browser client. Some bwVisu applications use noVNC and therefore, come with additional options in the view of the job details and an additional menu within the running application.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Running Job View&#039;&#039;&#039; on the interactive sessions page&lt;br /&gt;
** Compression slider: Before opening the application, you can choose the compression level to use. 0 means no compression while 9 offers the best compression but uses more CPU resources on the cluster which can be slower. &lt;br /&gt;
** Image Quality slider: Before opening the application, you can choose the image quality level. With this you can control the desired JPEG quality.&lt;br /&gt;
** View Only (Share-able Link) button: By clicking this button the application opens in view only mode. You can share this link with collaborators or students while you launch your noVNC application normally for yourself. This way, others can follow what you are doing. For every job you need to generate a new link. &lt;br /&gt;
* &#039;&#039;&#039;noVNC menu&#039;&#039;&#039; within the running application&lt;br /&gt;
** When you open the application you can see an additional menu on the left with options. For the ones using the application in view-only mode it is helpful to select the option to show a dot instead of not showing the mouse cursor at all. Therefore go to &amp;quot;Options&amp;quot; and then &amp;quot;Expand&amp;quot;. &lt;br /&gt;
** For copying data, you need to use the clipboard. When copying something locally, you need to put it into the clipboard before you can use it within the application. The same goes the other way around.&lt;br /&gt;
* &#039;&#039;&#039;Adjust window size&#039;&#039;&#039; and position of the app by executing a right click at the edge of the app window frame, so that a menu shows up.&lt;br /&gt;
&lt;br /&gt;
== Terminate a Job ==&lt;br /&gt;
&lt;br /&gt;
The job will terminate when the job runtime requested in the job submission form has expired To terminate an application yourself, you can click the delete button or end the application in the interactive session. If the app is terminated in the interactive session, the window no longer shows &amp;lt;code&amp;gt;Running&amp;lt;/code&amp;gt; but &amp;lt;code&amp;gt;Completed&amp;lt;/code&amp;gt;. With the &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; button, you end the session and also remove the list entry from &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
In case of problems, it can help to look up the related bwForCluster Helix wiki pages. &lt;br /&gt;
For example: &lt;br /&gt;
* Error: Disk space exceeded &amp;amp;rarr; &#039;&#039;&#039;[https://wiki.bwhpc.de/e/Helix/Filesystems#Troubleshooting Filesystems: Troubleshooting]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Main_Page&amp;diff=15445</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Main_Page&amp;diff=15445"/>
		<updated>2025-11-20T12:38:00Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Splitted archiving and storage services&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-size:140%;&amp;gt;&#039;&#039;&#039;Welcome to the bwHPC Wiki.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bwHPC represents services and resources in the State of &#039;&#039;&#039;B&#039;&#039;&#039;aden-&#039;&#039;&#039;W&#039;&#039;&#039;ürttemberg, Germany, for High Performance Computing (&#039;&#039;&#039;HPC&#039;&#039;&#039;), Data Intensive Computing (&#039;&#039;&#039;DIC&#039;&#039;&#039;) and Large Scale Scientific Data Management (&#039;&#039;&#039;LS2DM&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The main bwHPC web page is at &#039;&#039;&#039;[https://www.bwhpc.de/ https://www.bwhpc.de/]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Many topics depend on the cluster system you use. &lt;br /&gt;
First choose the cluster you use,  then select the correct topic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- bwHPC STATUS START --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- OK/green --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#B8FFB8; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#8AFF8A; font-size:120%; text-align:left&amp;quot; | [[Status|&#039;&#039;&#039;Status:&#039;&#039;&#039; Maintenances [0] &amp;amp; Outages [0]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- warning/yellow --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| style=&amp;quot;  background:#FFD28A; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFC05C; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | [[Status|Maintenances and Outages]] (Currently: 1)&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alert/red --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| style=&amp;quot;  background:#FF8A8A; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FF5C5C; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | [[Status|Maintenances and Outages]] (Currently: 1)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- bwHPC STATUS END --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot; background:#eeeefe; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Courses / eLearning&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [https://training.bwhpc.de/ eLearning and Online Courses]&lt;br /&gt;
* [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Introduction to Linux in HPC (external resource)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Need Access to a Cluster?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[When to use a HPC Cluster]]&lt;br /&gt;
* [[Running Calculations]]&lt;br /&gt;
* [[Registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | HPC System Specific Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
bwHPC encompasses several HPC compute clusters at different universities in Baden-Württemberg. Each cluster is dedicated to [https://www.bwhpc.de/bwhpc-domains.php specific research domains]. &lt;br /&gt;
 &lt;br /&gt;
Documentation differs between compute clusters, please see cluster specific overview pages:&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BwUniCluster3.0|bwUniCluster 3.0]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | General Purpose, Teaching&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[:JUSTUS2| bwForCluster JUSTUS 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Theoretical Chemistry, Condensed Matter Physics, and Quantum Sciences&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot; | [[Helix|bwForCluster Helix]]&lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  |   Structural and Systems Biology, Medical Science, Soft Matter, Computational Humanities, and Mathematics and Computer Science&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[NEMO2|bwForCluster NEMO 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Neurosciences, Particle Physics, Materials Science, and Microsystems Engineering&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BinAC|bwForCluster BinAC]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Bioinformatics, Geosciences and Astrophysics&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BinAC2|bwForCluster BinAC 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Bioinformatics, Astrophysics, Geosciences, Pharmacy, and Medical Informatics&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|bwHPC Clusters: [https://www.bwhpc.de/cluster.php operational status] &lt;br /&gt;
Further Compute Clusters in Baden-Württemberg (separate access policies):&lt;br /&gt;
* Datenanalyse Cluster der Hochschulen (DACHS): [[DACHS | Datenanalyse Cluster der Hochschulen (DACHS)]]&lt;br /&gt;
* bwHPC tier 1: [https://kb.hlrs.de/platforms/index.php/Hunter_(HPE) Hunter] ([https://www.hlrs.de/apply-for-computing-time getting access])&lt;br /&gt;
* bwHPC tier 2: [https://www.nhr.kit.edu/userdocs/horeka HoreKa] ([https://www.nhr.kit.edu/userdocs/horeka/projects/ getting access])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Documentation valid for all Clusters&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Environment Modules| Software Modules]] and software documentation explained&lt;br /&gt;
* [https://www.bwhpc.de/software.html List of Software] on all clusters&lt;br /&gt;
* [[Development| Software Development and Parallel Programming]]&lt;br /&gt;
* [[Energy Efficient Cluster Usage]]&lt;br /&gt;
* [[HPC Glossary]]&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100%; background:#ffeaef; width:100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot;   | Scientific Data Storage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
For user guides of the scientific data storage services:&lt;br /&gt;
* [[SDS@hd]]: Everyone can join existing storage projects, entitlement needed for creating your own, [https://sds-hd.urz.uni-heidelberg.de/management/shib/sds_costs.php cost sheet]&lt;br /&gt;
* [https://uni-tuebingen.de/einrichtungen/zentrum-fuer-datenverarbeitung/projekte/laufende-projekte/bwsfs bwSFS]&lt;br /&gt;
Associated, but local scientific storage services are:&lt;br /&gt;
* [https://wiki.scc.kit.edu/lsdf/index.php/Category:LSDF_Online_Storage LSDF Online Storage] (only for KIT and KIT partners)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100%; background:#ffeaef; width:100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot;   | Scientific Data Archiving&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
For user guides of the scientific data archiving services:&lt;br /&gt;
* [https://www.rda.kit.edu/english bwDataArchive]: Open to all scientists at KIT and institutions in Baden-Württemberg that have signed a service agreement with KIT&lt;br /&gt;
Associated, but local scientific storage services are:&lt;br /&gt;
* [https://www.urz.uni-heidelberg.de/de/service-katalog/speicher/heiarchive heiArchive] (only for members of the University of Heidelberg)&lt;br /&gt;
For instructions on how to move the data, depending on the offered connections, can be found under [[Data Transfer | Data Transfer]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100%; background:#ffeaef; width:100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot;   | Data Management&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Data Transfer|Data Transfer]]&lt;br /&gt;
* [https://www.forschungsdaten.org/index.php/FDM-Kontakte#Deutschland Research Data Management (RDM)] contact persons&lt;br /&gt;
* [https://www.forschungsdaten.info Portal for Research Data Management] (Forschungsdaten.info)&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[BwSupportPortal|Submit a Ticket in our Support Portal]]&lt;br /&gt;
Support is provided by the [https://www.bwhpc.de/teams.php bwHPC Competence Centers]:&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;  background:#e6e9eb; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#d1dadf; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Acknowledgement&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* Please [[Acknowledgement|acknowledge]] our resources in your publications.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Acknowledgement&amp;diff=15441</id>
		<title>SDS@hd/Acknowledgement</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Acknowledgement&amp;diff=15441"/>
		<updated>2025-11-19T10:13:07Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Update Acknowledgement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When preparing a publication describing work that involved the usage of SDS@hd, please ensure that you reference the system. The following sample text is suggested as a starting point.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;SDS@hd Acknowledgement:&#039;&#039;&#039;&lt;br /&gt;
:&amp;lt;syntaxhighlight&amp;gt;The authors gratefully acknowledge the data storage service SDS@hd supported by the Ministry of Science, Research and the Arts Baden-Württemberg (MWK) and the German Research Foundation (DFG) through grant INST 35/1803-1 FUGG and INST 35/1804-1 LAGG.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Helix/bwVisu|bwVisu]] plays an important role for your project, please also reference this service: &lt;br /&gt;
&lt;br /&gt;
&amp;amp;rarr; &#039;&#039;&#039;[[Helix/bwVisu/Acknowledgement|bwVisu Acknowledgement]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In addition, we kindly ask you to notify us of any &lt;br /&gt;
* reports&lt;br /&gt;
* conference papers&lt;br /&gt;
* journal articles&lt;br /&gt;
* theses (BSc, MSc, PhD)&lt;br /&gt;
* posters&lt;br /&gt;
* talks &lt;br /&gt;
which contain results obtained on work with SDS@hd by sending an email to  &lt;br /&gt;
[mailto:sds-hd-support@urz.uni-heidelberg.de  sds-hd-support@urz.uni-heidelberg.de] stating:&lt;br /&gt;
&lt;br /&gt;
* SV acronym (e.g. sd16A000)&lt;br /&gt;
* author(s)&lt;br /&gt;
* title &#039;&#039;or&#039;&#039; booktitle&lt;br /&gt;
* journal, volume, pages &#039;&#039;or&#039;&#039; editors, address, publisher &lt;br /&gt;
* year.&lt;br /&gt;
&lt;br /&gt;
Such recognition is important for acquiring funding for the next generation hardware, support services, data storage and infrastructure. Thank you!&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15382</id>
		<title>Helix/bwVisu/Usage</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Helix/bwVisu/Usage&amp;diff=15382"/>
		<updated>2025-11-04T11:58:32Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added shell info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Navigation ==&lt;br /&gt;
&lt;br /&gt;
bwVisu is quite simple and intuitively designed to make launching apps on the cluster as user-friendly as possible. Once you have successfully logged into bwVisu, the first thing you see is a list of pinned apps. These are the available apps that you can launch as a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
In the navigation bar, the user has the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Files&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Interactive Apps&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;Shell&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
Here, you can access your home directory on Helix. In a graphical user interface, files can be downloaded and uploaded, and new files and folders can be created. You will encounter an error message if you try to see data that you have no access to.&lt;br /&gt;
&lt;br /&gt;
In the Home Directory the results and logs from the apps are stored. You get the following interface:&lt;br /&gt;
&lt;br /&gt;
[[File:BwVisuFiles.png|bwVisu-files|center|x300px]]&lt;br /&gt;
&lt;br /&gt;
Data on SDS@hd (under /mnt/sds-hd) can only be accessed from within jobs. Therefore, you need to open a terminal (within a JupyterLab or Rstudio job or directly on Helix) and set a symbolic link to your SDS@hd folder in your home directory. For example like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $HOME&lt;br /&gt;
mkdir sds-hd&lt;br /&gt;
cd sds-hd&lt;br /&gt;
ln -s /mnt/sds-hd/sd16a001 sd16a001&amp;lt;/pre&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interactive Apps ===&lt;br /&gt;
&lt;br /&gt;
This displays the apps that the user can run on the cluster, possibly across multiple nodes. These apps initiate an interactive session which the user can directly connect to and, depending on the app, receive a graphical interface.&lt;br /&gt;
&lt;br /&gt;
=== My Interactive Sessions ===&lt;br /&gt;
&lt;br /&gt;
At bwVisu, it is possible to start several interactive apps simultaneously. Here, one can view an overview of currently running interactive apps and completed sessions. It is also possible to view the log for each session. As soon as one starts an interactive app, one is automatically redirected here. Even if you log out of bwVisu and log back in, you can still see the information and logs from the finished interactive apps here until you delete it.&lt;br /&gt;
&lt;br /&gt;
=== Shell ===&lt;br /&gt;
For bwForCluster Helix users only: After entering your OTP and password a shell on the login node of bwForCluster Helix opens. This way, you can for example create workspaces when you need more space. Please look up the details under [[Helix/Filesystems#Workspaces | Helix Workspaces]]. They can&#039;t be seen in the File Viewer but are available within the bwVisu jobs.&lt;br /&gt;
&lt;br /&gt;
== Start a Job ==&lt;br /&gt;
[[File:bwVisuConcept.png|center|x170px]]&lt;br /&gt;
&amp;lt;ol&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;At the start page of the web frontend, you can start a new job by clicking on an application version in the list of pinned apps.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You will now see the application description and options to adjust the job resources.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the bottom of the page, beneath the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button, you can find a link for accessing the logs/session data of all your jobs.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The interface can differ per app because each app can have individual configuration options. &amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:bwVisuRStudio.png|bwVisu-rstudio|center|x200px]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click the &amp;lt;code&amp;gt;Launch&amp;lt;/code&amp;gt; button to start a new job with this application. You can&#039;t start two jobs with the same application. Launching an app can take some time depending on the requested resources and cluster utilization.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;Interactive Sessions&amp;lt;/code&amp;gt; page opens with the details of your job.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Host:&#039;&#039;&#039; Indicates on which nodes the application is running.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Time Remaining:&#039;&#039;&#039; Each application is given a time limit, which can also be set in advance. In this example, the application is supposed to run for one hour.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Session ID:&#039;&#039;&#039; This is a link that leads to the folder of the session. Among other things, application logs are displayed here, which can be viewed in the UI.&lt;br /&gt;
[[File:BwVisuRstudioRun.png|bwVisu-rstudio-run|center|x200px]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Connect to the job with your browser by clicking &amp;lt;code&amp;gt;connect to &amp;amp;lt;application&amp;amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adjust noVNC Applications ==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: middle; float: right;&amp;quot;&amp;gt; [[File:bwVisu Fiji noVNCMenu.png|thumb|none|x200px|noVNC menu within Fiji]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block; vertical-align: top; float: right;&amp;quot;&amp;gt; [[File:bwVisu_Fiji_Running.png|thumb|none|x200px|Job details view of a running Fiji Job]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
noVNC is an open-source VNC browser client. Some bwVisu applications use noVNC and therefore, come with additional options in the view of the job details and an additional menu within the running application.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Running Job View&#039;&#039;&#039; on the interactive sessions page&lt;br /&gt;
** Compression slider: Before opening the application, you can choose the compression level to use. 0 means no compression while 9 offers the best compression but uses more CPU resources on the cluster which can be slower. &lt;br /&gt;
** Image Quality slider: Before opening the application, you can choose the image quality level. With this you can control the desired JPEG quality.&lt;br /&gt;
** View Only (Share-able Link) button: By clicking this button the application opens in view only mode. You can share this link with collaborators or students while you launch your noVNC application normally for yourself. This way, others can follow what you are doing. For every job you need to generate a new link. &lt;br /&gt;
* &#039;&#039;&#039;noVNC menu&#039;&#039;&#039; within the running application&lt;br /&gt;
** When you open the application you can see an additional menu on the left with options. For the ones using the application in view-only mode it is helpful to select the option to show a dot instead of not showing the mouse cursor at all. Therefore go to &amp;quot;Options&amp;quot; and then &amp;quot;Expand&amp;quot;. &lt;br /&gt;
** For copying data, you need to use the clipboard. When copying something locally, you need to put it into the clipboard before you can use it within the application. The same goes the other way around.&lt;br /&gt;
* &#039;&#039;&#039;Adjust window size&#039;&#039;&#039; and position of the app by executing a right click at the edge of the app window frame, so that a menu shows up.&lt;br /&gt;
&lt;br /&gt;
== Terminate a Job ==&lt;br /&gt;
&lt;br /&gt;
The job will terminate when the job runtime requested in the job submission form has expired To terminate an application yourself, you can click the delete button or end the application in the interactive session. If the app is terminated in the interactive session, the window no longer shows &amp;lt;code&amp;gt;Running&amp;lt;/code&amp;gt; but &amp;lt;code&amp;gt;Completed&amp;lt;/code&amp;gt;. With the &amp;lt;code&amp;gt;Delete&amp;lt;/code&amp;gt; button, you end the session and also remove the list entry from &amp;lt;code&amp;gt;My Interactive Sessions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
In case of problems, it can help to look up the related bwForCluster Helix wiki pages. &lt;br /&gt;
For example: &lt;br /&gt;
* Error: Disk space exceeded &amp;amp;rarr; &#039;&#039;&#039;[https://wiki.bwhpc.de/e/Helix/Filesystems#Troubleshooting Filesystems: Troubleshooting]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Main_Page&amp;diff=15381</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Main_Page&amp;diff=15381"/>
		<updated>2025-11-04T11:19:12Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Changed status bar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-size:140%;&amp;gt;&#039;&#039;&#039;Welcome to the bwHPC Wiki.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bwHPC represents services and resources in the State of &#039;&#039;&#039;B&#039;&#039;&#039;aden-&#039;&#039;&#039;W&#039;&#039;&#039;ürttemberg, Germany, for High Performance Computing (&#039;&#039;&#039;HPC&#039;&#039;&#039;), Data Intensive Computing (&#039;&#039;&#039;DIC&#039;&#039;&#039;) and Large Scale Scientific Data Management (&#039;&#039;&#039;LS2DM&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The main bwHPC web page is at &#039;&#039;&#039;[https://www.bwhpc.de/ https://www.bwhpc.de/]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Many topics depend on the cluster system you use. &lt;br /&gt;
First choose the cluster you use,  then select the correct topic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- bwHPC STATUS START --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- OK/green --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;  background:#B8FFB8; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#8AFF8A; font-size:120%; text-align:left&amp;quot; | [[Status|&#039;&#039;&#039;Status:&#039;&#039;&#039; Maintenances [0] &amp;amp; Outages [0]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- warning/yellow --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| style=&amp;quot;  background:#FFD28A; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FFC05C; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | [[Status|Maintenances and Outages]] (Currently: 1)&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alert/red --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| style=&amp;quot;  background:#FF8A8A; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#FF5C5C; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | [[Status|Maintenances and Outages]] (Currently: 1)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- bwHPC STATUS END --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot; background:#eeeefe; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Courses / eLearning&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [https://training.bwhpc.de/ eLearning and Online Courses]&lt;br /&gt;
* [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Introduction to Linux in HPC (external resource)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Need Access to a Cluster?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[When to use a HPC Cluster]]&lt;br /&gt;
* [[Running Calculations]]&lt;br /&gt;
* [[Registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;  background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | HPC System Specific Documentation&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
bwHPC encompasses several HPC compute clusters at different universities in Baden-Württemberg. Each cluster is dedicated to [https://www.bwhpc.de/bwhpc-domains.php specific research domains]. &lt;br /&gt;
 &lt;br /&gt;
Documentation differs between compute clusters, please see cluster specific overview pages:&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BwUniCluster3.0|bwUniCluster 3.0]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | General Purpose, Teaching&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[:JUSTUS2| bwForCluster JUSTUS 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Theoretical Chemistry, Condensed Matter Physics, and Quantum Sciences&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot; | [[Helix|bwForCluster Helix]]&lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  |   Structural and Systems Biology, Medical Science, Soft Matter, Computational Humanities, and Mathematics and Computer Science&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[NEMO2|bwForCluster NEMO 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Neurosciences, Particle Physics, Materials Science, and Microsystems Engineering&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BinAC|bwForCluster BinAC]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Bioinformatics, Geosciences and Astrophysics&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; width:30%&amp;quot;  | [[BinAC2|bwForCluster BinAC 2]] &lt;br /&gt;
| style=&amp;quot;padding-left:20px;&amp;quot;  | Bioinformatics, Astrophysics, Geosciences, Pharmacy, and Medical Informatics&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|bwHPC Clusters: [https://www.bwhpc.de/cluster.php operational status] &lt;br /&gt;
Further Compute Clusters in Baden-Württemberg (separate access policies):&lt;br /&gt;
* Datenanalyse Cluster der Hochschulen (DACHS): [[DACHS | Datenanalyse Cluster der Hochschulen (DACHS)]]&lt;br /&gt;
* bwHPC tier 1: [https://kb.hlrs.de/platforms/index.php/Hunter_(HPE) Hunter] ([https://www.hlrs.de/apply-for-computing-time getting access])&lt;br /&gt;
* bwHPC tier 2: [https://www.nhr.kit.edu/userdocs/horeka HoreKa] ([https://www.nhr.kit.edu/userdocs/horeka/projects/ getting access])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#cef2e0; font-size:120%; font-weight:bold; text-align:left&amp;quot; | Documentation valid for all Clusters&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Environment Modules| Software Modules]] and software documentation explained&lt;br /&gt;
* [https://www.bwhpc.de/software.html List of Software] on all clusters&lt;br /&gt;
* [[Development| Software Development and Parallel Programming]]&lt;br /&gt;
* [[Energy Efficient Cluster Usage]]&lt;br /&gt;
* [[HPC Glossary]]&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100%; background:#ffeaef; width:100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot;   | Scientific Data Storage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
For user guides of the scientific data storage services:&lt;br /&gt;
* [[SDS@hd]]&lt;br /&gt;
* [https://www.rda.kit.edu/english bwDataArchive]&lt;br /&gt;
* [https://uni-tuebingen.de/einrichtungen/zentrum-fuer-datenverarbeitung/projekte/laufende-projekte/bwsfs bwSFS]&lt;br /&gt;
Associated, but local scientific storage services are:&lt;br /&gt;
* [https://wiki.scc.kit.edu/lsdf/index.php/Category:LSDF_Online_Storage LSDF Online Storage] (only for KIT and KIT partners)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100%; background:#ffeaef; width:100%&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding:8px; background:#f5dfdf; font-size:120%; font-weight:bold;  text-align:left&amp;quot;   | Data Management&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Data Transfer|Data Transfer]]&lt;br /&gt;
* [https://www.forschungsdaten.org/index.php/FDM-Kontakte#Deutschland Research Data Management (RDM)] contact persons&lt;br /&gt;
* [https://www.forschungsdaten.info Portal for Research Data Management] (Forschungsdaten.info)&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;  background:#eeeefe; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#dedefe; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Support&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[BwSupportPortal|Submit a Ticket in our Support Portal]]&lt;br /&gt;
Support is provided by the [https://www.bwhpc.de/teams.php bwHPC Competence Centers]:&lt;br /&gt;
|}&lt;br /&gt;
{| style=&amp;quot;  background:#e6e9eb; width:100%;&amp;quot; &lt;br /&gt;
| style=&amp;quot;padding:8px; background:#d1dadf; font-size:120%; font-weight:bold;  text-align:left&amp;quot; | Acknowledgement&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* Please [[Acknowledgement|acknowledge]] our resources in your publications.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=Registration/bwForCluster/RV&amp;diff=15373</id>
		<title>Registration/bwForCluster/RV</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=Registration/bwForCluster/RV&amp;diff=15373"/>
		<updated>2025-11-03T19:46:48Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Moved new section to &amp;quot;hints&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=  Step B: Apply for a Rechenvorhaben/Project =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rechenvorhaben/Projects (RV)&#039;&#039;&#039; are required for assignment to a bwForCluster.&lt;br /&gt;
[[File:RV-my.png|right|frame|My RVs.]]&lt;br /&gt;
&lt;br /&gt;
To get access to an RV, answer the following question: &lt;br /&gt;
* Does your work group (or the collaborative project that you are part of) already have an RV?&lt;br /&gt;
** &#039;&#039;&#039;Yes &amp;amp;rarr; [[Registration/bwForCluster/RV#Become_Coworker_of_a_RV|Become Coworker of an RV]]&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;No &amp;amp;rarr; [[Registration/bwForCluster/RV#Register_a_new_RV|Register a new RV]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can see your RV memberships at the central application site ZAS under [https://zas.bwhpc.de/shib/en/info_rv.php &#039;&#039;&#039;My RVs&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
== Become Coworker of an RV ==&lt;br /&gt;
[[File:RV-collab.png|right|100px|frame|1. RV collaboration.]]&lt;br /&gt;
[[File:RV-formcol.png|right|300px|thumb|4. RV collaboration form]]&lt;br /&gt;
{|style=&amp;quot;background:#deffee; width:70%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#cef2e0; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#cef2e0; text-align:left&amp;quot;|&lt;br /&gt;
You can only sign up for an RV once.&lt;br /&gt;
If you are an inactive member of an RV, either because you de-registered yourself or a manager deactivated you, only an RV manager can reactivate you.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;RV responsible&amp;quot; will provide you with the following data on the RV:&lt;br /&gt;
* RV acronym&lt;br /&gt;
* RV password&lt;br /&gt;
&lt;br /&gt;
If this information is lost, please let the &amp;quot;RV responsible&amp;quot; [[Registration/bwForCluster/RV/Management#Renew_RV_Password|renew the password]] for the RV.&lt;br /&gt;
&lt;br /&gt;
To become coworker of an RV, follow these steps:&lt;br /&gt;
# Please visit the [https://zas.bwhpc.de/shib/en/bwforcluster_collaboration.php &#039;&#039;&#039;RV collaboration&#039;&#039;&#039;] web form at the [https://zas.bwhpc.de ZAS].&lt;br /&gt;
# Select your home organization from the list on the main page and click &#039;&#039;&#039;Proceed&#039;&#039;&#039; or &#039;&#039;&#039;Fortfahren&#039;&#039;&#039;.&lt;br /&gt;
# You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organization. Enter the username and password of your &#039;&#039;&#039;home organization&#039;&#039;&#039; (usually these credentials are also used for other services like email) and click &#039;&#039;&#039;Login/Einloggen&#039;&#039;&#039;.&lt;br /&gt;
# You will be redirected back to the RV collaboration form &#039;&#039;&#039;https://zas.bwhpc.de/shib/en/bwforcluster_collaboration.php&#039;&#039;&#039;.&lt;br /&gt;
# Enter &#039;&#039;&#039;RV Acronym&#039;&#039;&#039;, &#039;&#039;&#039;RV Password&#039;&#039;&#039; and &#039;&#039;&#039;Institute&#039;&#039;&#039; into the form and check both &amp;quot;Terms of Use&amp;quot;. Click &#039;&#039;&#039;Send&#039;&#039;&#039;.&lt;br /&gt;
# You will be assigned to the RV as a new member. &lt;br /&gt;
&amp;lt;div style=&amp;quot;padding-left:18px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Attention.svg|left|15px]]&lt;br /&gt;
In case of the &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;error&amp;lt;/span&amp;gt; &amp;quot;This project is not currently renewed&amp;quot;, please ask the RV responsible to apply for a prolongation of the RV. As soon as the prolongation was accepted, you can join the RV.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After submitting the request you will receive an email from ZAS about the further steps.&lt;br /&gt;
RV owner and RV managers will be notified automatically.&lt;br /&gt;
&lt;br /&gt;
== Register a new RV ==&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#deffee; width:100%;&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#cef2e0; text-align:left&amp;quot;|&lt;br /&gt;
[[Image:Attention.svg|center|25px]]&lt;br /&gt;
|style=&amp;quot;padding:5px; background:#cef2e0; text-align:left&amp;quot;|&lt;br /&gt;
An RV is valid for &#039;&#039;&#039;one year&#039;&#039;&#039;.&lt;br /&gt;
After that, the RV responsible must apply for an extension of the RV for it to be renewed for another year.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An RV should be registered by a leader or senior scientist of a research group/collaboration.&lt;br /&gt;
You will be:&lt;br /&gt;
* held accountable for the coworkers in the RV&lt;br /&gt;
* asked to provide information for the two reports required by the DFG for their funding of bwForClusters&lt;br /&gt;
* likely asked for a contribution to a future DFG grant proposal for a new bwForCluster in your area of research (&amp;quot;wissenschaftliches Beiblatt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some hints:&#039;&#039;&#039; &lt;br /&gt;
* To be notified about important issues via the cluster&#039;s mailing list, it is necessary to finish all three registration steps. If you don&#039;t plan to work with the cluster yourself, we recommend to either register nevertheless or ask a colleague who is going to use the cluster to keep you updated. For better transparency, that colleague could receive the &#039;&#039;RV manager&#039;&#039; role from you. &lt;br /&gt;
* Any number of coworkers can join the RV to work with the cluster.Therefore, they need to be provided with the RV password and acronym.&lt;br /&gt;
* The [https://www.bwhpc.de/bwhpc-domains.php research area] of the group as well as the software and hardware requirements are taken into account.&lt;br /&gt;
*: Please look carefully through the scientific fields and research domains to find the field that fits best to your research focus and experience. This way, you&#039;ll be assigned to the cluster that can support you best. If in doubt, you can check the [https://www.dfg.de/resource/blob/175334/89ba4a3464c99aaea40fdef47367e7b2/fachsystematik-2020-2024-de-grafik-data.pdf DFG classification] as well. &lt;br /&gt;
* Creating mutiple RVs on the same cluster is not necessary. Being part of multiple RVs on the same cluster does not bring any advantages regarding available computing resources. The RV description and resource specifications are important for finding the best fitting cluster. But they don&#039;t set any limits. Every cluster user has full access to all cluster resources. And not all research topics must match the RV description. But we appreciate it if you update the RV information whenever you fill in a prolongation application. &lt;br /&gt;
* Getting access to two different clusters is only possible if specific software or hardware needs demand access for both. &lt;br /&gt;
&lt;br /&gt;
[[File:RV-reg.png|right|frame|Register a new RV.]]&lt;br /&gt;
[[File:BwIDM-login.png|right|250px|thumb|Select your home organization]]&lt;br /&gt;
&#039;&#039;&#039;To apply for a new RV, follow these steps:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Please visit the [https://zas.bwhpc.de/shib/en/bwforcluster_proposal.php &#039;&#039;&#039;RV registration&#039;&#039;&#039;] web form at the [https://zas.bwhpc.de ZAS].&lt;br /&gt;
# Select your home organization from the list on the main page and click &#039;&#039;&#039;Proceed&#039;&#039;&#039; or &#039;&#039;&#039;Fortfahren&#039;&#039;&#039;.&lt;br /&gt;
# You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organization. Enter the username and password of your &#039;&#039;&#039;home organization&#039;&#039;&#039; (usually these credentials are also used for other services like email) and click &#039;&#039;&#039;Login/Einloggen&#039;&#039;&#039;.&lt;br /&gt;
# You will be redirected back to the RV registration form &#039;&#039;&#039;https://zas.bwhpc.de/shib/en/bwforcluster_proposal.php&#039;&#039;&#039;.&lt;br /&gt;
# Fill in all mandatory fields of the form and tick the two &amp;quot;Terms of use&amp;quot;. Detailed information on the individual fields can be found in the section [[Registration/bwForCluster/RV#Registration_Form_Details|Registration Form Details]]. Click &#039;&#039;&#039;Preview&#039;&#039;&#039;.&lt;br /&gt;
# If the information is correct, click &#039;&#039;&#039;Submit&#039;&#039;&#039;, otherwise you can customize your application.&lt;br /&gt;
# Go to section [[Registration/bwForCluster/RV#Registration_Response|Registration Response]] for the next steps.&lt;br /&gt;
&lt;br /&gt;
Please note that for your convenience you can also switch to the [https://zas.bwhpc.de/shib/bwforcluster_proposal.php German version] of the web form.&lt;br /&gt;
The submitter of the RV will be assigned the role &amp;quot;RV responsible&amp;quot; (see [[Registration/bwForCluster/RV/Management|Roles in an RV]]).&lt;br /&gt;
&lt;br /&gt;
=== Registration Form Details ===&lt;br /&gt;
&lt;br /&gt;
The web form consists of the following fields.&lt;br /&gt;
Note that the fields - name, given name, organization, mail, and EPPN - are auto-filled and can not be changed.&lt;br /&gt;
These are your credentials as given by your home organization.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%;border:3px solid darkgray; margin: 1em auto 1em auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%;padding:2px;margin:3px; background:#AAA; font-size:100%; font-weight:bold; border:1px solid #BBBBBB; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;| Field&lt;br /&gt;
! style=&amp;quot;padding:2px;margin:3px; background:#AAA; font-size:100%; font-weight:bold; border:1px solid #BBBBBB; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot; | Explanation&lt;br /&gt;
|rowspan=&amp;quot;15&amp;quot;| [[File:RV-form.png|center|400px|thumb|Registering a new RV.]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| RV Title&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Define a short title of your planned compute activities, maximum of 255 characters including spaces.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| RV Description&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Write a short abstract about your planned compute activities (maximum of 2048 characters including spaces). Research groups that contributed to the DFG grant proposal (Art. 91b GG) of the corresponding bwForCluster only need to give reference to that particular proposal.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Scientific field&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Tick one or several scientific fields. Once all bwForClusters are up and running the full list of given scientific fields are supported and hence for RV applicable. If your RV does not match any given scientific field, please state your scientific field in the given text box. Grayed out scientific fields indicate that the corresponding bwForCluster(s) is/are not operational yet.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Field of activity&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Define if your RV is primarily for research and/or teaching. If not applicable, use text box.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Parallel paradigm&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State what parallel paradigm your code or application uses. Multiple ticks are allowed. Further information can be provided via text box. If you are not sure about it, please state the software you are using.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Programming language&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State the programming language(s) of your code or application.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Numerical methods&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State the numerical or &amp;quot;calculation&amp;quot; methods your code or application utilizes. If you do not know, write &amp;quot;unknown&amp;quot;. &lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Software packages&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State all software package you will or want to use for your RV. Also include compiler, MPI and numerical packages (e.g. MKL, FFTW).&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Estimated requested computing resources&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Roughly estimate how many CPU hours are required to finish your RV. To calculate &amp;quot;CPU hours&amp;quot; multiply &amp;quot;elapsed parallel computing time&amp;quot; with &amp;quot;number of CPU core&amp;quot; per job. &lt;br /&gt;
&#039;&#039;Example: Your code uses 4 CPU cores and has a wall time of 1h. This makes 4 CPU hours.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Planned maximum number of parallel used CPU cores per job&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Give an upper limit of how many CPU cores per job are required. Please cross-check with your statement about parallel paradigm. &lt;br /&gt;
&#039;&#039;Obviously, a sequential code can only use 1 CPU core per job.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Estimated maximal memory requirements per CPU core&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | Give an upper limit of how much RAM per CPU core your jobs require. Please give a value in Gigabytes.&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Estimated requested persistent disk space for the RV&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State how much disk space in total you need for your RV. Please give a value in Gigabytes. &lt;br /&gt;
&#039;&#039;Example: If your RV has 4 more coworker and each of you produces until the end of your RV 20 Gigabyte of output, your maximum disk space is 100 Gigabyte.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Estimated maximal temporary disk space per job&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State how much space your intermediate files require during a job run. Please give a value in Gigabytes. &lt;br /&gt;
&#039;&#039;Example: Your final output of your job is 0.1 Gigabyte, but during your job 10 temporary files, each with a size of 1 Gigabyte, are written to disk, hence your correct answer is 10 Gigabyte.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;column&amp;quot; {{Lightgray_small}}| Institute&lt;br /&gt;
|scope=&amp;quot;column&amp;quot; {{Tab element}} | State the full name of your Institute.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Registration Response ===&lt;br /&gt;
&lt;br /&gt;
After submitting you will get an email from the ZAS confirming your submission.&lt;br /&gt;
With this email you are given an unique&lt;br /&gt;
* RV acronym&lt;br /&gt;
* RV password&lt;br /&gt;
&lt;br /&gt;
Please keep the password enclosed.&lt;br /&gt;
With RV acronym and password, [[Registration/bwForCluster/RV#Become_Coworker_of_a_RV| coworkers ]] can already associate themselves to the RV.&lt;br /&gt;
If this information is lost, please [[Registration/bwForCluster/RV#Renew_RV_Password|renew the password]] for the RV.&lt;br /&gt;
&lt;br /&gt;
The cluster assignment team assigns a bwForCluster to your RV based on your submitted data, including the [https://www.bwhpc.de/bwhpc-domains.php research area] as well as the software and hardware requirements.&lt;br /&gt;
The ZAS notifies you in an email about your assigned bwForCluster and provides website details for [[Registration/bwForCluster/Service| Step C]]. Later on you can find details about the roles and management possibilities at the [[Registration/bwForCluster/RV/Management | RV Management]] page.&lt;br /&gt;
&lt;br /&gt;
=== Duration of an RV ===&lt;br /&gt;
&lt;br /&gt;
An RV is valid for &#039;&#039;&#039;one year&#039;&#039;&#039;.&lt;br /&gt;
After that, the RV responsible must apply for an extension of the RV for it to be renewed for another year.&lt;br /&gt;
&lt;br /&gt;
=== RV Management for RV Responsibles and Managers  ===&lt;br /&gt;
&lt;br /&gt;
RV responsible or manager can [[Registration/bwForCluster/RV/Management|manage and modify Rechenvorhaben/projects]]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;[[Registration/bwForCluster/Service | Go to step C]]&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15372</id>
		<title>SDS@hd/Registration</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=SDS@hd/Registration&amp;diff=15372"/>
		<updated>2025-11-03T14:39:29Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: Added registration graphic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registration Steps ==&lt;br /&gt;
&lt;br /&gt;
The registration consists of three steps: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step A:&#039;&#039;&#039; Membership in Storage Project (Speichervorhaben/&#039;&#039;&#039;SV&#039;&#039;&#039;). There are two options: &lt;br /&gt;
*: &#039;&#039;&#039;a)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#Join_existing_SV | &#039;&#039;&#039;Join existing SV&#039;&#039;&#039;]]&lt;br /&gt;
*: &#039;&#039;&#039;b)&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#Apply_for_new_SV | &#039;&#039;&#039;Apply for new SV&#039;&#039;&#039;]] (only possible for [https://www.bwidm.de/hochschulen.php bwIDM members])&lt;br /&gt;
* &#039;&#039;&#039;Step B:&#039;&#039;&#039; &amp;amp;rarr;[[SDS@hd/Registration#Registration_for_SDS@hd_Service |&#039;&#039;&#039;Registration for SDS@hd Service&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
After finishing the registration, the next steps are: &lt;br /&gt;
* Check your options to manage your SV Membership. &amp;amp;rarr; &#039;&#039;&#039;[[#Manage_SV_Membership(s) | Manage SV Membership(s)]]&#039;&#039;&#039;&lt;br /&gt;
* See how to access and use your storage space &amp;amp;rarr; &#039;&#039;&#039;[[SDS@hd/Access | Access]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:SDS@hd_Registration.png|center|x500px|upright|SDS@hd Registration Process]]&lt;br /&gt;
&lt;br /&gt;
=== Step A: SV Membership ===&lt;br /&gt;
&lt;br /&gt;
You can either join an existing SV or start a new one. &lt;br /&gt;
&lt;br /&gt;
==== a) Join existing SV ====&lt;br /&gt;
&lt;br /&gt;
Your advisor (the SV responsible) will provide you with the following data on the SV:&lt;br /&gt;
* acronym&lt;br /&gt;
* password&lt;br /&gt;
&lt;br /&gt;
To become coworker of an SV, please login at&lt;br /&gt;
* [https://sds-hd.urz.uni-heidelberg.de/management/index.php?mode=mitarbeit SDS@hd Managementtool] and provide acronym and password.  &lt;br /&gt;
&lt;br /&gt;
You will be assigned to the SV as a member.&lt;br /&gt;
&lt;br /&gt;
After submitting the request you will receive an email about the further steps. &lt;br /&gt;
The SV owner and any managers will be notified automatically.&lt;br /&gt;
&lt;br /&gt;
==== b) Apply for new SV ====&lt;br /&gt;
&lt;br /&gt;
This is typically done only by the leader of a scientific work group or the senior scientist of a research group/collaboration.&lt;br /&gt;
Any amount of co-workers can join your SV without having to register another project. You just need to provide them with the SV acronym and SV password. You&#039;ll receive this information via e-mail as soon as the SV application was successful. &lt;br /&gt;
&lt;br /&gt;
There are two steps: &lt;br /&gt;
# &#039;&#039;&#039;Get the permission&#039;&#039;&#039;. Your own institution has to grant you the permission to start an SDS@hd storage project (&amp;quot;SDS@hd SV entitlement&amp;quot;).  Each institution has their own procedure. If your unsure about the process for your institution, you can write to the SDS@hd support: [mailto:sds-hd-support@urz.uni-heidelberg.de Submit a Ticket]. For more details about the SDS@hd entitlements you can take a look at the [https://urz.uni-heidelberg.de/en/sds-hd SDS@hd Website]&lt;br /&gt;
&amp;lt;!-- not yet completed&lt;br /&gt;
The page [[Sds_hd_Entitlement]] contains a list of participating high schools and links to instructions on how to get an SDS@hd entitlement at each of them.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Apply for a new SV&#039;&#039;&#039;. Therefore, fill in the form at the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool].&lt;br /&gt;
&lt;br /&gt;
If you register your own SV, you will be:&lt;br /&gt;
* ...responsibe for providing new members with the necessary information to join the SV&lt;br /&gt;
*: &amp;amp;rarr; &#039;&#039;&#039;see [[#SV_Responsible:_Manage_the_SV_and_its_Members | SV Responsible: Manage the SV and its Members]]&#039;&#039;&#039;&lt;br /&gt;
* ...held accountable for the co-workers in the SV&lt;br /&gt;
* ...asked to provide information for the two reports required by the DFG for their funding of SDS@hd&lt;br /&gt;
* ...likely asked for a contribution to a future DFG grant proposal for an extension of the storage system in your area of research (&amp;quot;wissenschaftliches Beiblatt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step B: Registration for SDS@hd Service ===&lt;br /&gt;
[[File:bwServices_chooseHomeOrganisation.png|right|300px|thumb|Select your home organization]]&lt;br /&gt;
&lt;br /&gt;
After step 1 you have to register your personal account on the storage system and set a service password.&lt;br /&gt;
Please visit: &lt;br /&gt;
* [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de] &lt;br /&gt;
*# Select your home organization from the list and click &#039;&#039;&#039;Proceed&#039;&#039;&#039;&lt;br /&gt;
*# You will be directed to the &#039;&#039;Identity Provider&#039;&#039; of your home organisation  &lt;br /&gt;
*# Enter your home-organisational user ID / username  and your home-organisational password and click &#039;&#039;&#039;Login&#039;&#039;&#039; button&lt;br /&gt;
*# You will be redirected back to the registration website [https://bwservices.uni-heidelberg.de/ https://bwservices.uni-heidelberg.de/] &lt;br /&gt;
*# &amp;lt;div&amp;gt;Select unter &#039;&#039;&#039;The following services are available&#039;&#039;&#039; the service &#039;&#039;&#039;SDS@hd - Scientific Data Storage&#039;&#039;&#039; &lt;br /&gt;
*# Click &#039;&#039;&#039;Register&#039;&#039;&#039;&lt;br /&gt;
*# Finally, set a service password for authentication on SDS@hd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manage SV Membership(s) ==&lt;br /&gt;
&lt;br /&gt;
The SDS@hd Managementtool and the bwServices website offer various services to manage your membership. They are described below. &lt;br /&gt;
&lt;br /&gt;
=== SV Member: View SV and Membership Status ===&lt;br /&gt;
At the [https://sds-hd.urz.uni-heidelberg.de/management SDS@hd Managementtool] you can...&lt;br /&gt;
* ...view the status of your SV memberships (active/inactive)&lt;br /&gt;
* ...view the status of the SV (active/inactive, end date)&lt;br /&gt;
&lt;br /&gt;
=== SV Responsible: Manage the SV and its Members ===&lt;br /&gt;
As the SV responsible person, you can...&lt;br /&gt;
* ...enable others to join the SV&lt;br /&gt;
*# Provide them with the SV acronym. You can look it up at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool].&lt;br /&gt;
*# Povide them with the SV password. You&#039;ve received this password via email. You can reset it at the [https://sds-hd.urz.uni-heidelberg.de/management/shib/info_sv.php SDS@hd Managementtool]. &amp;lt;u&amp;gt;Caution&amp;lt;/u&amp;gt;: Make sure to share the SV password and not your personal service password which you set in step 2 at bwServices.&lt;br /&gt;
*# Afterwards, they can join by following the registration steps on this page. &lt;br /&gt;
* ...change the status of SV members&lt;br /&gt;
* ...change the SV password&lt;br /&gt;
* ...hand over the SV responsibility&lt;br /&gt;
&lt;br /&gt;
=== Change Service Password at bwServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;rarr; &#039;&#039;&#039;[[Registration/bwForCluster/Helix#Setting_a_New_Service_Password | Setting a New Service Password]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=File:SDS@hd_Registration.png&amp;diff=15371</id>
		<title>File:SDS@hd Registration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=File:SDS@hd_Registration.png&amp;diff=15371"/>
		<updated>2025-11-03T14:30:04Z</updated>

		<summary type="html">&lt;p&gt;H Schumacher: H Schumacher uploaded a new version of File:SDS@hd Registration.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>H Schumacher</name></author>
	</entry>
</feed>