Projet Grille Géno-Médicale (GGM) Maxime CASTELEIN Julien VIEIRA Responsables : N. Melab, S. Cahon
Contexte et définition Projet Grille Géno-Médicale (GGM) de l’ACI Masse de données (Lille, Lyon, Toulouse) Equipe OPAC – LIFL Proposition d’une architecture logicielle … s’appuyant sur les grilles de calcul … capable de gérer des données hétérogènes et dynamiques … … au sein d’entrepôts de données distribuées … … à des fins d’analyse et de traitement intensifs.
Objectifs Mise en place de la grille (réseau VPN) VTun Installation de Globus Toolkit 4 Méthodologie de déploiement d’une application Déploiement d’une application simple
Mise en place et exploitation d’une grille C’est un réseau privé sur un réseau public (VPN) Les utilisateurs de GGM peuvent « se balader » sur toute la grille … … machines de Lille, Lyon et Toulouse Connections sécurisées (authentification) Communications cryptées et compressées
Le VPN Réseau privé 59-69 59-31 Réseau privé 31-69 Réseau privé
Plan d’adressage sur site 192.168.xx.0/255.255.255.0 Numéro de département
Mise en place du VPN (1) Installation de VTun Création des tunnels Ouverture du port 7713 Configuration de vtund.conf Création des tunnels avec la commande vtund (exemple : vtund 59-31 141.115.28.132 –p) Masquerading et IP forwarding Accès à l’extérieur (ex. Internet) à partir du réseau privé Rebond direct sur le réseau privé à la connexion
Mise en place du VPN (2) # Tunnel i : xx-yy (serveur côté xx) xx-yy { pass <taper le mot de passe>; # un moyen d'obtenir un mot de passe : 'ps ax | md5sum' type ether ; # tunnel Ethernet proto tcp; # Protocole de transport TCP keepalive yes; # Liste des programmes à lancer une fois la connexion établie (initialisation des protocoles, du routage, etc.) up { ifconfig "%% 10.1.i.xx netmask 255.255.255.0"; route "add -net 192.168.yy.0 gw 10.1.i.yy netmask 255.255.255.0"; }; # Liste des programmes à lancer à la déconnexion down { ifconfig "%% down"; }
Mise en place du VPN (2) - Exemple 59-31 { pass ad415132e5664968f46ea62ebd3908bb ; type ether; proto tcp; keepalive yes; up { ifconfig "%% 10.1.35.59 netmask 255.255.255.0"; route "add -net 192.168.31.0 gw 10.1.35.31 netmask 255.255.255.0"; }; down { ifconfig "%% down"; }; }
Activation des tunnels Côté serveur (xx) : 'vtund -s' Côté client (yy) : 'vtund xx-yy <Real-Ip-Passerelle-xx> -p' Exemple : Activation du tunnel Lille (c)-Toulouse (s) (59-31) Passerelle de Toulouse : 141.115.28.132 Sur Toulouse : vtund –s Sur Lille : /usr/sbin/vtund 59-31 141.115.28.132 –P <Num_port_Toulouse> –p
Objectifs Mise en place de la grille (réseau VPN) VTun Installation de Globus Toolkit 4 Méthodologie de déploiement d’une application Déploiement d’une application simple
Globus Toolkit
Installation de Globus Toolkit 4 (1) Quelle version pour Globus toolkit ? GT3 (Lyon) : Grid services (OGSA) GT4 : Stateful Web services (WSRF) Plus d’interopérabilité Quel OS ? Red Hat 7.3 (Aucun problème connu)
Installation de Globus Toolkit 4 (2) Quels logiciels requis ? JDK 1.4.2 contient JNDI (Java) Stocker et obtenir un objet Java Ant 1.5.1 (GAR) Générer une archive GAR pour faciliter les interdépendances C compiler : gcc GNU tar GNU Make Base de données conforme JDBC : Postgres 7.1
Configuration de Globus Toolkit 4 Authentification Certificat hôte Certificats utilisateurs Certificat signé en local Pour plus de sécurité : Envoyer le certificat aux autorités Globus qui le retournent signé.
Objectifs Mise en place de la grille (réseau VPN) VTun Installation de Globus Toolkit 4 Méthodologie de déploiement d’une application Déploiement d’une application simple
Déployer un service WSRF (1) Définir l’interface du service (WSDL) « Web Services Description Language » Implémenter le service (Java) Exécution de service dans Java Définir les paramètres de déploiement (WSDD et JNDI) descripteur de déploiement indiquant comment présenter au monde externe Générer une archive GAR (Ant) Un seul fichier qui contient toutes les informations nécessaires pour déployer le service Déployer le service (Globus Toolkit)
Déployer un service WSRF (2)
Objectifs Mise en place de la grille (réseau VPN) VTun Installation de Globus Toolkit 4 Méthodologie de déploiement d’une application Déploiement d’une application simple
Test sur un exemple simple (1) Définition d’un service Web mathématique Une variable courante initialisée à 0 Deux opérations : Addition d’un nombre à la variable courante Soustraction d’un nombre à la variable courante Connaître l’état de la variable : Valeur de la variable courante Dernière opération effectuée sur cette variable
Test sur un exemple simple (2) Coté Client public class Client { public static void main(String[] args) { MathServiceAddressingLocator locator = new MathServiceAddressingLocator(); try { String serviceURI=args[0]; EndpointReferenceType endpoint = new EndpointReferenceType(); endpoint.setAddress(new Address(serviceURI)); MathPortType math = locator.getMathPortTypePort(endpoint); math.add(10); math.add(5); System.out.println(« Valeur: » + math.getValue(new GetValueRP())); math.subtract(5); } catch (Exception e) { e.printStackTrace(); } } }
Test sur un exemple simple (3) Exécution par un utilisateur Affichage : Valeur:15 Valeur:10 Exécution par deux autres utilisateurs quasi simultanément Utilisateur 2, affichage : Valeur:25, Valeur: 20 Utilisateur 3, affichage : Valeur: 35, Valeur:30
Bilan Travail effectué Mise en place de passerelle et nœud de calcul (Installation des OS et configuration réseau) Mise en place du VPN (Lille, Toulouse) Installation des logiciels requis pour Globus Installation et configuration de Globus Toolkit 4 Déploiement d’une application simple avec GT4
Conclusion Perspective Bilan personnel Mise en place des tunnels avec Lyon Déploiement d’un service sur les trois sites Mise en place d’entrepôts de données distribuées Bilan personnel Mise en pratique des cours de réseau Découverte des réseaux virtuels et principe de fonctionnement Définition et utilisation d’une grille de calcul