Skip to content
Snippets Groups Projects
dice.md 10.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jan Siwiec's avatar
    Jan Siwiec committed
    # What Is DICE Project?
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    DICE (Developing Innovation and Creativity in Education) is an international project co-funded by the Erasmus+ Programme of the European Union.
    
    Its main goals are related to fostering innovation and creativity in education.
    
    This project attempts to be a leading initiative that supports educational community to make progress in the field of innovation and creativity through effective, authentic, practical, sustainable actions.
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    This project has been funded with support from the European Commission.
    For more information, see [http://www.diceproject.eu/][b].
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    **IT4Innovations participates in DICE. DICE uses the iRods software**
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    The integrated Rule-Oriented Data System (iRODS) is an open source data management software used by research organizations and government agencies worldwide. iRODS is released as a production-level distribution aimed at deployment in mission critical environments. It virtualizes data storage resources, so users can take control of their data, regardless of where and on what device the data is stored. As data volumes grow and data services become more complex, iRODS is serving an increasingly important role in data management, see [https://irods.org/][c].
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## How to Put Your Data to Our Server
    
    
    **Prerequisities:**
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    We have to be sure about your identity, this will be done throught this steps:
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    - sign in with your organisation [B2ACCESS][d] , pages requests valid personal certificate (e.g from GEANT) . Account with "Low" level of assurance, will not have access to IT4I zone
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    - confirm your certificate in browser
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    ![](img/B2ACCESS_chrome_eng.jpg)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - confirm your certificate in OS (Windows)
    
    
    ![](img/crypto_v2.jpg)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - after successfull login to B2Access,
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    - please sign in to our [AAI][f] throught your B2Access account. You have to set new password - it is for iRods access.
    
    ***For IT4I Users***
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    - please sign in to our [AAI][f] throught your B2Access account and link your B2ACCESS identity with your existing account. IRODS pasword will be same as your IT4I LDAP password ( f.e. on code.it4i.cz )
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ![](img/aai2.jpg)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ![](img/aai3-passwd.jpg)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ![](img/irods_linking_link.jpg)
    
    - contact our support@it4i.cz by mail, we will create your account at our iRODS server.
    
    - ***fill this request on [EOSC-MARKETPLACE][h] - recommended *** or at [EUDAT][l] , please specify requested capacity.
    - ![](img/eosc-marketplace-active.jpg)
    
    - ![](img/eosc-providers.jpg)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## ***Access to iRods Collection From Karolina***
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    
    - access to cluster is must (it4i account)
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    - iRODS clients are provided as a module on our ***Karolina*** cluster ( Barbora is in progress )
    
    - module irodsfs loads config file for irodsfs and for icommands too
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - password to irods is set already, but you can set new at aai.it4i.cz .
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    ***How to mount your collection***
    
    ```console
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ssh some_user@karolina.it4i.cz
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ml irodsfs
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ```
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    - now you can choose between Fuse client or iCommands
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    
    ***Fuse***
    
    ```console
    ssh some_user@karolina.it4i.cz
    [some_use@login4.karolina ~]$ ml irodsfs
    
    irodsfs configuration file has been created at /home/dvo0012/.irods/config.yml
    iRODS environment file has been created at /home/dvo0012/.irods/irods_environment.json
    
    to start irodsfs, run:          irodsfs -config ~/.irods/config.yml ~/IRODS
    to start iCommands, run:        iinit
    
    For more information, see https://docs.it4i.cz/dice/
    ```
    
    To mount your iRODS collection to ~/IRODS, run
    
    ```console
    [some_user@login4.karolina ~]$ irodsfs -config ~/.irods/config.yml ~/IRODS
    time="2022-08-04 08:54:13.222836" level=info msg="Logging to /tmp/irodsfs_cblmq5ab1lsaj31vrv20.log" function=processArguments package=main
    Password:
    time="2022-08-04 08:54:18.698811" level=info msg="Found FUSE Device. Starting iRODS FUSE Lite." function=parentMain package=main
    time="2022-08-04 08:54:18.699080" level=info msg="Running the process in the background mode" function=parentRun package=main
    time="2022-08-04 08:54:18.699544" level=info msg="Process id = 27145" function=parentRun package=main
    time="2022-08-04 08:54:18.699572" level=info msg="Sending configuration data" function=parentRun package=main
    time="2022-08-04 08:54:18.699730" level=info msg="Successfully sent configuration data to background process" function=parentRun package=main
    time="2022-08-04 08:54:18.922490" level=info msg="Successfully started background process" function=parentRun package=main
    ```
    
    To unmount it, run
    
    ```console
    fusermount -u ~/IRODS
    ```
    
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    - you can work with fuse as an ordinary directory  ( `ls, cd, cp, mv` etc )
    
    
    ***iCommands***
    
    ```console
    ssh some_user@karolina.it4i.cz
    [some_use@login4.karolina ~]$ ml irodsfs
    irodsfs configuration file has been created at /home/dvo0012/.irods/config.yml.
          to start irods fs run: irodsfs -config ~/.irods/config.yml ~/IRODS
    
    iCommands environment file has been created at /home/$USER/.irods/irods_environment.json.
          to start iCommands run: iinit
    
    
    Enter your current PAM password:
    ```
    
    ```console
    [some_use@login4.karolina ~]$ ils
    /IT4I/home/some_user:
      test.1
      test.2
      test.3
      test.4
    ```
    
    - upload `iput` , download `iget`
    - for more help, type `ihelp`
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## ***Access to iRods Collection From Other Resource***
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    - we suppose, you will upload your data from your local pc/vm
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    
    ### You Need a Client to Connect to iRods Server
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    - There are many iRods clients, but we recommend theese:
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - Cyberduck - for windows / mac, GUI .
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    - Fuse (irodsfs lite) - for linux, cli
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - iCommands - for linux, cli .
    
    - for access set PAM passwords at [AAI][f]
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - download [connection profile][1] for IT4I irods server
    
    - left doubleclick at this file opens connection
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    - work with your irods collection like ordinary directory
    - this is linux client only, basic knowledge of commandline is neccessary
    
    ```console
    cd ~
    wget https://github.com/cyverse/irodsfs/releases/download/v0.7.6/irodsfs_amd64_linux_v0.7.6.tar
    tar -xvf ~/irodsfs_amd64_linux_v0.7.6.tar
    
    mkdir ~/IRODS ~/.irods/ && cd "$_" && wget https://docs.it4i.cz/config.yml
    
    wget https://pki.cesnet.cz/_media/certs/chain_geant_ov_rsa_ca_4_full.pem -P ~/.irods/
    sed -i 's,~,'"$HOME"',g' ~/irods/irods_environment.json
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ```
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    - edit `~/.irods/config.yml` with username from [AAI][f]
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ***How to mount your collection:***
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    ```console
    
    [some_user@local_pc ~]$ ./irodsfs -config ~/.irods/config.yml ~/IRODS
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    time="2022-07-29 09:51:11.720831" level=info msg="Logging to /tmp/irodsfs_cbhp2rucso0ef0s7dtl0.log" function=processArguments package=main
    Password:
    
    time="2022-07-29 09:51:17.691988" level=info msg="Found FUSE Device. Starting iRODS FUSE Lite." function=parentMain package=main
    time="2022-07-29 09:51:17.692683" level=info msg="Running the process in the background mode" function=parentRun package=main
    time="2022-07-29 09:51:17.693381" level=info msg="Process id = 74772" function=parentRun package=main
    time="2022-07-29 09:51:17.693421" level=info msg="Sending configuration data" function=parentRun package=main
    time="2022-07-29 09:51:17.693772" level=info msg="Successfully sent configuration data to background process" function=parentRun package=main
    time="2022-07-29 09:51:18.008166" level=info msg="Successfully started background process" function=parentRun package=main
    ```
    
    ***How to put your data to iRODS***
    
    ```console
    
    [some_use@local_pc ~]$ cp test1G.txt ~/IRODS
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ```
    
    It works as ordinary filesystem
    
    ```console
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    total 0
    -rwx------ 1 some_user some_user 1073741824 Nov  4  2021 test1G.txt
    ```
    
    ***How to stop - unmout your collection:***
    
    ```console
    
    [some_user@local_pc ~]$ fusermount -u ~/IRODS
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ```
    
    
    - this is linux client only, basic knowledge of commandline is neccessary
    
    - we recommend Centos7, ubuntu 20 is optional
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    LSB_RELEASE="bionic"
    wget -qO - https://packages.irods.org/irods-signing-key.asc | sudo apt-key add -
    echo "deb [arch=amd64] https://packages.irods.org/apt/ ${LSB_RELEASE}  main" \
    
    >   | sudo tee /etc/apt/sources.list.d/renci-irods.list
    deb [arch=amd64] https://packages.irods.org/apt/ bionic  main
    
    
    sudo apt-get update
    apt-cache search irods
    wget -c \
    
      http://security.ubuntu.com/ubuntu/pool/main/p/python-urllib3/python-urllib3_1.22-1ubuntu0.18.04.2_all.deb \
      http://security.ubuntu.com/ubuntu/pool/main/r/requests/python-requests_2.18.4-2ubuntu0.1_all.deb \
      http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
    
      ./python-urllib3_1.22-1ubuntu0.18.04.2_all.deb \
      ./python-requests_2.18.4-2ubuntu0.1_all.deb \
      ./libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
    
      ./python-urllib3_1.22-1ubuntu0.18.04.2_all.deb \
      ./python-requests_2.18.4-2ubuntu0.1_all.deb \
      ./libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
    
    sudo apt install -y irods-icommands
    mkdir ~/.irods/ && cd "$_" && wget https://docs.it4i.cz/irods_environment.json
    
    wget https://pki.cesnet.cz/_media/certs/chain_geant_ov_rsa_ca_4_full.pem -P ~/.irods
    sed -i 's,~,'"$HOME"',g' ~/.irods/irods_environment.json
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ```console
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    sudo rpm --import https://packages.irods.org/irods-signing-key.asc
    sudo wget -qO - https://packages.irods.org/renci-irods.yum.repo | sudo tee /etc/yum.repos.d/renci-irods.yum.repo
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    sudo yum install epel-release -y
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    sudo yum install python-psutil python-jsonschema
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    mkdir ~/.irods/ && cd "$_" && wget https://docs.it4i.cz/irods_environment.json
    
    wget https://pki.cesnet.cz/_media/certs/chain_geant_ov_rsa_ca_4_full.pem -P ~/.irods
    sed -i 's,~,'"$HOME"',g' ~/.irods/irods_environment.json
    
    - edit ***irods_user_name*** in `~/.irods/irods_environment.json` with username from [AAI][f]
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    ```console
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    /some_user/.irods
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    drwx------. 2 some_user some_user 136 Sep 29 08:53 .
    dr-xr-x---. 6 some_user some_user 206 Sep 29 08:53 ..
    -rw-r--r--. 1 some_user some_user 253 Sep 29 08:14 irods_environment.json
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    **How to Start:**
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    **step 1:**
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    ```console
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    Enter your current PAM password:
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
      file.jpg
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ```
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ***how to put your data to IRODS***
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    /IT4I/home/some_user:
      cesnet.crt
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ***How to download data***
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    ls -la ~
    -rw-r--r--. 1 some_user some_user 1464 Jul 20 13:44 cesnet.crt
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    For more commands, use the `ihelp` command.
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    [2]: irods_environment.json
    [3]: config.yml
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    [b]: http://www.diceproject.eu/
    [c]: https://irods.org/
    [d]: https://b2access.eudat.eu/
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    [f]: https://aai.it4i.cz/realms/IT4i_IRODS/account/#/
    
    [h]: https://marketplace.eosc-portal.eu/services/b2safe/offers
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    [i]: https://cyberduck.io/download/
    
    [k]: https://docs.it4i.cz/irods.it4i.cz.crt
    
    [l]: https://www.eudat.eu/contact-support-request?Service=B2SAFE