240 likes | 372 Views
Projet Grille Géno-Médicale (GGM). Maxime CASTELEIN Julien VIEIRA. Responsables : N. Melab, S. Cahon. Contexte et définition. Contexte 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
E N D
Projet Grille Géno-Médicale (GGM) Maxime CASTELEIN Julien VIEIRA Responsables : N. Melab, S. Cahon
Contexte et définition • Contexte • 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
Installation de Globus Toolkit 4 (1) • Quelle version pour Globustoolkit ? • 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)
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); System.out.println(« Valeur: » + math.getValue(new GetValueRP())); } 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éploiementd’une application simple avec GT4
Conclusion • Perspective • 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