Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas...

26
INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOS CURSO CLUSTERS & GRID COMPUTING EN ENTORNOS DE SOFTWARE LIBRE 28, 29 y 30 de Noviembre 2005 http://bifi.unizar.es/clustersygrid Computación y seguridad en GRID Guillermo Losilla Anadón ([email protected])

Transcript of Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas...

Page 1: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOS

CURSO

CLUSTERS & GRID COMPUTINGEN ENTORNOS DE SOFTWARE LIBRE

28, 29 y 30 de Noviembre 2005http://bifi.unizar.es/clustersygrid

Computación y seguridad en GRID

Guillermo Losilla Anadón

([email protected])

Page 2: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Indice

► Introducción a Globus Toolkit

► Gestión de trabajos en Globus

► Computación grid

► GSI: seguridad en grid

Resumen y referencias de interés

Page 3: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Introducción a Globus Toolkit

● Globus Toolkit es un framework/paquete de software libre que contiene:

– Implementación de la extensión WSRF– Un conjunto de servicios grid que cumplen el estandar

OGSA compliant

● Licencia libre (GPL)

● Se ha convertido en el estandar ”de facto” para desarrollo

de grid middleware

● Desarrollado por la Globus Alliance bajo la dirección de Ian Foster & Carl Kesselman (”gurús” del grid computing)

Page 4: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Introducción a Globus Toolkit

► Arquitectura Globus Toolkit v4:

● Incluye contenedor de servicios web propio (Apache Axis como SOAP Engine)

● Implementación WSRF● Colección servicios grid OGSA-

compliant

► Instalación por defecto:

● Incluye contenedor e instala todos los servicios (necesario configurar algunos!)

► Instalación manual permite seleccionar servicios y usar otro contenedor servicios web (p.e. Apache Tomcat)

The Globus Toolkit 4 tutorial ®

Page 5: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Introducción a Globus Toolkit

► Los servicios del grupo Common Runtime services contienen bibliotecas y utilidades (implementación WSRF) sobre los que están basados el resto de servicios

The Globus Toolkit 4 tutorial ®

Page 6: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Introducción a Globus Toolkit

► Metodología de instalación:

● Tenemos uno o más equipos que queremos integrar en una infraestructura grid; nuestro ”nodo en el Grid”

● Previamente es necesario instalar cualquier distro GNU/Linux y software que habilite scheduling local, almacenamiento distribuido no estandar, etc...

● 2 posibilidades:

– Instalar Globus en un único equipo que albergue todos los servicios que queramos

– Instalar Globus en varios equipos del nodo, cada uno con los servicios deseados

● Necesaria configuración adicional de algunos servicios

● Instalar los paquetes de integración necesarios (scheduler local, sistemas de ficheros con interfaz no-POSIX...)

● El número de máquinas de nuestro nodo y la distribución de servicios en ellos se hace saber al resto del Grid a través del sistema de información

Page 7: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Indice

► Introducción a Globus Toolkit

► Gestión de trabajos en Globus

► Computación grid

► GSI: seguridad en grid

Resumen y referencias de interés

Page 8: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Gestión de trabajos en Globus

► Servicios gestión de trabajos en GT4:

The Globus Toolkit 4 tutorial ®

Page 9: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Gestión de trabajos en Globus

► GRAM (Grid Resource Allocation and Management):

● Se encarga de la recepción, inicio, monitorización, planificación y/o coordinación de trabajos remotos

● Versiones WSRF y no-WS (GT2)● Sigue patrón de diseño factorial (en GT4 hay 2 servicios:

ManagedJobFactory, ManagedJob)● Permite ”staging” (transferencia) de ficheros al nodo de ejecución (utiliza

servicio RFT)● Necesario instalar software de integración (”scheduler adapter”) para que

la describción de trabajos de Globus se traduzca a los comandos del scheduler local apropiados

» Schedulers con adaptador para GT4: PBS, SGE, Condor y LSF

● Cliente línea de comandos (globusrun-ws, globus-job-run) y API en Java & C

● Especificación de job en fichero XML (RSL en GT3.2)

Page 10: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Gestión de trabajos en Globus

► Arquitectura GRAM:

Page 11: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Indice

► Introducción a Globus Toolkit

► Gestión de trabajos en Globus

► Computación grid

► GSI: seguridad en grid

Resumen y referencias de interés

Page 12: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Computación grid

► Brokering o planificación global de trabajos:

● GRAM sólo representa el paso final antes de ejecutar un job en un nodo del grid, pero ¿cómo llega un trabajo hasta él? ¿quién asigna el nodo en el que se va a ejecutar un trabajo?

● La respuesta: un “planificador global” o “metascheduler” toma esa decisión

» Sinónimos: metascheduler = broker

● El broker se encarga de aceptar el trabajo por parte del usuario y asignarlo al nodo del grid más adecuado según la especificación recibida. Lo envía a la máquina que en el nodo asignado está corriendo GRAM (comúnmente llamada Computer Element o Gatekeeper)

● También se ocupa de otras tareas como localizar y transferir ficheros de entrada (provistos por el cliente o ya presentes en el Grid) y de salida del job y de contactar con los servicios de logging.

Page 13: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Computación grid

► Brokering/planificación global de trabajos:

● Globus Toolkit todavía no aporta este componente necesario para obtener una infraestructura grid 100% funcional

● El broker junto con servicios auxiliares de logging (lifecycle de jobs) forma lo que se denomina el Workload Management System

● Brokers: GRBS, GridWay

Page 14: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Computación grid

► Banco de pruebas GILDA (https://gilda.ct.infn.it/)● Acceso abierto a un grid testbed 100% funcional● Middleware EGEE● Acceso web / linea de comandos (ssh)

Page 15: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Indice

► Introducción a Globus Toolkit

► Gestión de trabajos en Globus

► Computación grid

► GSI: seguridad en grid

Resumen y referencias de interés

Page 16: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

GSI: seguridad en grid

► Seguridad en entornos grid: FUNDAMENTAL

► Implementada a través de GSI (Grid Security Infrastructure):

● Seguridad basada en criptografía de clave pública● Provee: privacidad, integridad, autenticación y

autorización● 2 niveles de encriptación: message-level & transport-level

security● Uso de certificados digitales standard X.509● Introduce proxy certificates y proxy servers● Delegación de credenciales

Page 17: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

GSI: seguridad en grid► GSI:

● Los servicios grid más importantes utilizan GSI (GRAM, gridFTP...)

● Un usuario que quiera trabajar en un grid tiene que poseer un certificado digital X.509 firmado por una CA soportada por dicha infraestructura grid (user certificate)

● Lo mismo ocurre para los equipos que participan en el grid (host certificate)

● Globus incluye paquete para crear una CA para pruebas (openssl-based) pero en infraestructuras grid ”de verdad” hay que recurrir a PKIs reales

● El BIFI es ”Registration Authority” oficial para DataGrid-ES y pkIRISGrid, actual y futura CA española en EUGridPMA (European Policy Management Authority for Grid Authentication in e-Science )

Page 18: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

GSI: seguridad en grid► Servicios de seguridad en GT4:

The Globus Toolkit 4 tutorial ®

Page 19: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

GSI: seguridad en grid

► Organizaciones virtuales

● La característica de autorización que aporta GSI introduce el concepto de Organización Virtual (VO): agrupación de usuarios y recursos dedicados a una actividad común

● Permiten estructurar / jerarquizar /organizar el Grid (los nodos dedicen ”soportar” las VOs de su interés)

● Consecuencia: un usuario que quiera trabajar en una infrestructura grid, debe ser miembro de, al menos, una VO que cubra sus intereses y podrá usar los recursos que ”soporten” esa VO

● La información de los miembros de las Organizaciones Virtuales se guarda en VO-servers (componente no incluido en Globus)

Page 20: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Indice

► Introducción a Globus Toolkit

► Gestión de trabajos en Globus

► Computación grid

► GSI: seguridad en grid

Resumen y referencias de interés

Page 21: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Resumen

1. El framework Globus Toolkit 4 contiene una implementación de WSRF y un conjunto de servicios grid que se usan para el desarrollo de middleware y aplicaciones grid

2. Globus permite distintas combinaciones en su instalación para integrar un nodo en el Grid

3. GRAM es el componente de Globus que se encarga de recibir los trabajos enviados por los usuarios del Grid y transferirlos al scheduler local

4. El broker o metascheduler es el ”planificador global” que realmente recibe los trabajos enviados por los usuarios y decide en qué nodos se van a ejecutar

5. GSI es la capa de globus que permite ”securizar” servicios utilizando criptografía basada en certificados digitales

6. Los usuarios y recursos de una infraestructura grid pueden agruparse en Organizaciones Virtuales

Page 22: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre INSTITUTO DE BIOCOMPUTACIÓN Y FÍSICA DE SISTEMAS COMPLEJOSClusters & Grid computing en entornos de software libre

Referencias de interés

► Documentación oficial GT4: ● Ejecución: http://www.globus.org/toolkit/docs/4.0/execution/● Seguridad: http://www.globus.org/toolkit/docs/4.0/security/

► Globus Toolkit 4 Programmer’s Tutorial: http://gdp.globus.org/gt4-tutorial/

► Testbed Gilda: https://gilda.ct.infn.it/

► Manual usuario middleware LCG: https://edms.cern.ch/file/454439//LCG-2-UserGuide.pdf

Page 23: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

ANEXO: Ejercicios prácticos sesión “Computación y seguridad en GRID”

1. Inicializar & arrancar una instalación por defecto de Globus:

1.1. Primero arrancamos manualmente el servicio gridFTP y la base de datos que hayamos configurado para que funcione el servicio RFT (necesario para poder realizar staging de ficheros en GRAM):

globus@host:~> sudo /etc/init.d/postgresql startglobus@host:~> sudo /$GLOBUS_LOCATION/sbin/globus-gridftp-server -p 2811 &

1.2 Arrancamos el contenedor de servicios de Globus:

globus@host:~> cd $GLOBUS_LOCATIONglobus@host:~> bin/globus-start-containerStarting SOAP server at: https://host:8443/wsrf/services/With the following services:

[1]: https://host:8443/wsrf/services/TriggerFactoryService[2]: https://host:8443/wsrf/services/DelegationTestService[3]: https://host:8443/wsrf/services/SecureCounterService[4]: https://host:8443/wsrf/services/IndexServiceEntry[5]: https://host:8443/wsrf/services/DelegationService[6]: https://host:8443/wsrf/services/InMemoryServiceGroupFactory[7]: https://host:8443/wsrf/services/mds/test/execsource/IndexService[8]: https://host:8443/wsrf/services/mds/test/subsource/IndexService[9]: https://host:8443/wsrf/services/SubscriptionManagerService[10]: https://host:8443/wsrf/services/TestServiceWrongWSDL[11]: https://host:8443/wsrf/services/SampleAuthzService[12]: https://host:8443/wsrf/services/WidgetNotificationService[13]: https://host:8443/wsrf/services/AdminService[14]: https://host:8443/wsrf/services/DefaultIndexServiceEntry[15]: https://host:8443/wsrf/services/CounterService[16]: https://host:8443/wsrf/services/TestService[17]: https://host:8443/wsrf/services/InMemoryServiceGroup[18]: https://host:8443/wsrf/services/SecurityTestService[19]: https://host:8443/wsrf/services/ContainerRegistryEntryService[20]: https://host:8443/wsrf/services/NotificationConsumerFactoryService[21]: https://host:8443/wsrf/services/TestServiceRequest[22]: https://host:8443/wsrf/services/IndexFactoryService[23]: https://host:8443/wsrf/services/ReliableFileTransferService[24]: https://host:8443/wsrf/services/mds/test/subsource/IndexServiceEntry[25]: https://host:8443/wsrf/services/Version[26]: https://host:8443/wsrf/services/NotificationConsumerService[27]: https://host:8443/wsrf/services/IndexService[28]: https://host:8443/wsrf/services/NotificationTestService[29]: https://host:8443/wsrf/services/ReliableFileTransferFactoryService[30]: https://host:8443/wsrf/services/DefaultTriggerServiceEntry[31]: https://host:8443/wsrf/services/TriggerServiceEntry[32]: https://host:8443/wsrf/services/PersistenceTestSubscriptionManager[33]: https://host:8443/wsrf/services/mds/test/execsource/IndexServiceEntry[34]: https://host:8443/wsrf/services/DefaultTriggerService[35]: https://host:8443/wsrf/services/TriggerService[36]: https://host:8443/wsrf/services/gsi/AuthenticationService[37]: https://host:8443/wsrf/services/TestRPCService[38]: https://host:8443/wsrf/services/ManagedMultiJobService[39]: https://host:8443/wsrf/services/RendezvousFactoryService[40]: https://host:8443/wsrf/services/WidgetService[41]: https://host:8443/wsrf/services/ManagementService[42]: https://host:8443/wsrf/services/ManagedExecutableJobService[43]: https://host:8443/wsrf/services/InMemoryServiceGroupEntry[44]: https://host:8443/wsrf/services/AuthzCalloutTestService[45]: https://host:8443/wsrf/services/DelegationFactoryService

Page 24: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

[46]: https://host:8443/wsrf/services/DefaultIndexService[47]: https://host:8443/wsrf/services/ShutdownService[48]: https://host:8443/wsrf/services/ContainerRegistryService[49]: https://host:8443/wsrf/services/TestAuthzService[50]: https://host:8443/wsrf/services/CASService[51]: https://host:8443/wsrf/services/ManagedJobFactoryService

2. Envío de jobs a GRAM

2.1 Generación del certificado proxy:user@host:~> grid-proxy-init

2.2 Envío de un trabajo por linea de comandos:user@host:~> globusrun-ws -submit -c /bin/touch curso/hola

2.3 Envío de un trabajo por linea de comandos indicando una instancia de GRAM concreta:user@host:~> globusrun-ws -submit -F https://host:8443/wsrf/services/ManagedJobFactoryService -c /bin/touch curso/adios

2.4 Envío de un trabajo sencillo especificado en un fichero XML:user@host:~/curso> cat trabajo1.xml<job> <executable>/bin/date</executable> <stdout>${GLOBUS_USER_HOME}/curso/stdout</stdout> <stderr>${GLOBUS_USER_HOME}/curso/stderr</stderr></job>user@host:~/curso> globusrun-ws -submit -F https://host:8443/wsrf/services/ManagedJobFactoryService -f trabajo1.xml

2.5 Envío de un trabajo más complejo:

user@host:~/curso> cat trabajo2.xml<job>

<executable>mi_comando.sh</executable><directory>${GLOBUS_USER_HOME}</directory><argument>BIFI</argument><stdout>${GLOBUS_USER_HOME}/stdout</stdout><stderr>${GLOBUS_USER_HOME}/stderr</stderr><fileStageIn>

<transfer><sourceUrl>gsiftp://host:2811/home/user/curso/mi_comando.sh</sourceUrl><destinationUrl>file:///$ {GLOBUS_USER_HOME}/mi_comando.sh </destinationUrl>

</transfer></fileStageIn><fileStageOut>

<transfer><sourceUrl>file:///$ {GLOBUS_USER_HOME}/stdout </sourceUrl><destinationUrl>gsiftp://host:2811/home/user/curso/stdout</destinationUrl>

</transfer></fileStageOut><fileCleanUp>

<deletion><file>file:///${GLOBUS_USER_HOME}/mi_comando.sh</file>

</deletion></fileCleanUp>

</job>user@host:~> globusrun-ws -S -submit -F https://host:8443/wsrf/services/ManagedJobFactoryService -f trabajo2.xml

Page 25: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

3. Real time grid monitor, applet que muestra el flujo de trabajos a través de la infraestructura de EGEE:http://gridportal.hep.ph.ic.ac.uk/rtm/

4. GSI: algunos comandos sobre certificados y proxies de usuario en Globus

4.1 localización del certificado de usuario en formato .pem:user@host:~/curso> ll $HOME/.globus

4.2 Información de certificado de usuario:user@host:~/curso> grid-cert-info

4.3 Obtención del “distinguished name” (DN) de certificado de usuario:user@host:~/curso> grid-cert-info -subject

4.4 Generación de certificado proxy:user@host:~/curso> grid-proxy-init

4.5 Información de certificado proxy:user@host:~/curso> grid-proxy-info

4.6 Destrucción de certificado proxy:user@host:~/curso> grid-proxy-destroy

5. Autorización: el fichero /etc/grid-security/grid-mapfile debe incluir los DNs de los usuarios que queramos autorizarglobus@host:~> cat /etc/grid-security/grid-mapfile

6. Envío de trabajos al grid a través de un broker: uso del testbed GILDA (https://gilda.ct.infn.it/)

6.1 Generación de proxy certificate:[bifigrid@grid019 bifigrid]$ grid-proxy-init

6.2 Un trabajo sencillo especificado en JDL (formato usado en middleware LCG):

[bifigrid@grid019 sample]$ cat testJob.jdlExecutable = "testJob.sh";StdOutput = "testJob.out";StdError = "testJob.err";InputSandbox = {"./testJob.sh"};OutputSandbox = {"testJob.out","testJob.err"};

6.3 JDL permite posibilidad de especificar gran variedad de atributos al enviar jobs:

[bifigrid@grid019 attribs]$ cat atributos.jdl[Type = "Machine";Activity = "Idle";DayTime = 36107; // current time (secs since midnight)KbdIdle = 1432; // secondsDisk = 323496; // kbytesMemory = 64; // megabytesState = "Unclaimed";LoadAvg = 0.042969;Arch = "INTEL";OpSys = "SOLARIS251";]

6.4 Envío de un trabajo completo al grid

[bifigrid@grid019 renderizado]$ lltotal 12

Page 26: Computación y seguridad en GRID - BIFI · instituto de biocomputaciÓn y fÍsica de sistemas complejos curso clusters & grid computing en entornos de software libre 28, 29 y 30 de

-rw------- 1 bifigrid users 1316 Nov 30 14:43 cubo.pov-rw-r--r-- 1 bifigrid users 768 Nov 30 18:15 renderizado.jdl-rw-r--r-- 1 bifigrid users 111 Nov 30 14:43 start_povray_cubo.sh[bifigrid@grid019 renderizado]$ cat renderizado.jdl

[ requirements = other.GlueCEStateStatus == "Production" && other.GlueHostNetworkAdapterOutboundIP == true && other.GlueCEPolicyMaxCPUTime >= 6 && Member("POVRAY-3.5",other.GlueHostApplicationSoftwareRunTimeEnvironment); RetryCount = 1; JobType = "normal"; Executable = "start_povray_cubo.sh"; StdOutput = "std.out"; OutputSandbox = { "std.out","std.err",".BrokerInfo","cubo.png" }; VirtualOrganisation = "gilda"; rank = other.GlueCEStateWaitingJobs == 0 ? other.GlueCEStateFreeCPUs : -other.GlueCEStateWaitingJobs; Type = "job"; StdError = "std.err"; DefaultRank = -other.GlueCEStateEstimatedResponseTime; InputSandbox = { "/home/bifigrid/curso/renderizado/start_povray_cubo.sh","/home/bifigrid/curso/renderizado/cubo.pov" } ]

6.5 Visualización de sites que pueden ejecutar nuestro trabajo:[bifigrid@grid019 renderizado]$ edg-job-list-match renderizado.jdl

6.6 Envío del trabajo (genera un identificador de trabajo o jobID):[bifigrid@grid019 renderizado]$ edg-job-submit renderizado.jdl

6.7 Consulta del estado actual del trabajo:[bifigrid@grid019 renderizado]$ edg-job-status <jobID>

6.8 Una vez que el job alcanza el estado Done, podemos recoger la salida:[bifigrid@grid019 renderizado]$ edg-job-get-output <jobID>

6.9 Consulta traza completa del trabajo:[bifigrid@grid019 renderizado]$ edg-job-get-logging-info <jobID>