update merlin6 nomachine docs

This commit is contained in:
2025-12-01 09:03:28 +01:00
parent f26d7c4352
commit 0a4ab096e3
35 changed files with 162 additions and 190 deletions

12
.gitignore vendored
View File

@@ -1,10 +1,2 @@
_site/ # mkdocs
.sass-cache/ .cache/
.jekyll-metadata
_pdf
.DS_Store
.idea
vendor/
.bundle/
.ruby-gemset
.ruby-version

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -1,12 +1,4 @@
--- # Archive & PSI Data Catalog
title: Archive & PSI Data Catalog
#tags:
keywords: linux, archive, data catalog, archiving, lts, tape, long term storage, ingestion, datacatalog
last_updated: 31 January 2020
summary: "This document describes how to use the PSI Data Catalog for archiving Merlin6 data."
sidebar: merlin6_sidebar
permalink: /merlin6/archive.html
---
## PSI Data Catalog as a PSI Central Service ## PSI Data Catalog as a PSI Central Service
@@ -31,16 +23,16 @@ be indirectly copied to these (**decentral mode**).
Archiving can be done from any node accessible by the users (usually from the login nodes). Archiving can be done from any node accessible by the users (usually from the login nodes).
{{site.data.alerts.tip}} Archiving can be done in two different ways: !!! tip
<br>
<b>'Central mode':</b> Possible for the user and project data directories, is the Archiving can be done in two different ways:
**'Central mode':** Possible for the user and project data directories, is the
fastest way as it does not require remote copy (data is directly retreived by central AIT servers from Merlin fastest way as it does not require remote copy (data is directly retreived by central AIT servers from Merlin
through 'merlin-archive.psi.ch'). through 'merlin-archive.psi.ch').
<br>
<br> **'Decentral mode':** Possible for any directory, is the slowest way of archiving as it requires
<b>'Decentral mode':</b> Possible for any directory, is the slowest way of archiving as it requires
to copy ('rsync') the data from Merlin to the central AIT servers. to copy ('rsync') the data from Merlin to the central AIT servers.
{{site.data.alerts.end}}
## Procedure ## Procedure
@@ -50,28 +42,30 @@ Below are the main steps for using the Data Catalog.
* Ingest the dataset into the Data Catalog. This makes the data known to the Data Catalog system at PSI: * Ingest the dataset into the Data Catalog. This makes the data known to the Data Catalog system at PSI:
* Prepare a metadata file describing the dataset * Prepare a metadata file describing the dataset
* Run **``datasetIngestor``** script * Run **`datasetIngestor`** script
* If necessary, the script will copy the data to the PSI archive servers * If necessary, the script will copy the data to the PSI archive servers
* Usually this is necessary when archiving from directories other than **``/data/user``** or * Usually this is necessary when archiving from directories other than **`/data/user`** or
**``/data/project``**. It would be also necessary when the Merlin export server (**``merlin-archive.psi.ch``**) **`/data/project`**. It would be also necessary when the Merlin export server (**`merlin-archive.psi.ch`**)
is down for any reason. is down for any reason.
* Archive the dataset: * Archive the dataset:
* Visit [https://discovery.psi.ch](https://discovery.psi.ch) * Visit [https://discovery.psi.ch](https://discovery.psi.ch)
* Click **``Archive``** for the dataset * Click **`Archive`** for the dataset
* The system will now copy the data to the PetaByte Archive at CSCS * The system will now copy the data to the PetaByte Archive at CSCS
* Retrieve data from the catalog: * Retrieve data from the catalog:
* Find the dataset on [https://discovery.psi.ch](https://discovery.psi.ch) and click **``Retrieve``** * Find the dataset on [https://discovery.psi.ch](https://discovery.psi.ch) and click **`Retrieve`**
* Wait for the data to be copied to the PSI retrieval system * Wait for the data to be copied to the PSI retrieval system
* Run **``datasetRetriever``** script * Run **`datasetRetriever`** script
Since large data sets may take a lot of time to transfer, some steps are designed to happen in the Since large data sets may take a lot of time to transfer, some steps are
background. The discovery website can be used to track the progress of each step. designed to happen in the background. The discovery website can be used to
track the progress of each step.
### Account Registration ### Account Registration
Two types of account permit access to the Data Catalog. If your data was collected at a ***beamline***, you may Two types of account permit access to the Data Catalog. If your data was
have been assigned a **``p-group``** (e.g. ``p12345``) for the experiment. Other users are assigned **``a-group``** collected at a ***beamline***, you may have been assigned a **`p-group`**
(e.g. ``a-12345``). (e.g. `p12345`) for the experiment. Other users are assigned **`a-group`**
(e.g. `a-12345`).
Groups are usually assigned to a PI, and then individual user accounts are added to the group. This must be done Groups are usually assigned to a PI, and then individual user accounts are added to the group. This must be done
under user request through PSI Service Now. For existing **a-groups** and **p-groups**, you can follow the standard under user request through PSI Service Now. For existing **a-groups** and **p-groups**, you can follow the standard
@@ -107,8 +101,8 @@ As of 2022-04-14 a secure token is required to interact with the data catalog. T
You will need to save this token for later steps. To avoid including it in all the commands, I suggest saving it to an environmental variable (Linux): You will need to save this token for later steps. To avoid including it in all the commands, I suggest saving it to an environmental variable (Linux):
``` ```bash
$ SCICAT_TOKEN=RqYMZcqpqMJqluplbNYXLeSyJISLXfnkwlfBKuvTSdnlpKkU SCICAT_TOKEN=RqYMZcqpqMJqluplbNYXLeSyJISLXfnkwlfBKuvTSdnlpKkU
``` ```
(Hint: prefix this line with a space to avoid saving the token to your bash history.) (Hint: prefix this line with a space to avoid saving the token to your bash history.)
@@ -118,7 +112,7 @@ Tokens expire after 2 weeks and will need to be fetched from the website again.
### Ingestion ### Ingestion
The first step to ingesting your data into the catalog is to prepare a file describing what data you have. This is called The first step to ingesting your data into the catalog is to prepare a file describing what data you have. This is called
**``metadata.json``**, and can be created with a text editor (e.g. *``vim``*). It can in principle be saved anywhere, **`metadata.json`**, and can be created with a text editor (e.g. *`vim`*). It can in principle be saved anywhere,
but keeping it with your archived data is recommended. For more information about the format, see the 'Bio metadata' but keeping it with your archived data is recommended. For more information about the format, see the 'Bio metadata'
section below. An example follows: section below. An example follows:
@@ -163,9 +157,9 @@ section below. An example follows:
It is recommended to use the [ScicatEditor](https://bliven_s.gitpages.psi.ch/SciCatEditor/) for creating metadata files. This is a browser-based tool specifically for ingesting PSI data. Using the tool avoids syntax errors and provides templates for common data sets and options. The finished JSON file can then be downloaded to merlin or copied into a text editor. It is recommended to use the [ScicatEditor](https://bliven_s.gitpages.psi.ch/SciCatEditor/) for creating metadata files. This is a browser-based tool specifically for ingesting PSI data. Using the tool avoids syntax errors and provides templates for common data sets and options. The finished JSON file can then be downloaded to merlin or copied into a text editor.
Another option is to use the SciCat graphical interface from NoMachine. This provides a graphical interface for selecting data to archive. This is particularly useful for data associated with a DUO experiment and p-group. Type `SciCat`` to get started after loading the `datacatalog`` module. The GUI also replaces the the command-line ingestion described below. Another option is to use the SciCat graphical interface from NoMachine. This provides a graphical interface for selecting data to archive. This is particularly useful for data associated with a DUO experiment and p-group. Type `SciCat` to get started after loading the `datacatalog` module. The GUI also replaces the the command-line ingestion described below.
The following steps can be run from wherever you saved your ``metadata.json``. First, perform a "dry-run" which will check the metadata for errors: The following steps can be run from wherever you saved your `metadata.json`. First, perform a "dry-run" which will check the metadata for errors:
```bash ```bash
datasetIngestor --token $SCICAT_TOKEN metadata.json datasetIngestor --token $SCICAT_TOKEN metadata.json
@@ -179,28 +173,28 @@ datasetIngestor --token $SCICAT_TOKEN --ingest --autoarchive metadata.json
You will be asked whether you want to copy the data to the central system: You will be asked whether you want to copy the data to the central system:
* If you are on the Merlin cluster and you are archiving data from ``/data/user`` or ``/data/project``, answer 'no' since the data catalog can * If you are on the Merlin cluster and you are archiving data from `/data/user` or `/data/project`, answer 'no' since the data catalog can
directly read the data. directly read the data.
* If you are on a directory other than ``/data/user`` and ``/data/project, or you are on a desktop computer, answer 'yes'. Copying large datasets * If you are on a directory other than `/data/user` and `/data/project`, or you are on a desktop computer, answer 'yes'. Copying large datasets
to the PSI archive system may take quite a while (minutes to hours). to the PSI archive system may take quite a while (minutes to hours).
If there are no errors, your data has been accepted into the data catalog! From now on, no changes should be made to the ingested data. If there are no errors, your data has been accepted into the data catalog! From now on, no changes should be made to the ingested data.
This is important, since the next step is for the system to copy all the data to the CSCS Petabyte archive. Writing to tape is slow, so This is important, since the next step is for the system to copy all the data to the CSCS Petabyte archive. Writing to tape is slow, so
this process may take several days, and it will fail if any modifications are detected. this process may take several days, and it will fail if any modifications are detected.
If using the ``--autoarchive`` option as suggested above, your dataset should now be in the queue. Check the data catalog: If using the `--autoarchive` option as suggested above, your dataset should now be in the queue. Check the data catalog:
[https://discovery.psi.ch](https://discovery.psi.ch). Your job should have status 'WorkInProgress'. You will receive an email when the ingestion [https://discovery.psi.ch](https://discovery.psi.ch). Your job should have status 'WorkInProgress'. You will receive an email when the ingestion
is complete. is complete.
If you didn't use ``--autoarchive``, you need to manually move the dataset into the archive queue. From **discovery.psi.ch**, navigate to the 'Archive' If you didn't use `--autoarchive`, you need to manually move the dataset into the archive queue. From **discovery.psi.ch**, navigate to the 'Archive'
tab. You should see the newly ingested dataset. Check the dataset and click **``Archive``**. You should see the status change from **``datasetCreated``** to tab. You should see the newly ingested dataset. Check the dataset and click **`Archive`**. You should see the status change from **`datasetCreated`** to
**``scheduleArchiveJob``**. This indicates that the data is in the process of being transferred to CSCS. **`scheduleArchiveJob`**. This indicates that the data is in the process of being transferred to CSCS.
After a few days the dataset's status will change to **``datasetOnAchive``** indicating the data is stored. At this point it is safe to delete the data. After a few days the dataset's status will change to **`datasetOnAchive`** indicating the data is stored. At this point it is safe to delete the data.
#### Useful commands #### Useful commands
Running the datasetIngestor in dry mode (**without** ``--ingest``) finds most errors. However, it is sometimes convenient to find potential errors Running the datasetIngestor in dry mode (**without** `--ingest`) finds most errors. However, it is sometimes convenient to find potential errors
yourself with simple unix commands. yourself with simple unix commands.
Find problematic filenames Find problematic filenames
@@ -239,9 +233,10 @@ find . -name '*#autosave#' -delete
key_cert_check_authority: invalid certificate key_cert_check_authority: invalid certificate
Certificate invalid: name is not a listed principal Certificate invalid: name is not a listed principal
``` ```
It indicates that no kerberos token was provided for authentication. You can avoid the warning by first running kinit (PSI linux systems). It indicates that no kerberos token was provided for authentication. You can avoid the warning by first running kinit (PSI linux systems).
* For decentral ingestion cases, the copy step is indicated by a message ``Running [/usr/bin/rsync -e ssh -avxz ...``. It is expected that this * For decentral ingestion cases, the copy step is indicated by a message `Running [/usr/bin/rsync -e ssh -avxz ...`. It is expected that this
step will take a long time and may appear to have hung. You can check what files have been successfully transfered using rsync: step will take a long time and may appear to have hung. You can check what files have been successfully transfered using rsync:
```bash ```bash
@@ -253,22 +248,21 @@ step will take a long time and may appear to have hung. You can check what files
* There is currently a limit on the number of files per dataset (technically, the limit is from the total length of all file paths). It is recommended to break up datasets into 300'000 files or less. * There is currently a limit on the number of files per dataset (technically, the limit is from the total length of all file paths). It is recommended to break up datasets into 300'000 files or less.
* If it is not possible or desirable to split data between multiple datasets, an alternate work-around is to package files into a tarball. For datasets which are already compressed, omit the -z option for a considerable speedup: * If it is not possible or desirable to split data between multiple datasets, an alternate work-around is to package files into a tarball. For datasets which are already compressed, omit the -z option for a considerable speedup:
``` ```bash
tar -f [output].tar [srcdir] tar -f [output].tar [srcdir]
``` ```
Uncompressed data can be compressed on the cluster using the following command: Uncompressed data can be compressed on the cluster using the following command:
``` ```bash
sbatch /data/software/Slurm/Utilities/Parallel_TarGz.batch -s [srcdir] -t [output].tar -n sbatch /data/software/Slurm/Utilities/Parallel_TarGz.batch -s [srcdir] -t [output].tar -n
``` ```
Run /data/software/Slurm/Utilities/Parallel_TarGz.batch -h for more details and options. Run /data/software/Slurm/Utilities/Parallel_TarGz.batch -h for more details and options.
#### Sample ingestion output (datasetIngestor 1.1.11) #### Sample ingestion output (datasetIngestor 1.1.11)
<details>
<summary>[Show Example]: Sample ingestion output (datasetIngestor 1.1.11)</summary> ```text
<pre class="terminal code highlight js-syntax-highlight plaintext" lang="plaintext" markdown="false">
/data/project/bio/myproject/archive $ datasetIngestor -copy -autoarchive -allowexistingsource -ingest metadata.json /data/project/bio/myproject/archive $ datasetIngestor -copy -autoarchive -allowexistingsource -ingest metadata.json
2019/11/06 11:04:43 Latest version: 1.1.11 2019/11/06 11:04:43 Latest version: 1.1.11
@@ -355,12 +349,11 @@ user_n@pb-archive.psi.ch's password:
2019/11/06 12:05:08 Job response Status: okay 2019/11/06 12:05:08 Job response Status: okay
2019/11/06 12:05:08 A confirmation email will be sent to XXX 2019/11/06 12:05:08 A confirmation email will be sent to XXX
12.345.67890/12345678-1234-1234-1234-123456789012 12.345.67890/12345678-1234-1234-1234-123456789012
</pre> ```
</details>
### Publishing ### Publishing
After datasets are are ingested they can be assigned a public DOI. This can be included in publications and will make the datasets on http://doi.psi.ch. After datasets are are ingested they can be assigned a public DOI. This can be included in publications and will make the datasets on <http://doi.psi.ch>.
For instructions on this, please read the ['Publish' section in the ingest manual](https://scicatproject.github.io/documentation/Ingestor/ingestManual.html#sec-8). For instructions on this, please read the ['Publish' section in the ingest manual](https://scicatproject.github.io/documentation/Ingestor/ingestManual.html#sec-8).

View File

@@ -1,16 +1,8 @@
--- # Connecting from a Linux Client
title: Connecting from a Linux Client
#tags:
keywords: linux, connecting, client, configuration, SSH, X11
last_updated: 07 September 2022
summary: "This document describes a recommended setup for a Linux client."
sidebar: merlin6_sidebar
permalink: /merlin6/connect-from-linux.html
---
## SSH without X11 Forwarding ## SSH without X11 Forwarding
This is the standard method. Official X11 support is provided through [NoMachine](/merlin6/nomachine.html). This is the standard method. Official X11 support is provided through [NoMachine](nomachine.md).
For normal SSH sessions, use your SSH client as follows: For normal SSH sessions, use your SSH client as follows:
```bash ```bash
@@ -22,19 +14,19 @@ ssh $username@merlin-l-002.psi.ch
## SSH with X11 Forwarding ## SSH with X11 Forwarding
Official X11 Forwarding support is through NoMachine. Please follow the document Official X11 Forwarding support is through NoMachine. Please follow the document
[{Job Submission -> Interactive Jobs}](/merlin6/interactive-jobs.html#Requirements) and [{Job Submission -> Interactive Jobs}](##/merlin6/interactive-jobs.html#Requirements) and
[{Accessing Merlin -> NoMachine}](/merlin6/nomachine.html) for more details. However, [{Accessing Merlin -> NoMachine}](nomachine.md) for more details. However,
we provide a small recipe for enabling X11 Forwarding in Linux. we provide a small recipe for enabling X11 Forwarding in Linux.
* For enabling client X11 forwarding, add the following to the start of ``~/.ssh/config`` * For enabling client X11 forwarding, add the following to the start of `~/.ssh/config`
to implicitly add ``-X`` to all ssh connections: to implicitly add `-X` to all ssh connections:
```bash ```bash
ForwardAgent yes ForwardAgent yes
ForwardX11Trusted yes ForwardX11Trusted yes
``` ```
* Alternatively, you can add the option ``-Y`` to the ``ssh`` command. In example: * Alternatively, you can add the option `-Y` to the `ssh` command. In example:
```bash ```bash
ssh -X $username@merlin-l-01.psi.ch ssh -X $username@merlin-l-01.psi.ch
@@ -42,7 +34,7 @@ to implicitly add ``-X`` to all ssh connections:
ssh -X $username@merlin-l-002.psi.ch ssh -X $username@merlin-l-002.psi.ch
``` ```
* For testing that X11 forwarding works, just run ``xclock``. A X11 based clock should * For testing that X11 forwarding works, just run `xclock`. A X11 based clock should
popup in your client session: popup in your client session:
```bash ```bash

View File

@@ -1,12 +1,4 @@
--- # Remote Desktop Access
title: Remote Desktop Access
#tags:
keywords: NX, nomachine, remote desktop access, login node, merlin-l-001, merlin-l-002, merlin-nx-01, merlin-nx-02, merlin-nx, rem-acc, vpn
last_updated: 07 September 2022
#summary: ""
sidebar: merlin6_sidebar
permalink: /merlin6/nomachine.html
---
Users can login in Merlin through a Linux Remote Desktop Session. NoMachine Users can login in Merlin through a Linux Remote Desktop Session. NoMachine
is a desktop virtualization tool. It is similar to VNC, Remote Desktop, etc. is a desktop virtualization tool. It is similar to VNC, Remote Desktop, etc.
@@ -16,7 +8,7 @@ It uses the NX protocol to enable a graphical login to remote servers.
NoMachine is available for PSI Windows computers in the Software Kiosk under the NoMachine is available for PSI Windows computers in the Software Kiosk under the
name **NX Client**. Please use the latest version (at least 6.0). For MacOS and name **NX Client**. Please use the latest version (at least 6.0). For MacOS and
Linux, the NoMachine client can be downloaded from https://www.nomachine.com/. Linux, the NoMachine client can be downloaded from <https://www.nomachine.com/>.
## Accessing Merlin6 NoMachine from PSI ## Accessing Merlin6 NoMachine from PSI
@@ -47,12 +39,13 @@ NoMachine service running on a login node.
Click the **Add** button to create a new connection to the **`merlin-nx.psi.ch` front-end**, and fill up Click the **Add** button to create a new connection to the **`merlin-nx.psi.ch` front-end**, and fill up
the following fields: the following fields:
* **Name**: Specify a custom name for the connection. Examples: `merlin-nx`, `merlin-nx.psi.ch`, `Merlin Desktop` * **Name**: Specify a custom name for the connection. Examples: `merlin-nx`, `merlin-nx.psi.ch`, `Merlin Desktop`
* **Host**: Specify the hostname of the **front-end** service: **`merlin-nx.psi.ch`** * **Host**: Specify the hostname of the **front-end** service: **`merlin-nx.psi.ch`**
* **Protocol**: specify the protocol that will be used for the connection. *Recommended* protocol: **`NX`** * **Protocol**: specify the protocol that will be used for the connection. *Recommended* protocol: **`NX`**
* **Port**: Specify the listening port of the **front-end**. It must be **`4000`**. * **Port**: Specify the listening port of the **front-end**. It must be **`4000`**.
![Create New NoMachine Connection]({{ "/images/NoMachine/screen_nx_connect.png" }}) ![Create New NoMachine Connection](/images/nomachine/screen_nx_connect.png)
#### Configuring NoMachine Authentication Method #### Configuring NoMachine Authentication Method
@@ -69,19 +62,19 @@ session if none exists.
If there are existing sessions, instead of opening a new desktop session, users can reconnect to an If there are existing sessions, instead of opening a new desktop session, users can reconnect to an
existing one by clicking to the proper icon (see image below). existing one by clicking to the proper icon (see image below).
![Open an existing Session]({{ "/images/NoMachine/screen_nx_existingsession.png" }}) ![Open an existing Session](/images/nomachine/screen_nx_existingsession.png)
Users can also create a second desktop session by selecting the **`New Desktop`** button (*red* rectangle in the Users can also create a second desktop session by selecting the **`New Desktop`** button (*red* rectangle in the
below image). This will create a second session on the second login node, as long as this node is up and running. below image). This will create a second session on the second login node, as long as this node is up and running.
![Open a New Desktop]({{ "/images/NoMachine/screen_nx_newsession.png" }}) ![Open a New Desktop](/images/nomachine/screen_nx_newsession.png)
### NoMachine LightDM Session Example ### NoMachine LightDM Session Example
An example of the NoMachine session, which is based on [LightDM](https://github.com/canonical/lightdm) An example of the NoMachine session, which is based on [LightDM](https://github.com/canonical/lightdm)
X Windows: X Windows:
![NoMachine Session: LightDM Desktop]({{ "/images/NoMachine/screen_nx11.png" }}) ![NoMachine Session: LightDM Desktop](/images/nomachine/screen_nx11.png)
## Accessing Merlin6 NoMachine from outside PSI ## Accessing Merlin6 NoMachine from outside PSI
@@ -99,7 +92,6 @@ to the Merlin6 NoMachine **`merlin-nx.psi.ch` front-end** as if you were inside
it to the IT department by opening a PSI Service Now ticket: it to the IT department by opening a PSI Service Now ticket:
[VPN Access (PSI employees)](https://psi.service-now.com/psisp?id=psi_new_sc_cat_item&sys_id=beccc01b6f44a200d02a82eeae3ee440). [VPN Access (PSI employees)](https://psi.service-now.com/psisp?id=psi_new_sc_cat_item&sys_id=beccc01b6f44a200d02a82eeae3ee440).
## Advanced Display Settings ## Advanced Display Settings
**Nomachine Display Settings** can be accessed and changed either when creating a new session or by clicking the very top right corner of a running session. **Nomachine Display Settings** can be accessed and changed either when creating a new session or by clicking the very top right corner of a running session.
@@ -113,10 +105,3 @@ These settings prevent "bluriness" at the cost of some performance! (You might w
* Display > Change settings > Modify advanced settings * Display > Change settings > Modify advanced settings
* Check: Disable network-adaptive display quality (diables lossy compression) * Check: Disable network-adaptive display quality (diables lossy compression)
* Check: Disable client side image post-processing * Check: Disable client side image post-processing

View File

@@ -1,13 +1,4 @@
--- # Merlin6 Storage
title: Merlin6 Storage
#tags:
keywords: storage, /data/user, /data/software, /data/project, /scratch, /shared-scratch, quota, export, user, project, scratch, data, shared-scratch, merlin_quotas
last_updated: 07 September 2022
#summary: ""
sidebar: merlin6_sidebar
redirect_from: /merlin6/data-directories.html
permalink: /merlin6/storage.html
---
## Introduction ## Introduction
@@ -19,9 +10,10 @@ This document describes the different directories of the Merlin6 cluster.
* **`/psi/home`**, as this contains a small amount of data, is the only directory where we can provide daily snapshots for one week. This can be found in the following directory **`/psi/home/.snapshot/`** * **`/psi/home`**, as this contains a small amount of data, is the only directory where we can provide daily snapshots for one week. This can be found in the following directory **`/psi/home/.snapshot/`**
* ***When a user leaves PSI, she or her supervisor/team are responsible to backup and move the data out from the cluster***: every few months, the storage space will be recycled for those old users who do not have an existing and valid PSI account. * ***When a user leaves PSI, she or her supervisor/team are responsible to backup and move the data out from the cluster***: every few months, the storage space will be recycled for those old users who do not have an existing and valid PSI account.
{{site.data.alerts.warning}}When a user leaves PSI and his account has been removed, her storage space in Merlin may be recycled. !!! warning
Hence, <b>when a user leaves PSI</b>, she, her supervisor or team <b>must ensure that the data is backed up to an external storage</b>
{{site.data.alerts.end}} When a user leaves PSI and his account has been removed, her storage space in Merlin may be recycled.
Hence, **when a user leaves PSI**, she, her supervisor or team **must ensure that the data is backed up to an external storage**
### Checking user quota ### Checking user quota
@@ -45,13 +37,17 @@ Merlin6 offers the following directory classes for users:
* ``/scratch``: Local *scratch* disk (only visible by the node running a job). * ``/scratch``: Local *scratch* disk (only visible by the node running a job).
* ``/shared-scratch``: Shared *scratch* disk (visible from all nodes). * ``/shared-scratch``: Shared *scratch* disk (visible from all nodes).
* ``/export``: Export directory for data transfer, visible from `ra-merlin-01.psi.ch`, `ra-merlin-02.psi.ch` and Merlin login nodes. * ``/export``: Export directory for data transfer, visible from `ra-merlin-01.psi.ch`, `ra-merlin-02.psi.ch` and Merlin login nodes.
* Refer to **[Transferring Data](/merlin6/transfer-data.html)** for more information about the export area and data transfer service. * Refer to **[Transferring Data](../how-to-use-merlin/transfer-data.md)** for more information about the export area and data transfer service.
{{site.data.alerts.tip}}In GPFS there is a concept called <b>GraceTime</b>. Filesystems have a block (amount of data) and file (number of files) quota. !!! tip
This quota contains a soft and hard limits. Once the soft limit is reached, users can keep writing up to their hard limit quota during the <b>grace period</b>.
Once <b>GraceTime</b> or hard limit are reached, users will be unable to write and will need remove data below the soft limit (or ask for a quota increase In GPFS there is a concept called **GraceTime**. Filesystems have a block
when this is possible, see below table). (amount of data) and file (number of files) quota. This quota contains a soft
{{site.data.alerts.end}} and hard limits. Once the soft limit is reached, users can keep writing up to
their hard limit quota during the **grace period**. Once **GraceTime** or hard
limit are reached, users will be unable to write and will need remove data
below the soft limit (or ask for a quota increase when this is possible, see
below table).
Properties of the directory classes: Properties of the directory classes:
@@ -65,9 +61,13 @@ Properties of the directory classes:
| /shared-scratch | USR [512GB:2TB] | USR [2M:2.5M] | 7d | Up to x2 when strongly justified. | Changeable when justified. | no | N/A | | /shared-scratch | USR [512GB:2TB] | USR [2M:2.5M] | 7d | Up to x2 when strongly justified. | Changeable when justified. | no | N/A |
| /export | USR [10MB:20TB] | USR [512K:5M] | 10d | Soft can be temporary increased. | Changeable when justified. | no | N/A | | /export | USR [10MB:20TB] | USR [512K:5M] | 10d | Soft can be temporary increased. | Changeable when justified. | no | N/A |
{{site.data.alerts.warning}}The use of <b>scratch</b> and <b>export</b> areas as an extension of the quota <i>is forbidden</i>. <b>scratch</b> and <b>export</b> areas <i>must not contain</i> final data. !!! warning
<br><b><i>Auto cleanup policies</i></b> in the <b>scratch</b> and <b>export</b> areas are applied.
{{site.data.alerts.end}} The use of **scratch** and **export** areas as an extension of the quota
_is forbidden_. **scratch** and **export** areas _must not contain_ final
data.
**_Auto cleanup policies_** in the **scratch** and **export** areas are applied.
### User home directory ### User home directory
@@ -92,9 +92,9 @@ quota -s
#### Home directory policy #### Home directory policy
* Read **[Important: Code of Conduct](## Important: Code of Conduct)** for more information about Merlin6 policies. * Read **[Important: Code of Conduct](../quick-start-guide/code-of-conduct.md)** for more information about Merlin6 policies.
* Is **forbidden** to use the home directories for IO intensive tasks * Is **forbidden** to use the home directories for IO intensive tasks
* Use ``/scratch``, ``/shared-scratch``, ``/data/user`` or ``/data/project`` for this purpose. * Use `/scratch`, `/shared-scratch`, `/data/user` or `/data/project` for this purpose.
* Users can retrieve up to 1 week of their lost data thanks to the automatic **daily snapshots for 1 week**. * Users can retrieve up to 1 week of their lost data thanks to the automatic **daily snapshots for 1 week**.
Snapshots can be accessed at this path: Snapshots can be accessed at this path:
@@ -119,7 +119,7 @@ mmlsquota -u <username> --block-size auto merlin-user
#### User data directory policy #### User data directory policy
* Read **[Important: Code of Conduct](## Important: Code of Conduct)** for more information about Merlin6 policies. * Read **[Important: Code of Conduct](../quick-start-guide/code-of-conduct.md)** for more information about Merlin6 policies.
* Is **forbidden** to use the data directories as ``scratch`` area during a job runtime. * Is **forbidden** to use the data directories as ``scratch`` area during a job runtime.
* Use ``/scratch``, ``/shared-scratch`` for this purpose. * Use ``/scratch``, ``/shared-scratch`` for this purpose.
* No backup policy is applied for user data directories: users are responsible for backing up their data. * No backup policy is applied for user data directories: users are responsible for backing up their data.
@@ -131,7 +131,7 @@ shared by all members of the project (the project's corresponding unix group). W
project related storage spaces, since it allows users to coordinate. Also, project spaces have more flexible policies project related storage spaces, since it allows users to coordinate. Also, project spaces have more flexible policies
regarding extending the available storage space. regarding extending the available storage space.
Experiments can request a project space as described in **[[Accessing Merlin -> Requesting a Project]](/merlin6/request-project.html)** Experiments can request a project space as described in **[[Accessing Merlin -> Requesting a Project]](../quick-start-guide/requesting-projects.md)**
Once created, the project data directory will be mounted in the login and computing nodes under the dirctory: Once created, the project data directory will be mounted in the login and computing nodes under the dirctory:
@@ -147,13 +147,13 @@ mmlsquota -j $projectname --block-size auto -C merlin.psi.ch merlin-proj
#### Project Directory policy #### Project Directory policy
* Read **[Important: Code of Conduct](## Important: Code of Conduct)** for more information about Merlin6 policies. * Read **[Important: Code of Conduct](../quick-start-guide/code-of-conduct.md)** for more information about Merlin6 policies.
* It is **forbidden** to use the data directories as ``scratch`` area during a job's runtime, i.e. for high throughput I/O for a job's temporary files. Please Use ``/scratch``, ``/shared-scratch`` for this purpose. * It is **forbidden** to use the data directories as `scratch` area during a job's runtime, i.e. for high throughput I/O for a job's temporary files. Please Use `/scratch`, `/shared-scratch` for this purpose.
* No backups: users are responsible for managing the backups of their data directories. * No backups: users are responsible for managing the backups of their data directories.
### Scratch directories ### Scratch directories
There are two different types of scratch storage: **local** (``/scratch``) and **shared** (``/shared-scratch``). There are two different types of scratch storage: **local** (`/scratch`) and **shared** (`/shared-scratch`).
**local** scratch should be used for all jobs that do not require the scratch files to be accessible from multiple nodes, which is trivially **local** scratch should be used for all jobs that do not require the scratch files to be accessible from multiple nodes, which is trivially
true for all jobs running on a single node. true for all jobs running on a single node.
@@ -162,20 +162,20 @@ and all tasks need to do I/O on the same temporary files.
**local** scratch in Merlin6 computing nodes provides a huge number of IOPS thanks to the NVMe technology. **Shared** scratch is implemented using a distributed parallel filesystem (GPFS) resulting in a higher latency, since it involves remote storage resources and more complex I/O coordination. **local** scratch in Merlin6 computing nodes provides a huge number of IOPS thanks to the NVMe technology. **Shared** scratch is implemented using a distributed parallel filesystem (GPFS) resulting in a higher latency, since it involves remote storage resources and more complex I/O coordination.
``/shared-scratch`` is only mounted in the *Merlin6* computing nodes (i.e. not on the login nodes), and its current size is 50TB. This can be increased in the future. `/shared-scratch` is only mounted in the *Merlin6* computing nodes (i.e. not on the login nodes), and its current size is 50TB. This can be increased in the future.
The properties of the available scratch storage spaces are given in the following table The properties of the available scratch storage spaces are given in the following table
| Cluster | Service | Scratch | Scratch Mountpoint | Shared Scratch | Shared Scratch Mountpoint | Comments | | Cluster | Service | Scratch | Scratch Mountpoint | Shared Scratch | Shared Scratch Mountpoint | Comments |
| ------- | -------------- | ------------ | ------------------ | -------------- | ------------------------- | -------------------------------------- | | ------- | -------------- | ------------ | ------------------ | -------------- | ------------------------- | ------------------------------------ |
| merlin5 | computing node | 50GB / SAS | ``/scratch`` | ``N/A`` | ``N/A`` | ``merlin-c-[01-64]`` | | merlin5 | computing node | 50GB / SAS | `/scratch` | `N/A` | `N/A` | `merlin-c-[01-64]` |
| merlin6 | login node | 100GB / SAS | ``/scratch`` | 50TB / GPFS | ``/shared-scratch`` | ``merlin-l-0[1,2]`` | | merlin6 | login node | 100GB / SAS | `/scratch` | 50TB / GPFS | `/shared-scratch` | `merlin-l-0[1,2]` |
| merlin6 | computing node | 1.3TB / NVMe | ``/scratch`` | 50TB / GPFS | ``/shared-scratch`` | ``merlin-c-[001-024,101-124,201-224]`` | | merlin6 | computing node | 1.3TB / NVMe | `/scratch` | 50TB / GPFS | `/shared-scratch` | `merlin-c-[001-024,101-124,201-224]` |
| merlin6 | login node | 2.0TB / NVMe | ``/scratch`` | 50TB / GPFS | ``/shared-scratch`` | ``merlin-l-00[1,2]`` | | merlin6 | login node | 2.0TB / NVMe | `/scratch` | 50TB / GPFS | `/shared-scratch` | `merlin-l-00[1,2]` |
#### Scratch directories policy #### Scratch directories policy
* Read **[Important: Code of Conduct](## Important: Code of Conduct)** for more information about Merlin6 policies. * Read **[Important: Code of Conduct](../quick-start-guide/code-of-conduct.md)** for more information about Merlin6 policies.
* By default, *always* use **local** first and only use **shared** if your specific use case requires it. * By default, *always* use **local** first and only use **shared** if your specific use case requires it.
* Temporary files *must be deleted at the end of the job by the user*. * Temporary files *must be deleted at the end of the job by the user*.
* Remaining files will be deleted by the system if detected. * Remaining files will be deleted by the system if detected.
@@ -185,7 +185,7 @@ The properties of the available scratch storage spaces are given in the followin
### Export directory ### Export directory
Export directory is exclusively intended for transferring data from outside PSI to Merlin and viceversa. Is a temporary directoy with an auto-cleanup policy. Export directory is exclusively intended for transferring data from outside PSI to Merlin and viceversa. Is a temporary directoy with an auto-cleanup policy.
Please read **[Transferring Data](/merlin6/transfer-data.html)** for more information about it. Please read **[Transferring Data](../how-to-use-merlin/transfer-data.md)** for more information about it.
#### Export directory policy #### Export directory policy
@@ -193,5 +193,3 @@ Please read **[Transferring Data](/merlin6/transfer-data.html)** for more inform
* Remaining files will be deleted by the system if detected. * Remaining files will be deleted by the system if detected.
* Files not accessed within 28 days will be automatically cleaned up by the system. * Files not accessed within 28 days will be automatically cleaned up by the system.
* If for some reason the export area gets full, admins have the rights to cleanup the oldest data * If for some reason the export area gets full, admins have the rights to cleanup the oldest data
---

View File

@@ -1,5 +1,4 @@
--- ---
title: Using PModules
#tags: #tags:
keywords: Pmodules, software, stable, unstable, deprecated, overlay, overlays, release stage, module, package, packages, library, libraries keywords: Pmodules, software, stable, unstable, deprecated, overlay, overlays, release stage, module, package, packages, library, libraries
last_updated: 07 September 2022 last_updated: 07 September 2022
@@ -8,6 +7,8 @@ sidebar: merlin6_sidebar
permalink: /merlin6/using-modules.html permalink: /merlin6/using-modules.html
--- ---
# Using PModules
## Environment Modules ## Environment Modules
On top of the operating system stack we provide different software using the PSI developed PModule system. On top of the operating system stack we provide different software using the PSI developed PModule system.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -85,6 +85,17 @@ nav:
- merlin6/quick-start-guide/requesting-projects.md - merlin6/quick-start-guide/requesting-projects.md
- merlin6/quick-start-guide/accessing-interactive-nodes.md - merlin6/quick-start-guide/accessing-interactive-nodes.md
- merlin6/quick-start-guide/accessing-slurm.md - merlin6/quick-start-guide/accessing-slurm.md
- How To Use Merlin:
- merlin6/how-to-use-merlin/connect-from-linux.md
- merlin6/how-to-use-merlin/connect-from-windows.md
- merlin6/how-to-use-merlin/connect-from-macos.md
- merlin6/how-to-use-merlin/storage.md
- merlin6/how-to-use-merlin/transfer-data.md
- merlin6/how-to-use-merlin/archive.md
- merlin6/how-to-use-merlin/nomachine.md
- merlin6/how-to-use-merlin/ssh-keys.md
- merlin6/how-to-use-merlin/kerberos.md
- merlin6/how-to-use-merlin/using-modules.md
- PSI@CSCS: - PSI@CSCS:
- cscs-userlab/index.md - cscs-userlab/index.md
- cscs-userlab/transfer-data.md - cscs-userlab/transfer-data.md