IRODS hands-on tutorial Christine Staiger SURFsara Amsterdam, 8 th May 2014 8 th May 2014.

Slides:



Advertisements
Similar presentations
AD User Import From SIMS.NET
Advertisements

Introduction to iRODS Christine Staiger SURFsara Amsterdam, 8 th May th Oct 2014.
KX-NS1000 Initial Set Up For step by step : 16 May,
Unauthorized Reproduction Prohibited SkyPoint Alarm Integration Add-On Using OnGuard Alarms to create events in SkyPoint Also called ‘SkyPoint V0’ CR4400.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
New Student Orientation Registration System Stephen Nakamura EE496 Final Presentation Fall 2008.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
CS1020: Intro Workshop. Topics CS1020Intro Workshop Login to UNIX operating system 2. …………………………………… 3. …………………………………… 4. …………………………………… 5. ……………………………………
Hands-On Microsoft Windows Server 2003 Administration Chapter 6 Managing Printers, Publishing, Auditing, and Desk Resources.
Linux+ Guide to Linux Certification, Second Edition
Virtual Machine and UNIX. What is a VM? VM stands for Virtual Machine. It is a software emulation of hardware. By using a VM, you can have the same hardware.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
Chapter 5 File and Printer Services
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
Linux Operations and Administration
Hands-On Microsoft Windows Server 2008
Module 13: Configuring Availability of Network Resources and Content.
Sharing Resources Lesson 6. Objectives Manage NTFS and share permissions Determine effective permissions Configure Windows printing.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Help session: Unix basics Keith 9/9/2011. Login in Unix lab  User name: ug0xx Password: ece321 (initial)  The password will not be displayed on the.
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
Module 7: Fundamentals of Administering Windows Server 2008.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
DIT314 ~ Client Operating System & Administration CHAPTER 5 MANAGING USER ACCOUNTS AND GROUPS Prepared By : Suraya Alias.
The Professional Open Source™ Company CLI Shell JBossNetwork Enterprise Manager Command Line Interface.
Production Data Grids SRB - iRODS Storage Resource Broker Reagan W. Moore
Module 4 : Installation Jong S. Bok
1 Chapter Overview Preparing to Upgrade Performing a Version Upgrade from Microsoft SQL Server 7.0 Performing an Online Database Upgrade from SQL Server.
IRODS Service in GIMI. 2 User Can Search, Access, Add and Manage Data & Metadata Access distributed data with Web-based Browser or iRODS GUI or Command.
A Brief Documentation.  Provides basic information about connection, server, and client.
Chapter 10 Chapter 10: Managing the Distributed File System, Disk Quotas, and Software Installation.
Chapter 3 & 6 Root Status and users File Ownership Every file has a owner and group –These give read,write, and execute priv’s to the owner, group, and.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
Core 3: Communication Systems. Network software includes the Network Operating Software (NOS) and also network based applications such as those running.
1 AHM -2-4 Sept 2003 e-Science Centre Running SRB Ananta Manandhar.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Free Powerpoint Templates Page 1 Free Powerpoint Templates Users and Documents.
Linux Operations and Administration
GIMI iRODS Use Cases - Preparation Create an account for user: shuang – iadmin mkuser shuang user_type Assign user to a group – iadmin atg groupName shuang.
VIRTUAL HOSTING WITH PureFTPd And MYSQL (Quota And Bandwidth Management) BY Odoh Kenneth Emeka Sun Yu Patrick Appiah.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Integrity Check As You Well Know, It Is A Violation Of Academic Integrity To Fake The Results On Any.
How to setup DSS V6 iSCSI Failover with XenServer using Multipath Software Version: DSS ver up55 Presentation updated: February 2011.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
CACI Proprietary Information | Date 1 PD² v4.2 Increment 2 SR13 and FPDS Engine v3.5 Database Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead.
Introduction to iRODS Christine Staiger SURFsara 10 th Oct 2014.
IRODS Advanced Features Michael Wan
Digital Libraries, Preservation Environments, and Data Grids Reagan W. Moore San Diego Supercomputer Center
2Operating Systems  Program that runs on a computer  Manages hardware resources  Allows for execution of programs  Acts as an intermediary between.
9/21/04 James Gallagher Server Installation and Testing: Hands-on ● Install the CGI server with the HDF and FreeForm handlers ● Link data so the server.
SQL Database Management
Presented by [Harshit Agrawal] 04/03/2017
GRID COMPUTING.
CS1010: Intro Workshop.
Hadoop Architecture Mr. Sriram
An Overview of iRODS Integrated Rule-Oriented Data System
The pScheduler Command-Line Interface
Data Management in Release 2
Lab 1 introduction, debrief
Printer Admin Print Job Manager
Configuration Of A Pull Network.
Presentation transcript:

iRODS hands-on tutorial Christine Staiger SURFsara Amsterdam, 8 th May th May 2014

The Basics ①Installation ②Tools for administration ③Adding data and metadata Complex storage systems ①Federations between data grids ①Resources and Compound resources Contents

The Basics

Demo Data Grids 10 Virtual machines: ssh 4 IP adressUserPassword irods01irods irods2irods irods3irods irods4irods irods5irods irods6irods irods7irods irods8irods irods9irods irods10irods1004

Installation 5 Execute./irodssetup in the folder iRODS Export the icommands export PATH=$PATH:/home/user/iRODS/clients/icommands/bin ~/iRODS/config/irods.config # Database configuration $DATABASE_TYPE = 'postgres'; … $DATABASE_HOST = 'localhost'; $DATABASE_PORT = '5432'; $DATABASE_ADMIN_PASSWORD = 'irods2'; $DATABASE_ADMIN_NAME = ’alice'; # iRODS configuration IRODS_HOME = '/home/alice/iRODS'; $IRODS_PORT = '1247’; … $IRODS_ADMIN_PASSWORD = ’alice'; $IRODS_ICAT_HOST = '';

iRODS i-commands Documentation: (we don’t provide a exhaustive list of i-commands) 6

iRODS Control Execute./irodsctl arg in the folder iRODS Restarting, starting and stopping the iRODS and iCAT server with arg = restart, start, stop Restarting, starting and stopping only the iRODS server with arg = irestart, istart, istop Initialise an account and log in with iinit

.irodsEnv file # iRODS personal configuration file. # # This file was automatically created during iRODS installation. # Created Mon Jun 18 13:13: # # iRODS server host name: irodsHost ’surfsara-cloud' # iRODS server port number: irodsPort 1247 # Default storage resource name: irodsDefResource 'demoResc' # Home directory in iRODS: irodsHome '/alicesZone/home/alice' # Current directory in iRODS: irodsCwd '/alicesZone/home/alice' # Account name: irodsUserName ’alice' # Zone: irodsZone ‘alicesZone' 8 The.irodsEnv determines the zone and the user for the icommands-client. You can only have one such file at a time.

The icommands client icommands are automatically installed when you install the iRODS server Users will have to install them seperately to connect to an iRODS server Categories: Informational UNIX and FTP like Metadata Functional 9

ihelp 10 ihelp Lists all commands ihelp -h Usage : ihelp [-ah] [icommand] Display i-commands synopsis or a particular i-command help text Options are: -h this help -a print the help text for all the i-commands Run with no options to display a synopsis of the i-commands iRODS Version February 2014 ihelp

ienv Lists the iRODS environment variables. Equivalent to “iinit -l” Usage : ienv [-h] 11 NOTICE: Release Version = rods3.3.1, API Version = d NOTICE: irodsHost=surfsara-cloud NOTICE: irodsPort=1247 NOTICE: irodsDefResource=demoResc NOTICE: irodsHome=/alicesZone/home/alice NOTICE: irodsCwd=/alicesZone/home/alice NOTICE: irodsUserName=alice NOTICE: irodsZone=alicesZone

iuserinfo Show information about your iRODS user account or the entered user Usage: iuserinfo [-vVh] [user] 12 name: alice id: type: rodsadmin zone: alicesZone info: comment: create time: : :19:27 modify time: : :19:27 member of group: alice member of group: public

imiscsvrinfo Connect to the server and retrieve some basic server information Can be used as a simple test for connecting to the server. Usage: imiscsrvinfo [-hvV] 13 RCAT_ENABLED relVersion=rods3.3.1 apiVersion=d rodsZone=alicesZone up 0 days, 5:54

ilsresc ilsresc lists iRODS resources and resource-groups Usage: ilsresc [-lvVhA] [Name] 14 ilsresc demoResc ilsresc –l demoResc resource name: demoResc resc id: zone: alicesZone type: unix file system class: archive location: surfsara-cloud vault: /home/alice/iRODS/Vault …

Some commands Unix-like: ils, ipwd, icd, imkdir, irm, icp ichmod, ipasswd, irsync, ichksum, imv FTP-like: iinit, iput, iget, iexit Test: Create folder in the logical name space ipwd imkdir NewFolder ils NewFolder irm –r NewFolder 15

icommands - ACLs 16 List ACLs (Access Control Lists) in a collection: ils -A /alice/home/alice: ACL - alice#alicesZone:own Inheritance - Disabled

Administration 17 Change to admin mode: iadmin Quit admin mode: q Make/delete a user: mkuser, rmuser, moduser (iadmin) mkuser user1 rodsuser (iadmin) moduser user1 password ***** Parameters and their values: iadmin lt, iadmin lt user_type iadmin mkresc, iadmin rmresc Create new resource: mkdir Data (in your home, not in the iRODS environment) iadmin mkresc NewDataResc “unix file system” cache “/home/alice/Data”

Put and replicate data 18 Add the file /home/login/put1.txt to resource iput –v put1.txt iput -h ichksum put1.txt (check sum of copy in Vault) md5sum put1.txt (check sum of file in /home/login) iput -R NewDataResc put2.txt Replicate data: irepl -R NewDataResc put1.txt Trim number of copies: itrim -S demoResc -N 1 put1.txt

Access Control Lists 19 Change permission for a user: ichmod read user1 put1.txt List access: ils -A Change permissions for group “public”: Make a directory in the iRODS environment: imkdir temp Make directory readable for “public”: ichmod -r read public temp ils –A /bobsZone/home/bob/temp: ACL - bob#bobsZone:own g:public#bobsZone:read object Inheritance - Disabled

iRODS Metadata Commands: imeta, iquest, idbo Add metadata: imeta add -d put1.txt “Date” “ ” imeta add -d put1.txt “AnotherDate” “ ” imeta ls -d put1.txt Remove metadata: imeta rm -d put1.txt “Date” “ ” Querying the iCAT: iquest "SELECT DATA_NAME,DATA_CHECKSUM WHERE DATA_RESC_NAME like ’%Resc%’” DATA_NAME = put1.txt DATA_CHECKSUM = c16d7d a3348b12eb82795d28c 20

Complex storage systems

Federation between data grids List all existing zones: ils / Zone A acknowledges Zone B and vice-cersa iadmin mkzone B remote Host:Port Zone A adds remote user from Zone B: iadmin mkuser user#B rodsuser Example: Alice and Bob: Alice acknowledges Bob’s zone: iadmin mkzone bobsZone remote :1247 Bob acknowledges Alice’s zone: iadmin mkzone alicesZone remote :1247 Alice creates remote user Bob: iadmin mkuser bob#bobsZone rodsuser Now Bob can list and alter files in Alice’s zone: ils /alicesZone 22

Trouble shooting ERROR: putUtil: put error for /alicesZone/home/bob#bobsZone/put1.txt, status = status = SYS EXCEED CONNECT CNT Host configuration problem on the server. Solution: Edit iRODS/server/config/irodsHost localhost you.rIP.XX.XX surfsara-cloud localhost /irodsctl restart 23

Data Replication between grids Bob copies a file from his zone to his account in Alice’s zone irsync –R demoResc i:/bobsZone/home/bob/put1.txt i:/alicesZone/home/bob#bobsZone/put1.txt -R specifies the target resource Bob copies a frile from his home directory to Alice’s zone irsync –R demoResc put3.txt i:/alicesZone/home/bob#bobsZone/put3.txt Bob copies a file from Alice’s zone to his home directory mkdir test irsync i:/alicesZone/home/bob#bobsZone/put3.txt test/put3.txt Bob deletes a file in Alice’s zone irm /alicesZone/home/bob#bobsZone/put3.txt 24

Remote Resources Install iRODS, iCAT disabled Build an iRODS server [yes]? Make this Server ICAT-Enabled [yes]? no Host running iCAT-enabled iRODS server? … Resource name [demoResc2]? myResc2 Resource storage area directory [/home/irodsadmin/iRODS/Vault]? /home/irodsadmin/iRODS/alicesVault … The irodsServer will authenticate to the other servers via an existing iRODS administrator account. Existing iRODS admin login name [rods]? alice Password [rods]? ******** Enter the zone as defined in your ICAT iRODS zone name [tempZone]? alicesZone

Resource Groups Exercise Resource Groups Create two data resources of type cache Group them: iadmin atrg groupName resourceName Deposit data in resource group: iput file groupName Add some data to the resource group Check with ils where the file is located virtually and physically How to automatically replicate data to resources in the same resource group?

iRODS Microservices Micro-services are small, well-defined procedures/functions that perform a simple task ( services) services Examples: “msiCollCreate”, “msiDataObjRepl”, “msiDataObjChksum”, … To convert any C procedure (createCollection) into a microservice create an interface routine (msiCreateCollection) 27

iRODS Rules Example: replicate.r replicate{ msiWriteRodsLog("starting replication", *status); msiWriteRodsLog("source = *source", *status); msiDataObjRsync(*source, "IRODS_TO_IRODS", "null", *destination, *rsyncStatus); } INPUT *source="/bobsZone/home/bob/put3.txt", *destination="/alicesZone/home/bob#bobsZone/put3.txt" OUTPUT ruleExecOut  Execute irule -vF ~/rules/replicate.r  Check with ils /alicesZone/home/bob#bobsZone 28

Time delayed and periodic jobs Example test.r myTestRule{ delay(" 60s "){ msiWriteRodsLog("Hello World.", *status); } INPUT *A="1" OUTPUT ruleExecOut Writes the output to iRODS/server/log/reLog*, also check rodsLog* Use iqstat, iqdel and iqmod to list, delete and modify delayed rules. delay(” 5m EF>1h ”) Start job in 5 minutes and restart it every 1 hour Predefined rules: iRODS/server/config/reConfigs/core.re 29

Compound resources List resource types: iadmin lt resc_type A compound resource consists of cache and a storage resource (s3, MSS universal driver) Storage resource can be located on several different severs Example: Universal Mass Storage User writes data to cache, system replicates data to storage and deletes it from cache admin mkresc Cache "unix file system" cache /home/alice/Cache iadmin mkresc mssStore 'MSS universal driver' compound /home/alice/MSS iadmin atrg mssGroup Cache iadmin atrg mssGroup mssStore

Compound resources The mssStore can be of any hardware type which might require certain protocols to put and get data, e.g. gridFTP The resource type 'MSS universal driver’ triggers iRODS to look for a file iRODS/server/bin/cmd/univMSSInterface.sh to overwrite the put and get functions Template in iRODS/server/bin/cmd/examples Example file in TODO

The Universal Mass Storage Interface Logging: _log() LOGFILE=/home/irodsadmin/univMSSInterface.log  Change the path Copy between cache and storage: syncToArch(), stageToCache() _log 2 syncToArch "entering syncToArch()=$*" _log 2 syncToArch "executing: /bin/cp -f \"$1\" \"$2\"" /bin/cp -f "$1" "$2” error=$? if [ $error != 0 ] # copy failure then STATUS="FAILURE" fi _log 2 syncToArch "The status is $error ($STATUS)" return $error

Replicate data replicateDiskCache { delay(" 30s 15m ") { … *Condition = "DATA_RESC_NAME = '*CacheRescName' AND COLL_NAME like '*Collection%'"; msiMakeGenQuery("DATA_NAME, COLL_NAME, DATA_SIZE, order(DATA_CREATE_TIME)",*Condition,*Query2); msiExecGenQuery(*Query2,*List); while ( *ContInxOld > 0 ) { foreach ( *List ) { msiGetValByKey(*List,"DATA_NAME",*D); msiGetValByKey(*List,"COLL_NAME",*C); msiDataObjRepl("*C/*D","backupRescName=*PnfsRescName++++ rescName=*CacheRescName++++irodsAdmin=",*status)} } }}

Replicate data Save as YourFilename.re in iRODS/server/config/reConfigs/ Edit server/config/server.config reRuleSet core,YourFilename irule replicateDiskCache "*Collection=/yourZone%*PnfsRescName= yourMssStore%*CacheRescName=yourCache" ruleExecOut iput -R mssGroup../put1.txt ils -l /alicesZone/home/alice: alice 0 Cache :26 & put1.txt Check with iqstat -l when the rule will be executed Some time later: ils -l /alicesZone/home/alice: alice 0 Cache :26 & put1.txt alice 1 mssStore :36 & put1.txt No space!

Purge Cache Write a rule to purge the cache Purge cache when data is replicated and if not enough space left in cache Call by: irule purgeDiskCache "*Collection=/testZone%*PnfsRescName=mssStore %*CacheRescName=Cache%*MaxSpAlwdTBstring=2" ruleExecOut MaxSpAlwdTBstring: the size when to purge, string

Thank you !