Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de...
Transcript of Systèmes de stockage distribués pour la gestion de grands … · 2018-12-04 · Systèmes de...
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
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
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
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
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
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)
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é.
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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/
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
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
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: cmattribute: hallvalue: eastunits: [user ~]$ imeta d qu hall eastcollection: /frgrid/home/UNECOLLAB/RAWDATA/ZRdataObj: run0977156_123.rawcollection: /frgrid/home/UNECOLLAB/RAWDATA/ZRdataObj: run0817773_556.raw
Les métadonnées● Triplet (nom, valeur, unité)
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
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)
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
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)
Systèmes de stockage distribués pour la gestion de grands volumes de données / J. Pansanel 40
Questions ?