Globus GridFTP Plugin for iRODS

February 3, 2017

Renaissance Computing Institute (RENCI)

Chapel Hill, NC

Justin James

Applications Engineer

iRODS Consortium

GridFTP and Globus Overview

  • GridFTP - a high-performance, secure, reliable data transfer protocol optimized for high-bandwidth wide-area networks.
     
  • Globus Toolkit - tools for grid computing provided by the Globus Alliance.  
     
  • Security provided by Grid Security Infrastructure (GSI)

GridFTP iRODS Data Storage Interface

  • GridFTP can be extended by implementing an interface called Data Storage Interface (DSI)

 

  • CINECA's SuperComputing Applications and Innovations (SCAI) built a DSI interface to access iRODS data objects.

 

  • The GridFTP iRODS DSI consists of C functions that interact with iRODS through the iRODS C API.

Using the GridFTP Client with iRODS

  • Users can access iRODS through a GridFTP client like globus-url-copy.

 

  • No iRODS code is required to be installed on the client side.

 

  • The following is an example session using the globus-url-copy command.
$ globus-url-copy file.dat gsiftp://server.example.org:2811/tempZone/home/user1/file.dat
$ globus-url-copy gsiftp://server.example.org:2811/tempZone/home/user1/file.dat file2.dat
$ diff file.dat file2.dat

Security

  • Clients and servers each have unique signed GSI certificates which are used for mutual authentication.
  • Authorization is a two step process:
    1. The client's distinguished name must map to an iRODS user by:
      • A grid-mapfile

        or
      • A mapping in the iRODS database using the command
         
    2. The user must exist in iRODS or the request will fail.

 

$ iadmin aua user1 "/O=Grid/OU=GlobusTest/OU=simpleCA-server.example.org/OU=Globus Simple CA/CN=user1"
$ less /etc/grid-security/grid-mapfile
"/O=Grid/OU=GlobusTest/OU=simpleCA-server.example.org/OU=Globus Simple CA/CN=user1" user1 

Diagram

More Information

The iRODS DSI Code can be found at:

      https://github.com/EUDAT-B2STAGE/B2STAGE-GridFTP

 

A blog post with more detail can be found at:

     https://irods.org/2017/02/setting-up-irods-4.2-with-gridftp-using-b2stage-gridftp/

Globus GridFTP Plugin for iRODS

By iRODS Consortium

Globus GridFTP Plugin for iRODS

  • 2,509