manchester computing supercomputing, visualization & e-science course instructors: mark mc keown...

Post on 27-Dec-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce

Course Instructors: Mark Mc Keown (UoM) Mike Jones (UoM) Matt Viljoen (RAL)

Installing Globus GT2 and joining the L2G

UK Grid Support Centre

Supercomputing, Visualization & e-Science2

Aims

Explain what a Grid is and provide some background information. Describe the components of the Globus Toolkit Version 2 and its

release mechanism. Install from the source distribution;

– Showing dependant software such as compilers/interpreters.

Setup and start all services;– Show common housekeeping tasks such as user addition, log file interpretation etc.

Configuration of more in depth tasks;– Hierarchal MDS setup.– Alternative job manager setup.– Recognition of multiple certification authorities.

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce

Introduction

Supercomputing, Visualization & e-Science4

Grid Support Centre

Part of the e-Science Core Programme

Team of 6 FTE posts based at CCLRC (RAL+DL), and Universities of Edinburgh and Manchester

Exists to help users install and apply Grid software quickly, easily and productively

(2003) Two additional posts to cover support for OGSA-DAI and the ETF

Supercomputing, Visualization & e-Science5

GSC

Grid Support Centre

Partnership between CCLRC University of Edinburgh University of Manchester

Supports UK e-Science programme

www.grid-support.ac.ukGlobus

Installationsupport

Softwaredownload

Evaluationreports

Links to otherresources

Documentation

NationalDirectoryService

Referencesystems

System admintraining

NationalCertificateAuthority

CondorSRB

Webservices

Network

Web InformationResource

www.grid-support.ac.uk

Helpdesksupport@grid-support.ac.uk

Technical Support Team

UK Grid Support CentreCLRC Rutherford Appleton and Daresbury Laboratories

and Universities of Edinburgh and Manchester

Research CouncilPilot Projects

Regional e-ScienceCentres

Research Labs

Universities

Industry

Supercomputing, Visualization & e-Science6

GSC provides

Helpdesk support@grid-support.ac.uk– first point of contact for requests and queries

– personally contactable during office hours

– provides access to technical expertise at all sites

Web information resource http://www.grid-support.ac.uk– tutorials

– evaluation reports

– links to other resources

Grid starter kit– Globus, Condor, SRB, OGSA-DAI

– downloadable software

– installation support

– documentation

Supercomputing, Visualization & e-Science7

... and other services

Certificate Authority for the UK e-Science programme– Issues X.509 digital certificates (usable with Globus inter alia)– Uses network of registration authorities (RA) to validate users– Monthly training course for RA operators– See http://ca.grid-support.ac.uk

National resource directory service– based on Globus MDS 2– holds published information on Grid-enabled resources

Training for system administrators– to help with setting up local installations

Reference software installations on supported platforms– Linux, AIX, Solaris, IRIX, Tru64

Liaison with software development teams

Supercomputing, Visualization & e-Science8

The Grid…

"…is the web on steroids." "…is Napster for Scientists" [of data grids] "…is the solution to all your problems." "…is evil." [a system manager, of Globus] "…is distributed computing re-badged." "…is distributed computing across multiple administrative domains"

– Dave Snelling, senior architect of UNICORE

[…provides] "Flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resource"

– From “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”

"…enables communities (“virtual organizations”) to share geographically distributed resources as they pursue common goals -- assuming the absence of central location, central control, omniscience, existing trust relationships."

Supercomputing, Visualization & e-Science9

The roots of Grid computing

The roots of Grid computing are in scientific High Performance Computing (HPC), informed by both capacity (high-throughput) and capability (large-scale) considerations.

The Grid is descended from:– Metacomputing

– Distributed computing

– Load balancing and scheduling

It is enabled by increasingly ubiquitous and reliable infrastructure.

It has outgrown its HPC roots.

Supercomputing, Visualization & e-Science10

The power grid analogy

"Computational Grid" was coined by analogy with power grids

• In power grids, plug in your appliance and draw current, without caring where the power is generated

• In computational grids, plug in your application and draw cycles

Supercomputing, Visualization & e-Science11

The Grid Book

2nd edition, now in press, will be more data-oriented– Reflecting a similar evolution in the Grid itself.

Supercomputing, Visualization & e-Science12

Virtual Organisations

?RR

R

RR

?

R

R

RR

R?

R

R

R

RR

?

RR

VO A

VO B

VO C

Supercomputing, Visualization & e-Science13

What is a Virtual Organization?

• Facilitates the workflow of a group of users across multiple domains who share (some of) their resources to solve particular classes of problems.

• Collates and presents information about these resources in a uniform view.

The UK e-Science community is effectively a Virtual Organization made up of real institutions – the Universities involved.

An organization can of course be part of lots of Virtual Organizations.

Supercomputing, Visualization & e-Science14

Common principles

Single sign-on– Often implying Public Key Infrastructure (PKI)

Standard protocols and services Respect for autonomy of resource owner Layered architectures Higher-level infrastructures hiding heterogeneity of lower

levels Interoperability is paramount

Supercomputing, Visualization & e-Science15

Grid Middleware

Middleware Globus UNICORE Legion and Avaki

Scheduling Sun Grid Engine Load Sharing Facility (LSF)

– from Platform Computing

OpenPBS and PBS(Pro)– from Veridian

Maui scheduler Condor

– could also go under middleware

Data Storage Resource Broker (SRB) Replica Management OGSA-DAI

Web services (WSDL, SOAP, UDDI) IBM Websphere Microsoft .NET Sun Open Net Environment (Sun

ONE)

PC Grids

Peer-to-Peer computing

Supercomputing, Visualization & e-Science16

Globus Toolkit™

A software toolkit addressing key technical problems in the development of Grid enabled tools, services, and applications

– Offer a modular “bag of technologies”– Enable incremental development of grid-enabled tools and applications – Implement standard Grid protocols and APIs– Make available under liberal open source license

The Globus Toolkit™ centers around four key protocols– Connectivity layer:

• Security: Grid Security Infrastructure (GSI)

– Resource layer:• Resource Management: Grid Resource Allocation Management (GRAM)

• Information Services: Grid Resource Information Protocol (GRIP)

• Data Transfer: Grid File Transfer Protocol (GridFTP)

Supercomputing, Visualization & e-Science17

Summary of Globus features

"Single sign-on" through Grid Security Infrastructure (GSI) Remote execution of jobs

– GRAM, job-managers, Resource Specification Language (RSL)

Grid-FTP– Efficient file transfer; third-party file transfers

MDS (Metacomputing Directory Service)– Resource discovery– GRIS and GIIS– Today, built on LDAP

Co-allocation (DUROC)– Limited by support from scheduling infrastructure

Other GSI-enabled utilities– gsi-ssh, grid-cvs, etc.

Commodity Grid Kits (CoG-kits), Java, Perl, Python Widespread deployment, lots of projects

Supercomputing, Visualization & e-Science18

GT3 and the Future of Grids- well maybe not!

Globus GT3 is based on Grid Services – Grid Services are an extension of Web Services. Grid Services are defined by the Open Grid Service Infrastructure (OGSI) specification – GT3 & OGSI are now obsolete!!

Work is progressing at the Global Grid Forum (GGF) to define the Open Grid Service Architecture (OGSA) which will be used to develop Grids in the future – OGSA is still valid

The UK production Grid will use GT2 based technology until March 2005 – various “testbed” Grids are being deployed in the UK to develop experience with OGSI/OGSA.

Supercomputing, Visualization & e-Science19

OGSI and OGSA

Network

OGSA Enabled

Storage

OGSA Enabled

Servers

OGSA Enabled

Messaging

OGSA Enabled

Directory

OGSA EnabledFile

Systems

OGSA Enabled

Database

OGSA EnabledWorkflo

w

OGSA Enabled

Security

OGSA Enabled

Web Services

OGSI – Open Grid Services Infrastructure

OGSA Architected Services

Applications

Supercomputing, Visualization & e-Science20

WS-RF

WS-RF, Web Service Resource Framework. Announced at GlobusWorld January 2004 by Globus, IBM and HP.

WS-RF supersedes OGSI. Came about because OGSI was not being accepted by the

wider Web Service community: WS-RF is being standardised through OASIS, the process

is just starting and could take over a year. Globus GT4 which will support WS-RF and will be released

in June. Web Service Grid Application Framework (WS-GAF) is a

set of competing ideas from the Newcastle e-Science centre.

Supercomputing, Visualization & e-Science21

WS-RF and OGSA

Network

OGSA Enabled

Storage

OGSA Enabled

Servers

OGSA Enabled

Messaging

OGSA Enabled

Directory

OGSA EnabledFile

Systems

OGSA Enabled

Database

OGSA EnabledWorkflo

w

OGSA Enabled

Security

OGSA Enabled

Web Services

OGSI – Open Grid Services Infrastructure

Web Services

OGSA Architected Services

Applications

Supercomputing, Visualization & e-Science22

Level 2 Grid Project (L2G)

Ambitious project Persistent grid (8 hours per day at 12 centres) Globus toolkit version 2 Simple jobs only (no parallel processing across grid) Simple grid information system No dynamic resource discovery Large variety of resources Large variety of security policies Large variety of usage policies Large variety of naming policies Simple accounting to be provided Simple monitoring to be provided Authentication with X509 certificates

Supercomputing, Visualization & e-Science23

National Grid Service (NGS)

The L2G is built on a best efforts basis – the NGS will be a more production orientated Grid with Service Level Agreements etc.

The NGS which goes live on April 1st 2004, supersedes the L2G

The NGS initially consists of CSAR, HPCx and the four JISC nodes located at RAL, Oxford, Leeds (White Rose Grid) and Manchester.

The JISC nodes consist of two compute nodes with 128 CPUs each and two data nodes with 18TB of storage each.

The JISC nodes are free to use – http://www.ngs.ac.uk/

Supercomputing, Visualization & e-Science24

VDT

VDT is a distribution of Globus from the University of Wisconsin, it also includes Condor and some EDG (European Data Grid) software.– http://www.lsc.group.phys.uwm.edu/vdt/

It is much easier to install than Globus, using a packaging tool called pacman – however it may be a Linux only distribution.

People are interested in VDT because they are more willing to include patchs than Globus, this is the case with EDG.

The VDT distribution generally lags the Globus distribution – they use the same version numbers.

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce

The Globus Toolkit

Supercomputing, Visualization & e-Science26

The Globus Toolkit, an Overview

Three component structure (pillars) of the toolkit

Resource management• Allocation of available resources

Information services• Provides information about grid resources

Data management• Accessing and managing data in a grid environment

Supercomputing, Visualization & e-Science27

Resource Management

Resource Management involves the allocation and management of Grid resources.  It includes GRAM, DUROC and GASS. 

– GRAM: Globus Resource Allocation Manager– DUROC: Dynamically-Updated Request Online

Coallocator – GASS: Global Access to Secondary Storage

Supercomputing, Visualization & e-Science28

Job Submission Architecture

Supercomputing, Visualization & e-Science29

LSF PBS None

How do we write a Batch Submission Script for our job?

Supercomputing, Visualization & e-Science30

Resource Specification Language

Common notation for exchange of information between components– Syntax similar to MDS/LDAP filters

RSL provides two types of information:

– Resource requirements: Machine type, number of nodes, memory, etc.

– Job configuration: Directory, executable, args, environment

Globus Toolkit provides an API/SDK for manipulating RSL

Supercomputing, Visualization & e-Science31

Example RSL file

& (executable = /bin/date)

(directory =/home/globus )

(arguments = arg1 "arg 2") (count = 1)

Supercomputing, Visualization & e-Science32

RSL Syntax

Elementary form: parenthesis clauses– (attribute op value [ value … ] )

Operators Supported:

– <, <=, =, >=, > , !=

Some supported attributes:– executable, arguments, environment, stdin, stdout,

stderr, resourceManagerContact,resourceManagerName

Unknown attributes are passed through – May be handled by subsequent tools

Supercomputing, Visualization & e-Science33

Constraints: “&”

For example:

& (count>=5) (count<=10)

(max_time=240) (memory>=64)

(executable=myprog) “Create 5-10 instances of myprog, each on a

machine with at least 64 MB memory that is available to me for 4 hours”

Supercomputing, Visualization & e-Science34

Disjunction: “|”

For example:

& (executable=myprog)

( | (&(count=5)(memory>=64))

(&(count=10)(memory>=32))) Create 5 instances of myprog on a machine that

has at least 64MB of memory, or 10 instances on a machine with at least 32MB of memory

Supercomputing, Visualization & e-Science35

Information Services

Information Services provide information about Grid resources.  This includes MDS, GIIS and GRIS.– MDS: Monitoring and Discovery Service

• GIIS: Grid Index Information Service Usually one per Organisation

• GRIS: Grid Resource Information Service One per machine.

(The GRIS and the GIIS use the same executable with differing configurations)

Supercomputing, Visualization & e-Science36

A MDS Structure

GRIS GRIS GRIS GRISGRIS

GIIS

GIIS

GIIS

GIIS

GRIS

Supercomputing, Visualization & e-Science37

MDS

The MDS software is based on OpenLDAP – the arguments to grid-info-search are the same as ldapsearch.

The GRIS collects information about the resource by periodically running scripts that query how much free memory the machine has, the amount of free disk space etc. This is then passed to the GIIS.

When a user makes a query at the top level GIIS it can prompt the GRIS’s to refresh the data for their resource.

We might move to bdii in the future.

Supercomputing, Visualization & e-Science38

Data Management

Controls the ability to access and manage data in a grid environment.  This includes components:– GridFTP - This is used to move files between grid-enabled storage

systems. – Replica Catologue Mechanism

Supercomputing, Visualization & e-Science39

GridFTP Why FTP?

– Ubiquity enables interoperation with many commodity tools

– Already supports many desired features, easily extended to support others

– Well understood and supported

We use the term GridFTP to refer to– Transfer protocol which meets requirements

– Family of tools which implement the protocol

Supports “Third Party Transfer”. Supports parallel streams which can have a significant

increase in performance.

Supercomputing, Visualization & e-Science40

Third Party Transfer

DATA

A B

USER

Control Control

Supercomputing, Visualization & e-Science41

Replica Management

Supercomputing, Visualization & e-Science42

GASS – Global Access to Secondary Storage

The Globus Toolkit provides services for file and executable staging and I/O redirection that are used by GRAM. This is known as Globus Access to Secondary Storage (GASS). (It is part of the resource management pillar)

When files are moved using FTP their permissions are lost – scripts are not longer executable – so we use GASS which retains file permissions.

GASS uses GSI-enabled HTTP as the protocol for data transfer, and a caching algorithm for copying data when necessary.

The globus_gass, globus_gass_transfer, and globus_gass_cache APIs provide programmer access to these capabilities, which are already integrated with the GRAM job submission tools.

Supercomputing, Visualization & e-Science43

What are we installing?

Reference implementation of Grid Protocols GRAM

– globus_gatekeeper (runs as part of xinetd)

MDS– gris (Started as SXXgris)

GridFTP– in.ftpd (runs as part of xinetd)

GSISSH– gsisshd

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce Package Management and Installation

Supercomputing, Visualization & e-Science45

Package Management and Installation

Generally recommended to use the Grid Packaging Toolkit– Comes with various user tools for:

• Installation of binary bundles• Building of source bundles• Updating already installed bundles• Querying installation tree

– For the developer this also has tools for constructing source and binary bundles for further distribution

A similar idea to RPM

Supercomputing, Visualization & e-Science46

GPT and What Is It?

A set of PERL libraries/modules Requires Perl 5.005 or later to be installed Can install independently of Globus

– GPT_LOCATION

Ability to manage post installation setup of packages

Can be used to patch an installation Ensures that no package will be reinstalled

unnecessarily

Supercomputing, Visualization & e-Science47

Method of Toolkit Distribution

Source and binary bundles– E.g. globus-information-services-client-2.4.0-src_bundle.tar.gz– Contains all the information for package

• Dependancies• Post-install setup• Uninstall information

Each pillar has one bundle for each of:– Server– Client– Software development kit

Supercomputing, Visualization & e-Science48

Source Distribution

Advantages:– If you build the code on your own machine then dependencies

during build should be found then.– Stops strange unknown errors occurring due to other installed

applications and their dependant library versions.– Easier to ultimately debug problems within the toolkit should any

occur. Disadvantages:

– Slow due to compilation etc.– Can lead to space problems due to object files etc.

Supercomputing, Visualization & e-Science49

Flavours of Building

Flavours are used to encapsulate compile-time choices– Compiler choice, gcc or vendorcc– 32 or 64bit memory model– Debugging information inclusion?– Type of threading, pthreads, other?

We will use two flavours:– gcc32dbg, gcc32dbgpthr

Allow multiple build types for a single installation– Libraries are tagged with the flavour name

• libXXX_gcc32dbg.so

Header files– Moved into labelled directories

• include/gcc32dbg• Include/gcc32dbgpthr

Supercomputing, Visualization & e-Science50

Building 64 bit Globus

It is generally not necessary to build the Globus gatekeeper, GridFTP or GRIS servers using 64 bit.

Some applications may need to build against 64 bit versions of the Globus libraries – so generally you should only need to build the SDK 64 bit.

Building 64 bit Globus can be difficult – generally problems arise when building the underlying OpenSSL libraries that Globus use.

Supercomputing, Visualization & e-Science51

Additional Packages Available

Job Manager Scheduler Support: This is to include support for different job managers beyond the default installed Fork. The currently supported job managers from Globus are:– Condor– LSF– PBS

Reporter Scheduler Support: This allows job manager information to be passed into the GRIS system, this is not done by default for any job manager including fork. All of the above are supported

GSI-SSH: There is a GSI compatible version of SSH and SCP available. This comes from NCSA though and so can have moments of incompatibility with the main Globus release.

Supercomputing, Visualization & e-Science52

Overview of Process of Building and Installing

Break Copy GPT and Globus bundles to your machine Define locations for GPT and Globus Create Globus destination directory Install GPT Install bundles Do post installation tasks Full details on the process can be found at

– http//www.globus.org/gt2.4/admin/

Supercomputing, Visualization & e-Science53

Installing GPT

Create directory /usr/local/globus2 Set environmental variable $GLOBUS_LOCATION to point

to /usr/local/globus2

export GLOBUS_LOCATION=/usr/local/globus2 (Set this environmental variable in your start up scripts.) Create directory /usr/local/globus2/src Download the required files into the directory

/usr/local/globus2/src from

http://www.globus.org/gt2.4/download.html

Supercomputing, Visualization & e-Science54

Required Files…

Get GPT 3.0.1 Under “Source Download” download

Resource Management (Client, Server and SDK)

Information Services (Client, Server and SDK)

Data Management (Client, Server and SDK) globus_gram_reporter-2.0.tar.gz globus_gram_reporter_setup_fork-1.0.tar.gz

Supercomputing, Visualization & e-Science55

Building GPT

Make directory /usr/local/GPT Set environmental variable GPT_LOCATION to

/usr/local/GPT

export GPT_LOCATION= /usr/local/GPT Change directory to /usr/local/globus2/src

cd /usr/local/globus2/src Unzip and untar the GPT bundle

tar zxvf gpt-XXX.tar.gz

cd gpt-XXX

./build_gpt

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce

Building Globus GT2

Supercomputing, Visualization & e-Science57

Building Globus Toolkit 2.X

From with the /usr/local/globus2/src directory run the following command;

$GPT_LOCATION/sbin/gpt-build <bundle_name> <flavour>

eg. $GPT_LOCATION/sbin/gpt-build globus-resource-management-client-2.4.3-src_bundle.tar.gz gcc32dbg

Repeat this for all bundles; Nominally in the order:

– SDK– Server– Client

Supercomputing, Visualization & e-Science58

flavours

NOTE:– Some of the bundles use threading and some do not– Important to get this correct– These are the flavours as previously discussed

• See next table

Supercomputing, Visualization & e-Science59

Bundle Build Flavours

Bundle FlavourData Management bundles gcc32dbg

Information Services bundles gcc32dbgpthr

Resource Management bundles gcc32dbg

GRAM Job Manager Scheduler gcc32dbg

GRAM Reporter gcc32dbg

GSI-SSH gcc32dbg

Note – we have not downloaded the GSI-SSH bundle yet.

Supercomputing, Visualization & e-Science60

Post Installation Operations

Source the general user environment setup script:– source $GLOBUS_LOCATION/etc/globus-user-env.csh– . /usr/local/globus2/etc/globus-user-env.sh– (add to your start up scripts eg .bashrc)

Each package that makes up the Globus Toolkit requires some form of post installation setup:– $GPT_LOCATION/sbin/gpt-postinstall– This performs creation of some of the services setup scripts as

well as creating and installing the Globus configuration files in $GLOBUS_LOCATION/etc

Supercomputing, Visualization & e-Science61

Post Installation Operations

Now Globus Security Infrastructure (GSI) needs initialisation, creating /etc/grid-security directory and contents– $GLOBUS_LOCATION/setup/globus/setup-gsi

Finally verify the installation coherance– $GPT_LOCATION/sbin/gpt-verify

For details on these steps see:– http://www.globus.org/gt2.4/install.html

Supercomputing, Visualization & e-Science62

Break You should have GPT and Globus compiled. All the automatic configuration should be done.

Supercomputing, Visualization & e-Science63

Manual Installation Steps

The addition of globus-gatekeeper and gridftp configuration files for xinetd.d/inetd

Adding port definitions to /etc/services file Setup soft links for MDS server. Removing trust for Globus certificates and adding UK E-

Science CA trust Installation of host and LDAP certificates Add users Distinguishing Name definitions to /etc/grid-security/grid-mapfile

Supercomputing, Visualization & e-Science64

Adding globus-gatekeeper to /etc/xinetd.d

service gsigatekeeper { socket_type = stream protocol = tcp wait = no user = root env = LD_LIBRARY_PATH=GLOBUS_LOCATION/lib server = GLOBUS_LOCATION/sbin/globus-gatekeeper server_args = -conf GLOBUS_LOCATION/etc/globus-gatekeeper.conf disable = no }

NB – replace GLOBUS_LOCATION with the actual directory Globus has been installed in e.g. /usr/local/globus2

Supercomputing, Visualization & e-Science65

Adding grid-ftp to /etc/xinetd.d

service gsiftp{ instances = 1000 socket_type = stream wait = no user = root env = LD_LIBRARY_PATH=GLOBUS_LOCATION/lib server = GLOBUS_LOCATION/sbin/in.ftpd server_args = -l -a -G GLOBUS_LOCATION log_on_success += DURATION USERID log_on_failure += USERID nice = 10 disable = no}

NB – replace GLOBUS_LOCATION with the actual directory Globus has been installed in eg. /usr/local/globus2

Supercomputing, Visualization & e-Science66

Adding files to /etc/xinetd.d

You can either type the files out by hand – be careful as any typos will cause problems with the service that may not be immediately obvious.

Or you can cut ’n’ paste them from the Globus Web Site, they are located at:– http://www.globus.org/gt2.4/admin/guide-startup.html

Supercomputing, Visualization & e-Science67

Adding entries to /etc/inetd.conf file

RedHat does NOT use inetd.conf so we can skip this step. Add the following statements one per line to the file

/etc/inetd.conf globus-gatekeeper     gsigatekeeper stream tcp nowait root

       /usr/bin/env env LD_LIBRARY_PATH=GLOBUS_LOCATION/lib        GLOBUS_LOCATION/sbin/globus-gatekeeper       -conf GLOBUS_LOCATION/etc/globus-gatekeeper.conf

grid-ftp gsiftp stream tcp nowait root /usr/bin/env env LD_LIBRARY_PATH=GLOBUS_LOCATION/lib

GLOBUS_LOCATION/sbin/in.ftpd -l -a -G GLOBUS_LOCATION Warning – if the entry in inetd.conf gets to long you can have

problems.

To restart service:killall -HUP inetd

Supercomputing, Visualization & e-Science68

Adding entries to /etc/services

Entries must be added to /etc/services for the gatekeeper and the gridftp server because they are being started by xinetd (We do not have to add entries for MDS or GSI-SSH to /etc/services since they are not run by xinetd – but it can be worth doing)

Adding port definitions to /etc/services file – run the following commands:

echo "gsigatekeeper 2119/tcp #Globus Gatekeeper" >> /etc/servicesecho "gsiftp 2811/tcp #GSIFTP" >> /etc/services

The names of the services in /etc/services must match the names used in the files in /etc/xinetd.d.

Supercomputing, Visualization & e-Science69

Setting up MDS

Setup soft links for MDS server.

ln -s $GLOBUS_LOCATION/sbin/SXXgris /etc/rc.d/init.d/gris

ln -s /etc/rc.d/init.d/gris /etc/rc.d/rc3.d/SXXgris

ln -s /etc/rc.d/init.d/gris /etc/rc.d/rc5.d/SXXgris

You can replace XX in SXXgris with a number if you want but it is not necessary – in the rc.d directories the services are started in alphabetical order ie S90gris will start before S95gsisshd.

Supercomputing, Visualization & e-Science70

Break

Supercomputing, Visualization & e-Science71

GSI-SSH

Issued by NCSA Separate to Globus, though dependant on GSI security Enables secure login based on digital certificates Defined within the L2G as operating on port 2222 Downloaded as a GPT source bundle. Installed in the same way as Globus bundles – does not

need threads so can be built with gcc32dbg flavour.

Supercomputing, Visualization & e-Science72

Installing GSI-SSH

Download source bundle from web– http://grid.ncsa.uiuc.edu/ssh/

Build using gpt-build$GPT_LOCATION/sbin/gpt-build gsi_openssh_bundle-X.X-

src.tar.gz gcc32dbg

Do post-install and gpt-verify

$GPT_LOCATION/sbin/gpt-postinstall

$GPT_LOCATION/sbin/gpt-verify

Supercomputing, Visualization & e-Science73

Configuring GSI-SSH

GSI-SSH should use port 2222 rather than 22 for the UK e-Science Grid.

Alter configuration as follows:– Set port numbers to 2222 in /etc/services

– Run the following command:

echo "gsisshd 2222/tcp #GSI-SSH" >> /etc/services

Set port number in ssh configuration files:

$GLOBUS_LOCATION/etc/ssh/ssh_config

$GLOBUS_LOCATION/etc/ssh/sshd_config

Supercomputing, Visualization & e-Science74

Create Symbolic Links for GSI-SSHD

ln -s $GLOBUS_LOCATION/sbin/SXXsshd /etc/rc.d/init.d/gsisshd

ln -s /etc/rc.d/init.d/gsisshd /etc/rc.d/rc3.d/SXXgsisshd

ln -s /etc/rc.d/init.d/gsisshd /etc/rc.d/rc5.d/SXXgsisshd

Supercomputing, Visualization & e-Science75

Break You should have Globus and GSI-SSHD installed and

configured (but not started). Next step is to add the Certificates that will be used for

authenication.

Supercomputing, Visualization & e-Science76

Certificates – Why and Wherefore

Three main uses for certificates within Globus– Gatekeeper/GridFTP certificate – the Gatekeeper and GridFTP daemons

use the same certificate.

– LDAP certificate (MDS)

– User certificates

These are acquired through the UK E-Science Grid Support Centre or another of the trusted CAs defined through EDG.

They may need format conversion depending on where they have come from

Supercomputing, Visualization & e-Science77

Installation of Certificates

Gatekeeper/GridFTP certificates will have to moved to:

/etc/grid-security– hostkey.pem and hostcert.pem

LDAP certificates will have to be moved to: – /etc/grid-security/ldap (you will have to create this

directory)– ldapkey.pem and ldapcert.pem

key files must be only owner readable while cert should be world readable

Gatekeeper and user commands will not work if incorrect permissions are present on key files

Supercomputing, Visualization & e-Science78

Certificating Authority Trust

CA Certificates are located in

/etc/grid-security/certificates Three files associated with each Certificate Authority (CA):

– xxxxxxxx.0 – PEM formatted CA certificate– xxxxxxxx.r0 – Certificate Revocation List URL– xxxxxxxx.signing_policy – defines which user certificates this CA

will authorise

Remove these files to remove CA trust and add copies of them to add trust

Supercomputing, Visualization & e-Science79

Adding the UK e-Science CA certificate

Normally the UK e-Science certificate can be downloaded from http://ca.grid-support.ac.uk/

We will get it from http://vermont.mvc.mcc.ac.uk/01621954.0 and http://vermont.mvc.mcc.ac.uk/01621954.signing_policy

Copy the two files into /etc/grid-security/certificates Optionally download the Certificate Revocation File from

http://ca.grid-support.ac.uk/ and store it as 01621954.r0 in /etc/grid-security/certificates. The CRL has a lifetime of about a month, if the file is not replaced within the month Globus will NOT accept any certificates issued by that CA. (remember to chmod 444 the file).

It is possible to set up a CRON job to update the CRL each night.

Supercomputing, Visualization & e-Science80

Removing the Globus CA

The Globus CA certificate is installed by default during the Globus installation – you should remove this CA as the quality of the certificates can be questionable.

To remove the Globus CA delete the following files from /etc/grid-security/certificates:– 42864e48.0– 42864e48.signing_policy

Supercomputing, Visualization & e-Science81

The Certificate “hash”

The “01621954” is the “hash” of the certificate subject name of the UK e-Science CA certificate – each certificate should have a different hash.

The hash is used in OpenSSL to form an index to allow certificates in a directory to be looked up by subject name.

To find the hash of a certificate use

openssl x509 –in 01621954.0 –noout -hash

Supercomputing, Visualization & e-Science82

Host and LDAP Certificates

On each of your machines are certificates named:– host.p12 (Used by gatekeeper,gsiftp,gsisshd)– ldap.p12 (Used by MDS)

You will need to use OpenSSL to change the format from p12 to PEM:

openssl pkcs12 -in host.p12 -clcerts -nokeys –out hostcert.pem

openssl pkcs12 -in host.p12 -nodes -nocerts -out hostkey.pem

openssl pkcs12 -in ldap.p12 -clcerts -nokeys –out ldapcert.pem

openssl pkcs12 -in ldap.p12 -nodes -nocerts -out ldapkey.pem

You will be prompted for a password each time you run the command.

Supercomputing, Visualization & e-Science83

Host and LDAP Certificates

Permissions must now be change for the generated files:– chmod 400 hostkey.pem– chmod 444 hostcert.pem– chmod 400 ldapkey.pem– chmod 444 ldapcert.pem

Move the files to their final locations– mv host*.pem /etc/grid-security/.– mv ldap*.pem /etc/grid-security/ldap/.

Supercomputing, Visualization & e-Science84

User Certificates

Normally to get a user certificate you would visit:

http://www.grid-support.ac.uk/ca/useful.htm For the purposes of the course we will use the “host”

certificate as user certificate. Create a test user – “useradd test” Set password for account – “passwd test” Create a directory /home/test/.globus (To become that user you can use the command “su test”)

Supercomputing, Visualization & e-Science85

Creating User Certificate As root create the user certificate from the host certificate:openssl pkcs12 -in host.p12 -clcerts -nokeys –out usercert.pem

openssl pkcs12 -in host.p12 -nocerts -out userkey.pem

When creating userkey.pem you will be prompted for a new password to protect the private key – you will need this password latter when creating a proxy certificate.

Change the permissions for the files:– chmod 400 userkey.pem

– chmod 444 usercert.pem

Move the certificates to the users directory and change the ownership of the files:– mv user*.pem /home/test/.globus

– chown –R test:test /home/test/.globus

Supercomputing, Visualization & e-Science86

Using the grid-mapfile

User access is controlled through the mapping of authenticated grid users to local users with the grid-mapfile.

Located in /etc/grid-security – this file will have to be created.

Specific format as shown below:“/o=grid/L=London/u=Joe Bloggs” JBloggs13

The first part is the “Distinguished Name” or DN of the user’s certificate, the second part is the user account they should be mapped to.

To find the DN of a user certificate use openssl x509 –in usercert.pem –noout -subject

Supercomputing, Visualization & e-Science87

grid-mapfile

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-01.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-02.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-03.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-04.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-05.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-06.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-07.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-08.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-09.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-10.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-11.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-12.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-13.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-14.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-15.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-16.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

“/C=UK/O=eScience/OU=Edingburgh/L=NeSC/CN=lab-17.nesc.ed.ac.uk/Email=support@nesc.ac.uk” test

Supercomputing, Visualization & e-Science88

Create a grid-mapfile with entries for everyone.

Find out your “Distinguished Name” using– openssl x509 –in usercert.pem –noout –subject

– Ignore the “subject= “ part

Add your entry to your grid-mapfile. Add an entry for everyone in your grid-mapfile (from your

DN you should be able to guess what everyone else’s DN is)

Supercomputing, Visualization & e-Science89

Break Installed Globus Toolkit version 2.4.X. Installed GSI-SSH Configured services for Globus gatekeeper and gridFTP Configured GSI-SSH Added UK E-Science CA Created Test Account & grid-mapfile Next we will start all the services and test them.

Supercomputing, Visualization & e-Science90

Starting Services

To restart xinetd– /etc/init.d/xinetd restart or use – service xinetd restart

To start MDS– /etc/init.d/gris start or use– service gris start

To start GSI-SSHD– /etc/init.d/gsisshd start or use– service gsisshd start

Supercomputing, Visualization & e-Science91

Testing the Gatekeeper

Log in as the “test” user.– As root you can use “su test” to become the test user

Run #>grid-proxy-init

– You should be prompted for a password– This will create a file in /tmp that contains your

proxy certificate.– You can run grid-proxy-info to check your proxy is

good.

Run #>globus-job-run <machine_name> /bin/date Successful output will be the same as running /bin/date

from a shell

Supercomputing, Visualization & e-Science92

Command line options

For the globus-job-run command the following options are allowed:globus-job-run {[-:] <contact string> [-np N] <executable> [<arg>...]}..

Where the options are:

<contact string> the specific location where the job will run including possible service name if not default

-np The number of different processing elements the job will run on.

<executable> & <args> the job and its arguments that you wish to run on the grid.

The file modifiers -l and -s specify different filespaces:

-l[ocal] file is relative to working directory of job (DEFAULT)

-s[tage] file relative to job request is staged to job host

Full descriptions available from globus-job-run -help

Supercomputing, Visualization & e-Science93

Contact Strings

Used to specify the names of machines and available services and their locations:

Valid forms of the contact string are:– hostname– hostname:port– hostname:port/service– hostname/service– hostname:/service– hostname::subject– hostname:port:subject– hostname/service:subject– hostname:/service:subject– hostname:port/service:subject

Supercomputing, Visualization & e-Science94

MDS Verification

Make sure MDS is running: – service gris start

Run as a test user

#>grid-proxy-init Submit a test query

#>grid-info-search– This will search for information stored on the local

machine– If you have a problem try “grid-info-search –x” this

will do an un-authenticated search

Supercomputing, Visualization & e-Science95

Command line options

For the grid-info-search command the following options are allowed:grid-info-search [ options ] <search filter> [attributes]

Where the options are:

-mdshost host (-h) The host name on which the MDS server is running the default is hostname

-mdsport port (-p) The port number on which the MDS server is running. The default is port 2135

-mdsbasedn branch-point (-b) Location in DIT from which to start the search. The default is "Mds-Vo-name=local, o=Grid"

-anonymous (-x) Use anonymous binding instead of GSSAPI.

An example is to query the national information server:

grid-info-search –h ginfo.grid-support.ac.uk –p 2135 -b "Mds-Vo-name=UK e-Science, o=Grid“ -x

Supercomputing, Visualization & e-Science96

GridFTP testing

Run as a normal user

#>grid-proxy-init Create a file /tmp/file1 with some garbage in it. Run

#> globus-url-copy gsiftp://<hostname>/tmp/file1 gsiftp://<hostname>/tmp/file2

file2 should now be the same as file1 For more details on globus-url-copy use “globus-url-copy –

help”

Supercomputing, Visualization & e-Science97

Current Status of Your Machines

Each machine is now able to run jobs submitted through Globus.

MDS will use authenticated queries to show local system information

All services are now running and have been successfully tested

(tomorrow we will see how the L2G group has created a set of automated tests to automate those procedures)

Supercomputing, Visualization & e-Science98

Break Everyone should have Globus up and running. Next we will:

– Install advisories from Globus

– Logfile checking

Supercomputing, Visualization & e-Science99

Installation of Globus Advisories

Security and bug fix advisories are released by Globus as soon as they become essential

These are locate on the web at:

http://www-unix.globus.org/toolkit/advisories.html

Classified to be either a bug-fix, security patch or an enhancement.

Generally each time there is an OpenSSL security alert a Globus advisory will appear.

Supercomputing, Visualization & e-Science100

Installation of Globus Advisories

Before installation of an updated package use gpt-query to find out which flavours it was installed with (eg gcc32dbg – gcc32dbgpthr).

To install update packages use: – gpt-build –update <package_name> flavour

Additional specification for ‘noflavour’ is not needed

Supercomputing, Visualization & e-Science101

Installation of Globus Advisories

EXAMPLE – globus_openssl_module

[prompt]# $GPT_LOCATION/sbin/gpt-query globus_openssl_module4 packages were found in /usr/globus that matched your query:packages found that matched your query globus_openssl_module-gcc32dbg-dev ver: 0.2 cmp id: 0.2.0 globus_openssl_module-gcc32dbg-rtl ver: 0.2 cmp id: 0.2.0 globus_openssl_module-gcc32dbgpthr-dev ver: 0.2 cmp id: 0.2.0 globus_openssl_module-gcc32dbgpthr-rtl ver: 0.2 cmp id: 0.2.0

– Therefore to update this module you would run

gpt-build -update globus_openssl_module-0.2.tar.gz gcc32dbg gcc32dbgpthr

Supercomputing, Visualization & e-Science102

Globus Advisories

Add the advisories from the Globus website to your installation.

Remember to restart the services again:– “service gris stop” followed by “service gris start”

– service gsisshd restart

– service xinetd restart (not strictly needed)

Supercomputing, Visualization & e-Science104

Done so far….

So far you have:– Installed Globus 2.4.X on a bare system– Installed all relevant Advisories from Globus– Configured Globus services and run simple jobs across

our ‘Grid in a room’– Installed and used GSI-SSH for certificate based system

login

Supercomputing, Visualization & e-Science105

To Do….

Show further tasks for integration of the system into the L2G– Configure our GRIS to report to the UK GIIS through a local GIIS.

– Install and use the GITS script.

Only used simple fork jobmanager – need to know about more complicated job managers

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce Configuration and Setup Changes for connection to the L2G

Supercomputing, Visualization & e-Science107

Aims

– Common errors with Globus Setup– Install necessary extra packages from MDS reporting– Advanced Job manager setup– Advanced GridFTP setup– Configure MDS to run to a central server in the

classroom– Change from MDS reporting to machine here to actual

machine on the L2G

Supercomputing, Visualization & e-Science108

The Most Common Errors

The most common errors when using Globus have the following root causes and as such should be investigated first (The number in brackets are the number of associated Errors with this solution from the Globus Website page)– Services not correctly being started (1)– User proxies too old or not created (3)– Username and DN correctly added to grid-mapfile (5)– Date and time synchronisation (3)– User/host/service certificates validity problems due to CA

certificates not being loaded correctly into /etc/grid-security/certificates (3)

http://www.globus.org/about/faq/errors.html

Supercomputing, Visualization & e-Science109

It doesn’t work – what to do

Can you “globusrun –a –r hostname”. Can you telnet to the port the service is running on (port 2119 for the

gatekeeper and 2811 for the gridftp server). If you cannot telnet to the port – is there a firewall. If there is no firewall then xinetd may not be starting the gatekeeper

properly – check the system logs. If the gatekeeper is starting properly check the gatekeeper log for

errors –

$GLOBUS_LOCATION/var/globus-gatekeeper.log If the permissions on the hostcert and hostkey are wrong Globus will

NOT work. globus-url-copy with –dbg is better for debugging than globusrun

Supercomputing, Visualization & e-Science110

Firewalls

If your Globus installation is behind a firewall then certain ports need to be open – 2119 (gatekeeper), 2811 (gridftp) and 2135 (GRIS)

Globus will also need a range of ports open for such things as GASS – to inform Globus of the port range you need to set the environmental variable GLOBUS_TCP_PORT_RANGE. This should be set in the xinetd files and user start up scripts.

The size of the port range depends on how much use you expect of the services – generally a range of couple of thousand should be OK.

Supercomputing, Visualization & e-Science111

GLOBUS_HOSTNAME

Some systems have more than one hostname – if Globus picks the wrong hostname during the install it can cause problems.

Problems can also arise during the Globus authentication process – Globus compares the hostname in the host certificate with the hostname returned by the DNS server for the host’s IP address.

These problems can sometimes be solved by setting the environmental variable GLOBUS_HOSTNAME in the xinetd files and the user’s start up scripts. (This is often necessary on clusters where the head node may have more than one interface)

Supercomputing, Visualization & e-Science112

Adding GLOBUS_TCP_PORT_RANGE

service gsigatekeeper { socket_type = stream protocol = tcp wait = no user = root env = LD_LIBRARY_PATH=GLOBUS_LOCATION/lib env += GLOBUS_TCP_PORT_RANGE=65000,65256 env += GLOBUS_HOSTNAME=blah.foo.ac.uk server = GLOBUS_LOCATION/sbin/globus-gatekeeper server_args = -conf GLOBUS_LOCATION/etc/globus-gatekeeper.conf disable = no }

NB – the systems we are using for the course don’t have firewalls so we do not need to do this step.

Supercomputing, Visualization & e-Science113

Job Manager and Reporter Packages

These are available for download from:– http://www.globus.org/gt2.4/download.html– To install reporters the reporter package is also needed.– Reporters available for the following

• LSF• PBS• Condor • Fork

– These packages are all installed using the gcc32dbg flavour

Supercomputing, Visualization & e-Science114

Installing Job Manager and Reporter Packages

There are 2 steps to this: adding gram-reporter, this publishes jobmanager information into MDS and installing the jobmanager setup package. 

Install the following; – globus-gram-reporter package

– jobmanager-specific setup package (in our case fork)

– Use gpt-build, gpt-postinstall and gpt-verify.

Edit $GLOBUS_LOCATION/etc/globus-job-manager.conf and add "-publish-jobs" and "-job-reporting-dir" options– “-publish-jobs” does not take any parameters, “-job-reporting-dir” can be set

to /tmp

Supercomputing, Visualization & e-Science115

Addition of Further Job Managers

Adding scheduler-setup-packages The first job manager scheduler package installed will be the

default job manager service (e.g. $GLOBUS_LOCATION/etc/grid-services/jobmanager). 

Additional job manager scheduler packages installed will be installed using the convention "jobmanager-<scheduler-name>" (e.g. $GLOBUS_LOCATION/etc/grid-services/jobmanager-pbs).

Supercomputing, Visualization & e-Science116

Changing the Default Jobmanager

The default job manager when installed is fork. To change the default job manager:

setup-globus-job-manager-xxx -service-name jobmanager The Jobmanager consists of a Perl script that effectively

converts the RSL into the appropriate batch script file and submits it to the batch system. The JobManager scripts often need to be customised.

Located in:

$GLOBUS_LOCATION/lib/perl/Globus/GRAM/JobManager

Supercomputing, Visualization & e-Science117

Advanced GridFTP setup

Advanced GridFTP setup consists of only one change to allow third party transfers.

Involves editing $GLOBUS_LOCATION/etc/ftpaccess file to add the lines:

port-allow all 0.0.0.0/0

pasv-allow all 0.0.0.0/0

on both sides of the third-party connection. You should find this has already been done – sometimes

a system may already have an ftpaccess file in /etc.

Supercomputing, Visualization & e-Science118

Break Install the reporter and job manager specific setup

packages.– For this example download the Fork jobmanager package.

Perform GridFTP advanced configuration. Check the behaviour of the job manager under MDS, is the

jobmanager being reported to the MDS. (Remember you will have to restart the GRIS)

Supercomputing, Visualization & e-Science119

MDS Reporting

The Monitoring and Discovery Service uses the LDAP protocol for passing machine and service information around such as:– Processing load– Physical Resources (ie disks etc)– Software installations

Supercomputing, Visualization & e-Science120

GRIS – GIIS Configuration

Both ends of the GIIS-GRIS chain need to be aware of the other

Server GIIS

Machine 1 GRIS Machine 2 GRIS Machine 3 GRIS

Supercomputing, Visualization & e-Science121

Creating a Hierarchical MDS System

It is necessary within a unified Grid to have all systems reporting to a single server to provide a single place where all information on resources on the Grid can be found.

Each Organisation in the Virtual Organisation must register all its resources under the one name.

Supercomputing, Visualization & e-Science122

MDS Server

Within the UK E-Science community the main GIIS server is defined as:– Machine=ginfo.grid-support.ac.uk – Port=2135 – Mds-VO-name=UK e-Science

In order to register ourselves though we must use an intermediate VO-name.– Machine=lab-18.nesc.ed.ac.uk– Port=2135– Mds-Vo-name=nesc-demo

Supercomputing, Visualization & e-Science123

Configuration Files for MDS

All files located in $GLOBUS_LOCATION/etc– grid-info-resource-register.conf

• Lists the GIIS servers to which a GRIS will register directly. – grid-info-site-giis.conf

• Initializes the data structure for a GRIS registering to a GIIS.  – grid-info-site-policy.conf

• Controls the acceptance of registration messages by a GIIS.– grid-info-slapd.conf

• Designates the GIIS and GRIS provider components to OpenLDAP.

– grid-info.conf • Sets the default values for the arguments to the grid-info-search

command

Supercomputing, Visualization & e-Science124

MDS Configuration Changes

The only changes to make the reporting to another MDs server are needed in– $GLOBUS_LOCATION/etc/grid-info-resource-register.conf

The changes are that you need to copy the existing block describing ‘local’ to the name of your own VO – see

http://vermont.mvc.mcc.ac.uk/grid-info-resource-register.conf For our example:

– reghn= lab-18.nesc.ed.ac.uk– Port=2135

– Mds-VO-name=nesc-demo

Now stop and restart you GRIS services and then test using: grid-info-search –h lab-18.nesc.ed.ac.uk –p 2135 –b “Mds-

VO-name=nesc-demo, o=Grid” –x

Supercomputing, Visualization & e-Science125

MDS Changes for GIIS

By default the GIIS will only accept registrations from itself. Need to change the file:

$GLOBUS_LOCATION/etc/grid-info-site-policy.conf

Adding a “MDS-Service-hn=*” entry. Also need to edit grid-info-slapd.conf and grid-info.conf,

replacing “site” with “nesc-demo” These steps are only required when creating a GIIS – you

do not need to do them. For examples of these files log onto lab-18.

Supercomputing, Visualization & e-Science126

Checking for you machine in the National GIIS

grid-info-search –h ginfo.grid-support.ac.uk –p 2135 –b “Mds-VO-name=UK e-Science, o=Grid” –x

Supercomputing, Visualization & e-Science127

Break Configured MDS to report to single server within the ‘grid in

a room’ setup.

Adjusted machine configurations to connect to L2G GIIS server.

Supercomputing, Visualization & e-Science128

Conclusions

Shown how to install the Globus Toolkit. Added Globus advisories to bring it up to date. Registered all the machines with the UK e-Science top

level GIIS. Shown how to configure extra job managers and how to

change default jobmanager.

Supercomputing, Visualization & e-Science129

Useful Information

http://www.globus.org http://www.grid-support.ac.uk http://esc.dl.ac.uk http://www.edg.org The Globus lists

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce The Grid Integration and Testing Script - GITS

Supercomputing, Visualization & e-Science131

GITS

The GITS script is written and maintained by David Baker (D.J.Baker@soton.ac.uk) from the University of Southampton.

It was written at the request of the EFT (Engineering Task Force) to provide a script that could be used to monitor the status of a Grid.

As part of the Level 2 Grid requirements the ETF requires each site to run and publish results from the GITS script nightly.

Supercomputing, Visualization & e-Science132

GITS

The script is available from:

http://www.soton.ac.uk/~djb1/gits.html

http://www.soton.ac.uk/~djb1/gits.1.4.tgz Current version is 1.4.1 The script is realised under a GPL license. David welcomes contributions to the script. It is probably one of the most comprehensive Grid

monitoring scripts available!!

Supercomputing, Visualization & e-Science133

GITS

The script is written in Perl, it requires one extra module Proc::Reliable

There are two GUI versions one written with Perl/Tk ( http://www.soton.ac.uk/~djb1/tkgits ), the other a C++/Qt executable which acts as a front end to the script ( http://vermont.mvc.mcc.ac.uk/qgits ).

The script can output its results in HTML format which can be put on a Web Server.

Supercomputing, Visualization & e-Science134

Running the Script

Before running the script some site specific parameters should be set within script:

$timeout

$local_giis

$local_vo_name

These can also be set using command line arguments.

Supercomputing, Visualization & e-Science135

Command Line Arguments

gits [-t abcdefghijklmn] [-h htmlfile] [-x XMLfile] contact1 [contact2 ...]

contact1 is of the format… vermont.mvc.mcc.ac.uk:fork

vermont.mvc.mcc.ac.uk:fork:lsf .

Supercomputing, Visualization & e-Science136

Tests -1

• a Ping Test - globusrun –a –r contact

(if this test fails no other tests are run)

b RSL-Hello - globusrun –o –r contact ‘&(executable=/bin/echo)(arguments=“Hello World”)’

c Hello World – globus-job-run contact /bin/echo “Hello World”

Supercomputing, Visualization & e-Science137

Tests - 2

d Stage – globus-job-run contact –s testscript

e RSL-Shell – globusrun –o –r contact ‘&(executable=$GLOBUS_LOCATION/bin/globus-sh-exec)(arguments= -e ${GLOBUS_SH_UPTIME})’

Supercomputing, Visualization & e-Science138

Tests - 3

f batch tests (Batch-Submit, Batch-Query and Batch-Cancel)

globus-job-submit contact /bin/sleep 600

globus-job-status

globus-job-clean –force g Batch-Retrieve

globus-job-submit contact /bin/echo hello

globus-job-get-output

Supercomputing, Visualization & e-Science139

Tests - 4

h GASS – globusrun –s –r contact

‘&(executable=$GLOBUS_LOCATION/bin/globus-url-copy) (arguments= $GLOBUS_GASS_URL/blah file:/tmp/blah) (environment= (LD_LIBRARY_PATH $GLOBUS_LOCATION/lib))’

Supercomputing, Visualization & e-Science140

Tests - 5

i GridFTP – globus-url-copy file:/tmp/blah gsiftp://contact/tmp/blah

j GRIS – grid-info-search –h contact –x

k UK GIIS – grid-info-search –nowrap ginfo.grid-support.ac.uk –x –b “UK e-Science,o=grid” –s sub “(objectclass=MdsComputer)”

Supercomputing, Visualization & e-Science141

Tests - 6

l Local GIIS - grid-info-search –nowrap $local_giis –x –b “$local_vo_name,o=grid” –s sub “(objectclass=MdsComputer)”

m Jobmanagers – checks for jobmanagers reported in UK GIIS

n Comparison – compares results from UK GIIS and Local GIIS

Supercomputing, Visualization & e-Science142

Script Output

STDOUT/STDERR XML format (using –x option). Required to upload

results to GITS Web Service HTML – should be put on a Web Server with a link

from

https://www.grid-support.ac.uk/etf/wg/integration-tests.html

Supercomputing, Visualization & e-Science143

GITS Web Service

http://vermont.mvc.mcc.ac.uk/gqec/ Written by Mark Mc Keown, University Manchester

(mark.mckeown@man.ac.uk)

Provides a mechanism for sites to store results from the GITS script in a central location.

Uses Web Services technology to store and retrieve results to a database.

Uses Apache/Perl/SOAP::Lite/MySQL on the server side.

Supercomputing, Visualization & e-Science144

GITS Web Service Clients

WSDL - http://vermont.mvc.mcc.ac.uk/gqec/GITSquery.WSDL

Perl client, gqec.pl, requires Perl modules SOAP::Lite installed on client machine.

http://vermont.mvc.mcc.ac.uk/gqec/

CGI interface: http://vermont.mvc.mcc.ac.uk/gqec/gqec_cgi.html

C++/Qt/gSOAP http://vermont.mvc.mcc.ac.uk/qgits/

Supercomputing, Visualization & e-Science145

Access Control

Requires a UK eScience certificate to upload results to the database, downloading results is open to everyone.

The gqec.pl can use a proxy certificate for authentication.

Supercomputing, Visualization & e-Science146

Perl Client

gqec.pl usage gqec.pl wsdl (returns WSDL of service) gqec.pl method parameters

gqec.pl QueryHostJob vermont.mvc.mcc.ac.uk fork

gqec.pl QueryHostJobDate vermont.mvc.mcc.ac.uk fork 2002-11-15

Supercomputing, Visualization & e-Science147

Uploading Results

gqec.pl UpLoader file1 file2

gqec.pl XMLtoHTML file1 file2 ....

gqec.pl QueryHostJob vermont.mvc.mcc.ac.uk fork | gqec.pl XMLtoHTML

Supercomputing, Visualization & e-Science148

Acknowledgements

Thanks to David Wallom (ex RAL now at Bristol) for slides. Thanks to Stephen Pickles (Manchester) for slides.

top related