Getting Started

June 13, 2016

Public Health England

London, England

Jason M. Coposky


Interim Executive Director

Little Slips of Paper & Dependencies

Provided locally - get details

Logging in to your VM:

Install iRODS Build Requirements:

sudo apt-get update


sudo apt-get -y install git g++ make python-dev help2man unixodbc libfuse-dev libcurl4-gnutls-dev libbz2-dev zlib1g-dev libpam0g-dev libssl-dev libxml2-dev libkrb5-dev unixodbc-dev libjson-perl python-psutil python-jsonschema super python-exif odbc-postgresql

Acquire the Prerequisites

Clone the training repository:




Download iRODS 4.1.8:

git clone

git clone

Install and configure Postgres

ubuntu $ sudo apt-get -y install postgresql

ubuntu $ sudo su - postgres

Prepare database for iRODS use:

postgres $ psql


CREATE USER irods WITH PASSWORD 'testpassword';



postgres $ exit

Install iRODS 4.1.8

sudo dpkg -i ./irods-icat-4.1.8-ubuntu14-x86_64.deb

sudo dpkg -i ./irods-database-plugin-postgres-1.8-ubuntu14-x86_64.deb

sudo apt-get -f install

sudo /var/lib/irods/packaging/ < /var/lib/irods/tests/localhost_setup_postgres.input

Install downloaded packages:

Run setup with provided input file:

Configure the Repository and Upgrade

Note: This is for Testing Purposes Only

wget -qO - | sudo apt-key add -
echo "deb [arch=amd64] $(lsb_release -sc) main" | \
  sudo tee /etc/apt/sources.list.d/renci-irods-unstable.list
sudo apt-get update

sudo apt-get -y install irods-server irods-database-plugin-postgres

Install public key and add repository:

Upgrade from repository:

sudo service irods start

Restart iRODS:

What to Consider in a iRODS Deployment

Things to consider

  • Number of users and expected simultaneous connections
  • Expected ingest rate
  • Sizes of files
    • many small
  • Partial read / write vs whole file usage
  • Replication for durability
  • Replication for locality of reference
  • Load balancing vs High Availability

iRODS will run on a laptop or a rack of servers

Upgrading Large Installations

Things to consider

  • Database Snapshots
  • Attempt a graceful grid-wide shutdown ahead of time
  • Test Zones - do not upgrade blindly
  • Conformance Tests - try your edge cases
  • Federated Zones - how mixed is your deployment



Maintenance Window

  • In the Lab:
    • 10M Data Objects
    • VM with 10GB RAM, 4 VCPUs, Rotational Disk
    • Upgrade from 4.1.8 to 4.2.0 took 13 minutes
  • Estimate:
    • 100M Data Objects to take ~2-3 hours


Anatomy of an iRODS installation

/etc/irods/core.* - iRODS Rule Language

/etc/irods/database_config.json - database configuration /etc/irods/host_access_control_config.json - hostname filtering

/etc/irods/hosts_config.json - local /etc/hosts style configuration

/etc/irods/server_config.json - primary server configuration

/etc/irods/service_account.config - service account information

/usr/bin/* - iCommands








/var/lib/irods - service account home directory

Introduction to iCommands

iRODS command line equivalent to standard Unix operations

  • ils
  • icd
  • ipwd
  • iput
  • iget
  • ihelp
  • irepl


Some command line examples...


Public Health England - Getting Started

By jason coposky

Public Health England - Getting Started

  • 1,339
Loading comments...

More from jason coposky