GT4 Image user guide

From Grid5000
Jump to: navigation, search

Contents

How to deploy a Globus Grid in Grid5000 ?

The Globus default image can be found at /grid5000/images/rocks4all-globus4.tgz on the Lille frontal

The simple way to deploy a Globus grid is to use the griddeploy.sh script.

Let's take an example: I want to deploy Globus on 10 nodes at Lille, 10 nodes at Bordeaux and 20 nodes at Sophia.

I will reserve nodes :

oargridsub -q deploy -w 08:00:00 lille:nodes=10,bordeaux:nodes=10,sophia:nodes=20

[OAR_GRIDSUB] Reservation success on lille : batchId = 1995, nbNodes = 10, weight = 0, properties = "", queue = deploy
[OAR_GRIDSUB] Reservation success on bordeaux : batchId = 14615, nbNodes = 10, weight = 0, properties = "", queue = deploy
[OAR_GRIDSUB] Reservation success on sophia : batchId = 146084, nbNodes = 20, weight = 0, properties = "", queue = deploy
[OAR_GRIDSUB] Grid reservation id = 1879
<pre>
and store nodes in a file :
<pre>
oargridstat -l 1879 > mynodes

You must have the globus environment ready to deploy (i.e. a registered globus environment) with the same name on each site you want to deploy on (see karecordenv manual for more details).

Moreover, you must have a root access on each node. You can obtain it :

  • by adding your ssh key in the post-install archive and updating post-install script
  • by using the "generic" post-install that will read your ~/.ssh/authorized_key file and add entries to the deployed image. Warning : Your ~/.ssh/authorized_key file must be readable for all (chmod a+r) on each site.

I can now deploy the globus Image on all sites with this command :

griddeploy.sh
Usage: griddeploy.sh <node-file> <kadeploy-env>

griddeploy.sh mynodes globus4

Your Image is now deployed but we need to configure Globus.

Here, we have 2 ways to do this :

Interactive mode

Choose a master node (anyone) and log in as root on the master. Then transfer the file containing the list of nodes on the master

scp mynodes root@<MASTER>:

and finally log in as root on the master and run :

# ./globus/install.sh mynodes

...

Globus Grid is ready!

The Globus Grid is now configured and ready to use.

Batch mode

In batch, you should have an unique script to run. So, you should write a script like this :

cat myscript.sh

#! /bin/bash

# USER parameters
#
APP_DIR=mydemo
NODES_FILE=mynodes
KADEPLOY_ENV=globus4


# Global parameters
#
NODES_FILE=./griddeploy/nodes.deployed
GLOBUS_USER=globus_user


# Deploy the globus4 environment on the grid
#
./griddeploy.sh $NODES_FILE $KADEPLOY_ENV


# Choose a master node : the first node of the file
#
MASTER=`head -n 1 $NODES_FILE`

# Copy nodes file to Globus master
#
scp -o StrictHostKeyChecking=no $NODES_FILE root@${MASTER}:

# Copy application folder to globus master
#
scp -o StrictHostKeyChecking=no -r $APP_DIR root@${MASTER}:demo/
ssh -o StrictHostKeyChecking=no root@${MASTER} "cp -R demo ~${GLOBUS_USER}"
ssh -o StrictHostKeyChecking=no root@${MASTER} "chown -R ${GLOBUS_USER}:${GLOBUS_USER} demo"

# Run Globus Grid installation and user application
#
ssh -o StrictHostKeyChecking=no root@${MASTER} "./globus/run-batch.sh $NODES_FILE" &> globus-run-batch.log

This script :

  • deploys Globus image via kadeploy on each site
  • copies user application on the master node on the globus_user (local) account
  • runs the run-batch.sh script.

How to prepare a non-interactive experiment ?

To prepare your experiment, you should :

  • create a specific directory
  • put your program into it
  • put program's data into it
  • put the dumprsl.sh into it.

The dumprsl.sh command will generate RSL file for you. This RSL file will be run by Globus job manager.

You just have to change some values in the dumprsl.sh :

  • the program name
  • program arguments.


WARNING: It is important to test your non-interactive experiment on a few nodes before running a large scale experiment. So you can check if all steps succeeded.

Personal tools
Namespaces

Variants
Actions
Public Portal
Users Portal
Admin portal
Wiki special pages
Toolbox