Swestore-iRODS

From SNIC Documentation
Jump to: navigation, search

Swestore iRODS

Swestore iRODS is distributed across two SNIC centres NSC and PDC. Data is stored in two copies with each copy at a different SNIC centre. This enables the system to cope with a multitude of issues ranging from a simple crash of a storage element to losing an entire site while still providing access to the stored data.

Using Swestore iRODS

Basic information

For basic information on how to apply for storage or how to become a member of an existing project, please check the main Swestore page.

Download and upload data

From the command line

There are several command line tools capable of using the protocols provided by Swestore iRODS. For interactive usage on SNIC clusters we recommend using the iCommands which should be installed on all SNIC resources. There are too many commands to document fully here.

  • Configuration of the icommands requires a file called irods_environment.json to be placed in a subdirectory .irods/ of your home directory (e.g. ~/.irods/irods_environment.json).

You must edit this with a text editor (not MS word, but notepad for Windows, textEdit for Mac or any Unix editor) and put your SNIC username in the place for <YOUR_SNIC_USER_NAME>.:

{
  "irods_host": "irods-login.swestore.se",
  "irods_port": 2432,
  "irods_default_resource": "pdc-gpfs",
  "irods_home": "/snic.se/home/<YOUR_SNIC_USER_NAME>",
  "irods_cwd": "/snic.se/home/<YOUR_SNIC_USER_NAME>",
  "irods_user_name": "<YOUR_SNIC_USER_NAME>",
  "irods_zone_name": "snic.se",
  "irods_client_server_negotiation": "request_server_negotiation",
  "irods_client_server_policy": "CS_NEG_REFUSE",
  "irods_encryption_key_size": 32,
  "irods_encryption_salt_size": 8,
  "irods_encryption_num_hash_rounds": 16,
  "irods_encryption_algorithm": "AES-256-CBC",
  "irods_default_hash_scheme": "SHA256",
  "irods_match_hash_policy": "compatible",
  "irods_authentication_scheme": "PAM" 
}

First issue

 iinit

which will ask for your iRODS password. You can specify a longer time limit for the session using the --ttl option, iinit -h --ttl will print help using this. The default generally will suffice.

Use

 ils

just to check if you can access your home directory. Please use the project directory to store files, which will be a subdirectory under //snic.se/projects/<SNIC_PROJECT_NAME>.

To transfer data you can use irsync like:

 irsync -v -r -K local_directory i:irods_directory

where

 -v for verbose.
 -r for recursive copy of the whole directory tree.
 -K to compute and check checksums. This involves higher CPU usage
    but gives confidence for the integrity of the data stored.

i.e.:

 irsync -r -K mydir i:/snic.se/projects/projectdir

If, for whatever reason the transfer had been interrupted the second invocation of the command with the same arguments should pick up and continue from that point.

The ihelp command will print a short description of the iRODS commands.

From GUI client

Graphical User Interface (GUI) clients are known to work on some operating systems.

Access using WebDAV (map a network drive)

WebDAV endpoint for Windows 10, Linux and OS X is https://snic-irods-webdav.pdc.kth.se:8443/snic.se/

Mac OS X
Accessing Swestore-iRODS via WebDAV on Mac OS X
WebDAV is a method for remotely managing files over the internet. With WebDAV, you can access files stored in Swestore iRODS project by using the same interface as you do with your local files.

Once you connect via WebDAV, and you authenticate, you can view and manage the folders and files stored in your project area. You can perform same actions – drag and drop, rename, delete – that you would on files and folders stored on your own computer.

This is OS standard WebDAV connection · "Connect to server" function in Finder :

To access Swestore iRODS via WebDAV you'll need to authenticate with your username and password. 1.Click the 'Finder' icon

MacOSX Finder.png

2.In 'Finder', locate the menu bar at the top and then navigate to Go > Connect to Server.

ConnectToServer.png

3.In the 'Connect to Server' dialog box, enter the URL to Swestore iRODS WebDAV endpoint, in the 'Server Address' field.

4.Click Connect.

Once the connection is made, you are prompted for your WebDAV username/password.

Once you’ve connected, the WebDAV directory is mounted in your 'Finder' and on your desktop.

You can now start adding, editing, deleting files in this directory from the comfort of your computer.

Mounted webdav GUI.png
This is an example how to mount with iRODS resource via "mount_webdav" command in your terminal

If you prefer to access your Swestore iRODS files via command line, you can mount the WebDAV-enabled server directory via mount_webdav command

MacOSX Terminal WebDAV mount.png
Windows
Accessing Swestore-iRODS via WebDAV on Windows
WebDAV is a method for remotely managing files over the internet. With WebDAV, you can access files stored in Swestore iRODS project by using the same interface as you do with your local files.

Once you connect via WebDAV, and you authenticate, you can view and manage the folders and files stored in your project area. You can perform same actions – drag and drop, rename, delete – that you would on files and folders stored on your own computer.

How to map the Swestore iRODS to a Windows computer

1. You should have received an email telling you about your Swestore iRODS username

2. We’ll use "s_user" for example

3. We'll assume that you have set your password at SNIC SUPR for the Swestore iRODS account

4. Open “File Explorer”

5. Right-click “Network”

Screenshot 2020-12-08 at 09.55.18.png

6. Click “Map network drive”

7. Click the hyperlinked "Connect to a Web site that you can use to store your documents and pictures."

8. Click "Next" two times (while choosing "Choose a custom network location")

9. On "Specify the location of your website" enter https://snic-irods-webdav.pdc.kth.se:8443

Screenshot 2020-12-08 at 10.03.52.png

10. Enter username and password, e.g. s_user and password

Screenshot 2020-12-08 at 10.04.36.png

11. You can choose to name your new network drive with something meaningful

11. You should now see the folder mapped to File Explorer!

Screenshot 2020-12-08 at 10.08.15.png


From a web browser

Davrods is an Apache WebDAV interface to iRODS
Davrods Projects https://snic-irods-webdav.pdc.kth.se:8443/snic.se/projects/ To browse private data you'll need to authenticate with your username and password. This interface is intended as simple directory index interface. It's purpose is to list, view, download, publish, share data. It is NOT intended to upload data.
Swestore-iRODS simple webdav dir listing.png
Home https://snic-irods-webdav.pdc.kth.se:8443/snic.se/home/ To browse private data you'll need to authenticate with your username and password.
Public http://snic-irods-webdav.pdc.kth.se:8888/snic.se/home/public/ This web interface is used to share data with "world" and no authentication is required.
NOTE: different port 8888 
Metalnx Login https://snic-irods-web.pdc.kth.se/emc-metalnx-web/login/ To access SNIC iRODS Zone you'll need to authenticate with your username and password. Metalnx is a web application designed to work alongside iRODS. It is a graphical user interface and serves as a client that authenticates to an existing iRODS Zone.
Screenshot 2020-03-04 at 14.09.10.png

Share your data

If you want to make some of your project folders world readable (i.e. make them available for download for external collaborators who don't have Swestore account), you can follow two different approaches. The first one is to use Metalnx graphical interface; the second is to use command line interface.

In both cases we are giving read permissions to anonymous user!

Let's assume you want to share your "sharefolder" with your external collaborators

[vitlacil@t04n27 ~]$ ils /snic.se/projects/operations/sharefolder/
/snic.se/projects/operations/sharefolder:
  FitSM-0_Overview_and_vocabulary.pdf
  FitSM-1_Requirements.pdf
  FitSM_Advanced_Training_SOC_V2.5.pdf
  FitSM_Advanced_Training_SPD_V2.5.pdf
  FitSM_Advanced_Training_SPD_V2.5_0.pptx
  FitSM_Expert_Training_V1.4.pdf
  FitSM_Foundation_Training_V2.10.pdf
  FitSM_Foundation_Training_V2.10.pptx
  FitSM_Foundation_Training_V2.11.pdf
  FitSM_Guide_Identifying_Services_v1.0.pdf
  FitSM_Sample_Corporate_SLA_v1.0.docx
  FitSM_Sample_Service_Portfolio_Catalogue_v2.0_final.xlsx
  FitSM_Template_SLA_1.0.docx
  FitSM_Teplate_Basic_Service_Report_1.0.docx
  C- /snic.se/projects/operations/sharefolder/README
  C- /snic.se/projects/operations/sharefolder/test
[vitlacil@t04n27 ~]$
  • Use Metalnx, web application graphical interface, to change permissions on the folder

1. Go to Metalnx login page and authenticate -> https://snic-irods-web.pdc.kth.se/emc-metalnx-web/login/

2. Navigate to folder to share and select "Permissions" from dropdown box at the end of the path

N.B. When under heavy load, web interface can be slow. Please have patience, we are looking into this.

See picture:

Folder sharing.png

3. Now you can add read permission to anonymous user. Consider also if you are going to apply it to subcollections and files

Folder Permissions.png

4. Now your folder permissions should list read permission to anonymous user

Permissions listing.png

4. Now your files are visible and downloadable via http://snic-irods-webdav.pdc.kth.se:8888/snic.se/projects/operations/sharefolder

NOTE: different port 8888 


List of shared files.png

  • Use command line interface to change permission on folder
[vitlacil@t04n27 ~]$ ichmod -r read anonymous /snic.se/projects/operations/sharefolder

Publish your data

For publishing your data via Swestore iRODS, please get in touch with Swestore support at Swestore Support.

Transfer your data

A good way to transfer data from and to Swestore iRODS is to use the irsync command to synchronise a local directory with iRODS (similar to the Unix rsync command). It can be used to make an exact copy of a directory hierarchy on a local disk within iRODS, or retrieve an exact copy of a directory hierarchy already stored in iRODS. It may also be used to create an exact copy of a file or directory within iRODS.

NOTE: iRODS paths are identified with an i: prefix in the irsync command.

For example, if you have created a directory within iRODS called “/snic.se/projects/myproject/data”, and you wish to retrieve an exact copy of that “data” directory on your local filesystem, run the command:

$ irsync -vrK i:/snic.se/projects/myproject/data /tmp/data

We encourage you to use -K option, where:

 -K verify checksum - calculate and verify the checksum on the data

Synchronise the data from local filesystem into iRODS using the command:

$ irsync -vrK /tmp/data i:/snic.se/projects/myproject/new_data

Note 2: We encourage you also to re-run irsync command one additional time after data transfer. Files will not be transfered but checksums will be recomputed and compared. Be aware that this operation is CPU intensive and it will take time.

Using Swestore iRODS at PDC

Using Swestore iRODS at NSC

Here you can read more about the NSC specific aspects