systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · systèmes de...

40
Systèmes de stockage distribués pour la gestion de grands volumes de données Jérôme PANSANEL ANF Mathrice – 3 décembre 2018

Upload: others

Post on 06-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de

données

Jérôme PANSANEL

ANF Mathrice – 3 décembre 2018

Page 2: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 2

Sommaire

Introduction

Systèmes de stockage distribués

Systèmes de stockage géographiquement distribués

Gestion du stockage et des données

Page 3: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 3

Introduction

Systèmes de stockage distribués

Systèmes de stockage géographiquement distribués

Gestion du stockage et des données

Introduction

Page 4: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 4

Stockage distribué

● Distribution des données sur plusieurs serveurs

● Une seule zone de stockage pour l’utilisateur

● Possibilité de hiérarchiser les données (Tiering)

● En général, géré par une couche logicielle :Software-Defined Storage

● Accès parallèles

● Facilite le passage à l’échelle (scale-out)

● Co-localisation éventuelle avec les applicatifs → infrastructure hyper-convergée

● Trois types de stockage :

• Blocs

• Fichiers

• Objets

Page 5: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 5

Avantages et inconvénients

Avantages● Coût (matériel et logiciel)

● Flexibilité

● Évolutivité

● Performance

● Hétérogénéité

● Transparence (accès, localisation, problème matériel, réplication, ...)

Inconvénients● Complexité de mise en œuvre et de maintenance

● Bien que prometteuses, certaines solutions sont jeunes

Page 6: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 6

Le théorème CDP (CAP)

Énoncé

Il est impossible pour un système informatique distribué de garantir en même temps les trois contraintes suivantes :

● Cohérence (consistency)

● Disponibilité (availability)

● Tolérance au partitionnement (partition tolerance)

Page 7: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 7

Choix des solutions

Critères● Licence

● Coût (matériel et logiciel)

● Support

● Évolutivité

● Performance

● Sécurité

● Intégration (authentification, autorisation, interopérabilité, outil de déploiement, ...)

Une solution de stockage est un élément critique du système d’information d’un laboratoire ou d’une infrastructure de recherche. Vous devez en garder la maîtrise et en connaître la pérennité.

Page 8: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 8

Contexte global

La science ouverte● Plan national (cadre européen)

● Principe FAIR (Findable, Accessible, Interoperable, Reusable)

● Marin Dacos - chargé de projet « Science Ouverte » au ministère

● https://libereurope.eu/wp-content/uploads/2018/07/SO_A4_2018_05-EN_print.pdf

● Research Data Alliance au niveau internationalhttp://rd-alliance.org

Les DMPs● Requit pour les demandes de financement (ANR, projets européens)

● Nécessite de penser en amont le cycle de vie des données

● Impact sur le choix du stockage

Page 9: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 9

Systèmes de stockage distribués

Introduction

Systèmes de stockage distribués

Systèmes de stockage géographiquement distribués

Gestion du stockage et des données

Page 10: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Lustre

Un système haute-performance● Système de fichiers POSIX disponible depuis 2003

● Conçu pour l’accès parallèle haute-performance (HPC)

● Distribué sous licence GPLv2

● Accessible par plusieurs milliers de clients simultanés

● Gestion de plusieurs dizaine de péta-octets

● Bande passante > TB/s

● Utilisé par > 60 % des machines du Top 100 (super calculateurs)

● Support commercial par le vendeur de la solution (matériel + logiciel) ou Whamcloud (logiciel)

● Distribué sous forme de RPM et de code source:https://git.whamcloud.com/?p=fs/lustre-release.git

● Client pour Ubuntu, RHEL et SLES

→ http://lustre.org

Page 11: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 11

Lustre : Architecture

Trois types de serveur● Serveur de management (gestion de la configuration et du registre)

● Serveur de métadonnées (gestion de l’espace de nom, des inodes et de l’index du système de fichiers)

● Serveur de stockage d’objets (un fichier est composé de 1 ou plusieurs objets, répartis sur 1 ou plusieurs serveurs)

Page 12: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 12

Lustre : Exemple de déploiement

CINES● Centre Informatique National de l’Enseignement Supérieur

● Stockage pérenne, calcul haute-performance et hébergement

● Lustre utilisé pour le scratch de la machine OCCIGEN

● Relié en IB avec une BP > 100 Go/s

Page 13: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 13

BeeGFS

Un système haute-performance● Système de fichiers POSIX (Fraunhofer FS)

● Conçu pour l’accès parallèle haute-performance

● Logiciel Open Source (et pas libre pour la partie serveur)

● Simple à déployer et à installer

● Support commercial fournit par ThinkParQ, indépendant du vendeur de matériel

● Distributions RHEL, SLES et Ubuntu officiellement supportées

● Interface graphique Admon

→ https://www.beegfs.io

Page 14: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 14

BeeGFS : Infrastructure

Trois types de serveur● Serveur de management (configuration et surveillance des services)

● Serveur de métadonnées (métadonnées sur les fichiers)

● Serveur de données

● Co-localisation possible des services

Page 15: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 15

BeeGFS : Exemple de déploiement

Mésocentre de l’université de Strasbourg● Centre de calcul HPC de l’université de Strasbourg

● En 2014, besoin de remplacer GPFS → BeeGFS

● Utilisation de BeeGFS pour le home et le scratch

● Sécurisation du home par du RAID6

● Le sratch utilise les serveurs des nœuds de calcul

Page 16: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 16

GlusterFS

Un système haute-disponibilité● Système de fichiers POSIX

● Conçu pour la haute disponibilité

● Licence GPLv3

● Simple à installer et à configurer

● Accessible à travers NFS ou FUSE

● Support commercial fournit par RedHat

● Paquets disponibles pour Redhat, Ubuntu, SLES, NetBSD, Mac OS X

● RAID 0, RAID 1 et RAID 10

→ https://www.gluster.org

Page 17: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 17

GlusterFS : Architecture

Un seul type de serveur● Simplicité du déploiement

● Hétérogénéité du matériel

● Images RedHat disponibles pour déployer dans le Cloud

Page 18: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 18

CEPH

Un système résilient● Conçu pour la haute-disponibilité

● Logiciel libre distribué sous licence LGPL

● Très déployé dans le monde du Cloud IaaS (interface S3)

● Utilisable par tout type de service, les trois types de stockage sont disponibles (objet, bloc et fichier)

● Basé sur le moteur RADOS

● Réplication et erasure coding

● CRUSH Map : la clé voûte du système

● Clients pour RHEL, SLES, Ubuntu

● Déployé dans de nombreux laboratoires

→ https://ceph.com

Page 19: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 19

CEPH : Architecture

Deux types de serveur● Serveur monitor (MON) (au moins 3)

● Serveur de stockage objet (OSD)

● Nombreuses règles pour une infrastructure optimale :https://www.redhat.com/cms/managed-files/st-RHCS-selection-guide-technology-detail-INC0232826-201607-en_0.pdf

Page 20: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 20

CEPH : Exemple de déploiement

La plateforme SCIGNE● Déploiement CEPH Luminous avec BlueStore

● Solution de 500 To mixant SAS et SSD

● Utilisation principale avec OpenStack

● Projet de réplication avec le LAL et utilisation par iRODS

Page 21: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 21

OpenIO

Un système haute-disponibilité● Solution développée par Orange et Atos

● Efficace avec les petits fichiers

● Licence libre (LGPLv3 ou AGPLv3)

● Support commercial par la société OpenIO

● Utilisation d’une « conscience » pour l’équilibrer la charge et le choix du placement des données

● Système de fichiers (NFS, FUSE, SMB) et objets (S3)

● Réplication et erasure coding

● Paquets disponibles pour Ubuntu et CentOS

● Image Docker

● Assez léger pour tourner sur un Raspberry PI

→ https://www.openio.io

Page 22: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 22

OpenIO : Architecture

Plusieurs services● Minimum de trois serveurs

● Choix libre de la distribution des services

● Deux réseaux

Page 23: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 23

Introduction

Systèmes de stockage distribués

Systèmes de stockage géographiquement distribués

Gestion du stockage et des données

Systèmes de stockage géographiquement distribués

Page 24: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 24

DPM : contexte

WLCG• Organisation par Tier :

• Tier-0 (20 % des ressources)• 14 Tier-1 (40 % ressources)• ~ 160 Tier-2• Tier-3 (pas de pledge)

• Pas de stockage sur bande dans les Tier-2 (et les Tier-3)

• 670k CPUs, 440 Po de stockage disque, 390 Po de stockage bande

• ~ 4 milliards d’heures de calcul / an

• Gestion des données par expérience

• Authentification unifiée

Page 25: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 25

DPM : contexte

● Expériences du LHC organisent les données en tiers

● 1 type de catalogue / expérience

● Distribution des données avec l’outil File Transfer Service→ http://fts3-service.web.cern.ch/

● Support des protocoles GridFTP, SRM et XRootD (HTTPS et WebDAV plus récemment)

● Authentification forte basée sur les certificats x509

● Solutions communément déployées :

• dCache - https://www.dcache.org/

• DPM - http://lcgdm.web.cern.ch/dpm

Page 26: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 26

DPM

● Système de stockage distribué (Disk Pool Management)● Logiciel libre● Gestion de plusieurs péta-octets de données● Serveurs de stockage derrière un frontal (head node)● Gestion d’un espace de nom hiérarchique (arborescence)● Accès CLI, API C et Python ● Trois catalogues :

• DPNS pour les fichiers et les répertoires• DPM pour les requêtes et les informations sur le système• LFC pour les liens logiques vers les différents sites et la gestion des

réplicas

Page 27: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 27

DPM

Avantages● Déploiement aisé avec les outils

classiques

● Authentification basée sur les certificats x509 (GSI)

● Chiffrage des flux

● Excellent passage à l’échelle

● Stabilité de la solution

● Réplication, réservation d’espace, …

Inconvénients● Pas d’interface graphique

(hormis https / WebDAV)

● Authentification basée sur les certificats x509 (GSI)

● Gestion des petits fichiers (~ Ko)

● Options de réplication limitées

● Pas de mécanisme de fail-over

● Pas de tiering

Page 28: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 28

XRootD

● Solution développée à l’origine pour le framework d’analyse ROOT et utilisée par l’expérience ALICE

● Logiciel libre

● Accès rapide et avec une grande bande passante aux données

● Système de redirection pour assurer la haute disponibilité des données

● Authentification GSI, Kerberos et identifiant / mot de passe

→ http://xrootd.org/

Page 29: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 29

XRootD

Avantages● Déploiement aisée

● Plugin pour DPM

● Excellente efficacité des transferts

● Redirection (haute-disponibilité des données)

Inconvénients● Pas d’interface graphique

(hormis https et WebDav)

● Configuration complexe

● Documentation succincte

● Pas de méta-données

● Pas de tiering

Une excellente solution pour les communautés organisées(et homogènes), recherchant efficacité et disponibilité des données

Page 30: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 30

GFAL2

Le couteau suisse• Librairie en C avec une API POSIX

• Basé sur un système de plugins

• LFC, RFIO, SRM, GridFTP, HTTP (Davix), XROOTD, local, ...

• Plusieurs modules / projets (CLI, Python bindings, ...)

• Licence Apache 2

→ https://dmc.web.cern.ch/projects/gfal-2

Plusieurs solutions• DPM

• dCache

• StoRM

• XRootD

• EOS

Page 31: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 31

Introduction

Systèmes de stockage distribués

Systèmes de stockage géographiquement distribués

Gestion du stockage et des données

Gestion du stockage et des données

Page 32: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 32

iRODS

● Logiciel libre sous licence BSD

● Virtualisation de différents types de stockage dans un seul espace de nom (zone)

● Passage à l’échelle

● Méta-données

● Automatisation de la gestion des données grâce au moteur de règles (vérification des types, extraction des méta-données, ...)

● Transfert parallèle pour les données volumineuses

● Sécurisation des données grâce à la réplication et la gestion des accès

● Maintenu par un consortium (RENCI, DDN, IBM, DELL, INTEL, ...)

● Support commercial

● CLI, WebDav, plugins

● Fédération de zone→ https://irods.org/

Page 33: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 33

iRODS : Architecture

Le moteur de règle● La base du fonctionnement

● Depuis la version 4, possibilité d’utiliser Python

Page 34: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 34

iRODS : Architecture

Des commandes de type Unixiinitipasswdils [-l] [-L] [-A]imkdiricdipwdimvicpirm [-a]...

Et de type FTPiputiget

Page 35: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 35

iRODS

[user ~]$ imeta add ­d run0977156_123.raw length 10 cm[user ~]$ imeta add ­d run0977156_123.raw hall east[user ~]$ imeta ls ­d run0977156_123.rawAVUs defined for dataObj run0977156_123.raw:attribute: lengthvalue: 10units: cm­­­­attribute: hallvalue: eastunits: [user ~]$ imeta ­d qu hall eastcollection: /frgrid/home/UNECOLLAB/RAWDATA/ZRdataObj: run0977156_123.raw­­­­collection: /frgrid/home/UNECOLLAB/RAWDATA/ZRdataObj: run0817773_556.raw

Les métadonnées● Triplet (nom, valeur, unité)

Page 36: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 36

iRODS

Avantages● Solution facile à déployer

● Service utilisé par plusieurs communautés scientifiques différentes

● Support commercial

● Interface Web

● Montage Fuse

● Flexibilité

● Méta-données

Inconvénients● Configuration complexe (règle et

micro-service)

● Modifications importantes entre les versions

● Interface graphique

Une solution flexible multi-communauté permettant d’intégrer les plans de gestion de données et d’imposer un workflow

Page 37: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 37

iRODS : Exemple de déploiement

Projet FG-iRODS● Projet opéré par France Grilles

● Utilisable depuis le Cloud , la grille et les postes clients

● Authentification multi-protocole (identifiant / mot de passe et GSI)

● Possibilité de réplication, intégration des flots de données

● Gestion des méta-données

● Flexible pour offrir un service à plusieurs communautés

● Infrastructure renouvelée en 2017 / 2018 (240 To)

Page 38: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 38

OneData

→ https://onedata.org

Une solution pour l’OpenData● Virtualisation du stockage

● Facilité de publication de données

● Image Docker disponible pour le déploiement

● Gestion des métadonnées et des réplicas

● Montage FUSE (Linux, Mac OS X)

● Serveur disponible pour RHEL et Ubuntu

● Authentification basée sur OpenID

● Utilisé par de nombreux projets européens dans le cadre de l’EOSC

Page 39: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 39

OneData : Architecture

Trois types de serveur● Onezone (passerelle pour les utilisateurs vers Oneprivder)

● Oneprovider (connecteur de ressource, par ex. CEPH, LUSTRE,NFS, S3, …)

● Onepanel (service pour l’administration de Onezone et Oneprovider)

Page 40: Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 10

Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 40

Questions ?