64
(c) E D 2003 Une introduction aux architectures systèmes distribuées Université de Haute Alsace Octobre 2003 Cluster

Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Une introduction aux architectures systèmes distribuées

Université de Haute AlsaceOctobre 2003

Cluster

Page 2: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Technique

Définition

Applications Idées

IntroductionGénéralisation

$$$

Questions?

Plan

Page 3: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 4: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

Page 5: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

Page 6: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Espace

HardService

Page 7: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Engorgement

Page 8: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Engorgement

Page 9: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Pannes

Engorgement

Page 10: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Pannes

Engorgement

Fiabilitée

Qualitée

Page 11: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Pannes

Engorgement

Engorgement

Fiabilitée

Qualitée

Page 12: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Pannes

Engorgement

Engorgement

Espace

Intégrité

Fiabilitée

Qualitée

Page 13: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Problème

NET

CPU

E/S

Disques

HardService

Surcharge

Pannes

Engorgement

Engorgement

Espace

Intégrité

Fiabilitée

QualitéeTCO

Page 14: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 15: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Page 16: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

Page 17: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

« Mirroring » des systèmes

Page 18: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

« Mirroring » des systèmes

« Routeur » de services

Page 19: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

« Mirroring » des systèmes

« Mirroring » des services

« Routeur » de services

Page 20: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

« Mirroring » des systèmes

« Mirroring » des services

« Routeur » de services

Délégation dessystèmes de fichiers

Page 21: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Actions

NET

CPU

E/S

Espace

HardService

Passer de 1 à N CPUset de 1 à N serveurs

« Mirroring » des systèmes

« Mirroring » des services

« Routeur » de services

Délégation dessystèmes de fichiers

Réseau de serveursde fichiers

Page 22: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Processus

PC TR

ClusterStation

Complexité

nombrefréquence

Page 23: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Remarque

si1 CPU = a MIPS

alorsn CPU < à n*a MIPS

en termes de systèmesavec des tâches non indépendantes

Page 24: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Requêtes

1

2

Taille de la requête<

Taille de la réponse

Temps de requête<

Temps de la réponse

Page 25: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Requêtes

CPUNET

Page 26: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 27: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Définition

Un cluster est un ensemble d’ordinateurs connectés les uns aux autres en réseau dans le but de partager des ressources et capables de

traiter de concert un même travail.

Page 28: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Types de Clusters

Cluster Scientifique: calculer à grande échelle...

Cryptographie

Simulation

Ray-Tracing ( 3D )

Page 29: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Types de Clusters

Cluster de stockage: disponibilité des informations...

Comptes utilisateurs

Fichiers vidéo

Bases de données

Page 30: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Types de Clusters

Cluster de haute disponibilité: certifier le fonctionnement...

Firewall

E-Shop

Mail

Page 31: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Types de Clusters

Cluster de répartition de charge: client / serveur...

Serveur HTTP / Mail

GroupWare

Infrastructure utilisateurs

Page 32: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 33: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Open Mosix

Migration automatiqueDans le kernelOutils non spécifiquesONFS

Cluster Knoppix

Voir dans les liens cluster

Page 34: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Beowulf

Architecture pour la programmation //1 node serveur + n nodes clients

PVMLAM/MPI ( messages )BERT77 ( fortran )...

Voir dans les liens cluster

Page 35: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS Principe

Load BalancingLinux Server

Real server

Client

Page 36: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS / NAT

1

5 4

3

2

Page 37: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS / IP Tunneling

1

5

4

3

2

Page 38: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS / Direct Routing

1

54

3

2

Le même réseau physique

Page 39: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS Sheduling

Round-Robin Scheduling : Par exemple, dans une configuration avec 2 real-servers, la première requête sera affectée au 1er serveur, la seconde au second serveur, la 3ème requête au 1er serveur, et ainsi de suite en boucle.

Weighted Round-Robin Scheduling : même technique, mais les real-serveurs peuvent être affectés par des poids, pour tenir compte des différentes capacités de traitement.

Page 40: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS Sheduling

Least-Connection Scheduling : le load-balancer possède une table des connections actives. Il renverra toute nouvelle requête au serveur possédant le moins de connexions actives, dynamiquement.

Weighted Least-Connection Scheduling : même idée que l'algorithme précédent, en ayant la possibilité d'attribuer des poids aux serveurs.

Page 41: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS Sheduling

Locality-Based Least-Connection Scheduling : Le load balancer choisit un real-server dans un groupe en fonction de l'adresse IP de destination. Il est utilisé dans les clusters de cache.

Locality-Based Least-Connection with Replication scheduling : Idem que le précèdent, avec une fonctionnalité supplémentaire: si tous les serveurs du groupe sont surchargés ou indisponibles, il choisit un serveur dans un autre groupe pour l'affecter au 1er groupe de serveurs.

Page 42: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS Sheduling

Destination Hashing Scheduling : affecte la requête arrivant à un serveur d'un groupe fixé dans une table de hashage, en fonction de l'adresse IP destination.

Source Hashing Scheduling : affecte la requête arrivant à un serveur d'un groupe fixé dans une table de hashage, en fonction de l'adresse IP source.

Page 43: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS FallOver

Load BalancingLinux Server

Real server

Client

Fall Over

MON

MONHeartbeat+

Fake

Voir dans les liens tools

Page 44: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS + FS

Load BalancingLinux Server

Real server

Client

Fall Over

MON

MONHeartbeat+

Fake

GFSCodaPvfs

Voir dans les liens fs

Page 45: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS + FS + LAN

Load BalancingLinux Server

Real server

Client

Fall Over

MON

MONHeartbeat+

Fake

GFSCodaPvfs

FS LAN

EXTCluster LAN

Page 46: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS + LAN

FS LAN

EXT Cluster LAN

Output

Input

Page 47: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS + LAN

FS LAN

EXT Cluster LAN

Output

Input

Page 48: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

LVS / Cascade

Load BalancingLinux Server

Real server

Client

Cascade1

2

3

4

Page 49: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Pvfs / Ethernet

< à 25 ION

« linéarité » clients/serveurs

En charge: < 16 ION, pas linéaire

8 Mbit/s/ION

Page 50: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Pvfs / Myrinet

< à 25 ION

« linéarité » clients/serveurs

En charge: « linéaire »

20 Mbit/s/ION

Voir dans les liens hard

Page 51: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 52: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

RAID

Hard RAID

Page 53: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

NET-RAID

Hard/Soft RAID

DRBDNetwork RAID-1

( Mirror )

Voir dans les liens fs

Page 54: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

BDATA

Postgressql Postgressql

C-JDBC

Httptomcatldap

ODBC

Voir dans les liens db

Page 55: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Queue

Queue est un système d'échange-équilibrage qui laisse des utilisateurs commander leurs travaux à distance d'une manière intuitive et transpa-rente. Ceci est fait avec la gestion de JOBS locale, des signaux et un file d'at-tente « proxyé » par un « daemon ».La file d'attente peut être employée comme remplacement local pour rsh vers un centre de serveurs homogènes. Applications possibles: l'échange-équilibrage d'email, compilation en batch...Le + : simple car « shell »Le - : pas adapté au « non-batch » Voir dans les liens outils

Page 56: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Pen

Une sorte de « Proxy » avec du « round-robin »1 daemon par applicationn'est pas dans le « kernel »disponible pour d'autre types de serveursPas d'outils de configuration simple

Voir dans les liens outils

Page 57: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Plan

Problèmes

Actions

Cluster

Solutions

Outils

Divers

Page 58: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

KLAT2

Page 59: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

ICluster

Page 60: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

alinka

http://www.alinka.com

Alinka est une société éditrice de logiciels pour l'installation et l'administration de clusters Linux.

Page 61: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

zeus

http://www.zeus.com

Zeus est une société éditrice de logiciels pour l'installation et l'administration de de gros sites web.

Page 62: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

SMP vs Cluster

Bus vs NetFallOver

Disponibilit退€

Page 63: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

Question?

Page 64: Une introduction aux architectures systèmes distribuéesconvergence.u-strasbg.fr/iut/poly/cluster.pdfUne introduction aux architectures systèmes distribuées Université de Haute

(c) ED 2003

The End

Denis Ensminger ensminger @ iuthaguenau.u-strasbg.fr

denis.dnsalias.org