How to access ResearchFS storage from ARC: Difference between revisions

From RCSWiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Background =
[[Storage_Options#ResearchFS | ResearchFS]]
is a University of Calgary-hosted storage solution funded and operated by '''RCS'''.
It is available by request to faculty and staff for storing '''active research data'''.
'''ResearchFS''' storage is presented to researchers as mountable Windows '''SMB/CIFS''' network shares.
Direct mounting of '''ResearchFS shares''' on ARC is not supported.
Data can instead be transferred between the '''ARC cluster''' and '''ResearchFS''' using '''rclone'''.


[https://rclone.org/ Rclone] is a command-line program for managing files on remote storage systems.
[https://rclone.org/ Rclone] is a command-line program for managing files on remote storage systems.
On the ARC cluster, it can be used to download data from and upload data to the '''UofC ResearchFS''' storage.
It can access ResearchFS directly using the SMB protocol, without mounting the network share on ARC.
 
ResearchFS storage is presented to researchers as Windows '''SMB/CIFS''' network shares.
On Linux, SMB shares can be accessed using software such as Samba or, as described here, directly using '''rclone'''.


= Rclone configuration =
= Rclone configuration =
Line 22: Line 30:
Obscuring a password is '''not encryption''' and should not be considered secure storage for your UofC password.
Obscuring a password is '''not encryption''' and should not be considered secure storage for your UofC password.


Kerberos provides a more appropriate way to authenticate to ResearchFS without storing your UofC password in the rclone configuration file.


Choose the following options during <code>rclone config</code>:
'''Kerberos''' is a secure network authentication protocol that allows users to authenticate to services in a consistent and secure way. It is a more appropriate way to authenticate to '''ResearchFS''' and avoids storing your UofC password in the '''rclone''' configuration file.
 
 
Run
$ rclone config


and choose the following options:
* New remote
* New remote
* Name --> ResearchFS
* Name --> ResearchFS
Line 89: Line 101:


To list the shares available on ResearchFS:
To list the shares available on ResearchFS:
 
$ rclone lsf ResearchFS:
$ rclone lsf ResearchFS:


To list files and directories inside your share:
To list files and directories inside your share:
 
$ rclone lsf ResearchFS:my_share/
$ rclone lsf ResearchFS:my_share/


= Transferring directories between ResearchFS and ARC =
= Transferring directories between ResearchFS and ARC =


To copy the '''contents''' of a local directory named <code>arc_data</code> to a directory named <code>arc_data</code> on ResearchFS:
To copy the '''contents''' of a local directory named <code>arc_data</code> to a directory named <code>arc_data</code> on ResearchFS:
$ rclone copy -P arc_data ResearchFS:my_share/arc_data


$ rclone copy -P arc_data ResearchFS:my_share/arc_data
The <code>-P</code> option displays the progress of the transfer,  
 
including the amount of data transferred, transfer speed, and estimated completion time.
The <code>-P</code> option displays the progress of the transfer, including the amount of data transferred, transfer speed, and estimated completion time.


To copy the contents of the ResearchFS directory back to a local <code>arc_data</code> directory on ARC:
To copy the contents of the ResearchFS directory back to a local <code>arc_data</code> directory on ARC:
 
$ rclone copy -P ResearchFS:my_share/arc_data arc_data
$ rclone copy -P ResearchFS:my_share/arc_data arc_data


Note that <code>rclone copy</code> copies the '''contents''' of the source directory into the specified destination.
Note that <code>rclone copy</code> copies the '''contents''' of the source directory into the specified destination.
Line 112: Line 121:


For example:
For example:
 
$ rclone copy -P arc_data ResearchFS:my_share/arc_data
$ rclone copy -P arc_data ResearchFS:my_share/arc_data


copies the contents of the local <code>arc_data</code> directory into <code>my_share/arc_data</code> on ResearchFS.
copies the contents of the local <code>arc_data</code> directory into <code>my_share/arc_data</code> on ResearchFS.
Line 123: Line 131:


After transferring important data, you can use <code>rclone check</code> to compare the source and destination:
After transferring important data, you can use <code>rclone check</code> to compare the source and destination:
 
$ rclone check arc_data ResearchFS:my_share/arc_data
$ rclone check arc_data ResearchFS:my_share/arc_data


To check a transfer in the opposite direction:
To check a transfer in the opposite direction:
 
$ rclone check ResearchFS:my_share/arc_data arc_data
$ rclone check ResearchFS:my_share/arc_data arc_data


The <code>check</code> operation compares the files at the source and destination without modifying either location.
The <code>check</code> operation compares the files at the source and destination without modifying either location.

Latest revision as of 21:39, 18 August 2026

Background

ResearchFS is a University of Calgary-hosted storage solution funded and operated by RCS. It is available by request to faculty and staff for storing active research data.


ResearchFS storage is presented to researchers as mountable Windows SMB/CIFS network shares. Direct mounting of ResearchFS shares on ARC is not supported. Data can instead be transferred between the ARC cluster and ResearchFS using rclone.


Rclone is a command-line program for managing files on remote storage systems. It can access ResearchFS directly using the SMB protocol, without mounting the network share on ARC.

Rclone configuration

rclone can access SMB/CIFS storage using its native SMB/CIFS connector without mounting the share on the cluster.

WARNING: When configuring a new remote using the interactive

$ rclone config

command, do not enter your UofC password into the rclone configuration. Instead, leave the password blank and enable Kerberos authentication.

If a password is provided, rclone stores an obscured version of it in its configuration file. Obscuring a password is not encryption and should not be considered secure storage for your UofC password.


Kerberos is a secure network authentication protocol that allows users to authenticate to services in a consistent and secure way. It is a more appropriate way to authenticate to ResearchFS and avoids storing your UofC password in the rclone configuration file.


Run

$ rclone config

and choose the following options:

  • New remote
  • Name --> ResearchFS
  • Storage --> smb
  • Host --> researchfs.uc.ucalgary.ca
  • Port --> default (445)
  • User --> <your_uofc_IT_username>
  • Samba password --> leave blank
  • Domain --> UC
  • SPN --> leave blank
  • use_kerberos --> true
  • Edit advanced config --> No
  • Keep this remote? --> Yes
  • Quit

Alternatively, if you already have an rclone configuration file, you can edit it directly.

Add the following section to ~/.config/rclone/rclone.conf:

[ResearchFS]
type = smb
host = researchfs.uc.ucalgary.ca
user = <uofc_username>
domain = UC
use_kerberos = true

Obtaining a Kerberos ticket

Before accessing ResearchFS, you need a valid Kerberos ticket.

Obtain one with:

$ kinit
Password for username@UC.UCALGARY.CA:

Enter your UofC password when prompted. The password is used to obtain a Kerberos ticket and is not stored in the rclone configuration.

You can check your Kerberos tickets with:

$ klist

Ticket cache: FILE:/tmp/krb5cc_11111111
Default principal: username@UC.UCALGARY.CA

Valid starting     Expires            Service principal
08/14/26 15:06:05  08/15/26 01:06:05  krbtgt/UC.UCALGARY.CA@UC.UCALGARY.CA
        renew until 08/21/26 15:05:58

The Kerberos credential cache (for example, /tmp/krb5cc_11111111) contains the ticket that rclone uses when authenticating to ResearchFS.

Kerberos tickets have a limited lifetime. The expiration time is shown by klist. If your ticket has expired, run kinit again to obtain a new one.

Accessing ResearchFS shares

To list the shares available on ResearchFS:

$ rclone lsf ResearchFS:

To list files and directories inside your share:

$ rclone lsf ResearchFS:my_share/

Transferring directories between ResearchFS and ARC

To copy the contents of a local directory named arc_data to a directory named arc_data on ResearchFS:

$ rclone copy -P arc_data ResearchFS:my_share/arc_data

The -P option displays the progress of the transfer, including the amount of data transferred, transfer speed, and estimated completion time.

To copy the contents of the ResearchFS directory back to a local arc_data directory on ARC:

$ rclone copy -P ResearchFS:my_share/arc_data arc_data

Note that rclone copy copies the contents of the source directory into the specified destination. It does not automatically append the source directory name to the destination path.

For example:

$ rclone copy -P arc_data ResearchFS:my_share/arc_data

copies the contents of the local arc_data directory into my_share/arc_data on ResearchFS.

If a transfer is interrupted, the same rclone copy command can be run again. Files that have already been successfully transferred and are unchanged do not need to be copied again.

Verifying transferred data

After transferring important data, you can use rclone check to compare the source and destination:

$ rclone check arc_data ResearchFS:my_share/arc_data

To check a transfer in the opposite direction:

$ rclone check ResearchFS:my_share/arc_data arc_data

The check operation compares the files at the source and destination without modifying either location. It reports missing or different files, making it useful for verifying that a transfer completed successfully.

Links

How-Tos