Bonjour Fabien, la liste, 

Petit retour d'expérience d'un labo de recherche sur EOS que Gilles a 
mentionné. 

je gère 2 instances EOS dans 2 contextes d'utilisation différents : 
* Stockage de données scientifique d'un laboratoire de recherche : Stockage de 
datasets de données de CMS (https://cms.cern) et de nos autres expériences 
internes, supportant à la fois les protocoles de transfert de données (XRootD 
and HTTPS) entre datacenters de la grille WLCG (https://wlcg.web.cern.ch/) et 
EGI (https://www.egi.eu/) et à la fois des accès locaux (type POSIX via FuseX) 
* Stockage Online des données qui sortent d'une expérience, sorte de buffer 
proche du détecteur, pour que les données soient calibrées / traitées / 
filtrées / nettoyées sur place avant d'être exportées vers les centres de 
calcul CERN/IN2P3/FNAL... 

Authentification supportée : kerberos et certificats x509 depuis longtemps, 
OIDC plus récemment 

Au niveau du stockage, c'est très versatile : sur du RAID matériel ou logiciel 
(pas conseillé), sur du JBOD. Tu peux aussi assurer de la redondance via des 
réplicas ou alors de l'erasure coding, par répertoire. par exemple 
/eos/stockage/cycle1/exp1/processed en réplica 2 et 
/eos/stockage/cycle1/exp1/raw en erasure coding. L'erasure coding prends tout 
son sens sur du JBOD puisque tu assures la redondance des données sur des 
disques différents et sur des serveurs de stockage différents avec un overhead 
faible. 

Quotas par utilisateur, par groupe, par projet (arborescence) 

Comme stockage distribué c'est bien pensé puisque les meta-données sont 
distribuées dans QuarkDB (KV store backend en haute dispo) et si tu utilises 
l'erasure coding avec un nb de FST (serveurs de stockage) > N+P, alors tu 
continues à avoir accès à tes données même si tu perds un FST. 

Au niveau de tes critères : 
* open source 
* scalable natif. + il y a de serveurs de stockage, mieux c'est. Au niveau du 
roulement des serveurs : drain du serveur à remplacer (1 commande à taper), on 
revient + tard quand il a fini de déplacer les n TB vers les autres serveurs de 
stockage, on traite les cas particuliers, on le sort de prod, on le remplace et 
le nouveau serveur entré en prod récupère sa part comme avec CEPH. 
* interfacé avec les bandes via un autre de leurs soft CTA 
(https://cta.web.cern.ch/cta) 
* Pas trop complexe / usine à gaz : un peu complexe quand même quand on veut 
utiliser les fonctionnalités ou modifier le comportement des sous composants, 
mais une fois qu'on a compris les briques de bases (Namespace MGM + persistance 
des meta-données dans QuarkDB + stockage des données dans les FST), le reste 
est de la routine de services de stockage. 

Au niveau des performances, aucun problème pour saturer des liens a n*10Gb/s, 
même pour des petits fichiers. 

NB : Prochain workshop EOS en mars 2024 [ https://indico.cern.ch/event/1353101/ 
| https://indico.cern.ch/event/1353101/ ] 

Cordialement 
Denis 

----- Le 3 Jan 24, à 20:43, Gilles Mocellin <gilles.mocel...@nuagelibre.org> a 
écrit : 


Le mercredi 3 janvier 2024, 18:42:10 CET Fabien Sirjean a écrit : 

BQ_BEGIN
Bonsoir la liste, 

En ce début d'année, je me creuse la cervelle autour des sauvegardes, 
alors je vous partage mes questionnements :) 


Petit topo du contexte : je bosse dans un centre de recherche 
scientifique, dont les instruments produisent pas mal de données. 

Ces données sorties des instruments "raw" sont ensuite traitées et 
transformées pour analyse (données "processed"), en vue de publier des 
papiers de recherche. 

Les données raw sont produites pendant des "cycles" de fonctionnement (3 
à 4 cycles par an) et l'approche est WORM (c'est la valeur produite par 
l'institut, les données raw sont impossibles à reproduire). 

Les données processed sont produites en continu selon l'activité des 
scientifiques, parfois plusieurs années après la production des données 
raw associées. Les données processed sont recalculables à partir des 
données raw, mais ça peut être coûteux (temps et puissance de calcul). 

On a actuellement 1.3 PiB de data (raw+processed) sur notre stockage 
primaire. Ça tourne sur une infra Ceph en triple réplication, 
grosso-merdo ça fait 600 disques mécaniques de 20TB. 

Évidemment on est sur un scénario loin d'être idéal pour le stockage : 
on a principalement de très nombreux petits fichiers (<128 KB). Mais on 
a aussi des fichiers >1TB, sinon c'est pas drôle... 

Si vous voulez une idée de la tête de l'arborescence, ça ressemble à ça 

: https://pastebin.com/vVF31cv4 

On aimerait changer de solution de backup pour ces données, au profit 
d'un truc qui coche au moins plusieurs de ces critères (tous, je sens 
que ça va être compliqué) : 

* Open Source 
* Pas trop complexe / usine à gaz 
* Scalable (marre de changer tout le matos tous les 4-5 ans parce que 
y'a plus de place...) 
* Qui permette de gérer indépendamment le backup des données "raw" (ça 
bouge pas mais on veut vraiment pas les perdre) des données 
"processed" (ça bouge, on peut se permettre de les perdre, on peut 
réduire la rétention pour les vieux cycles) 
* Qui fasse pas nécessairement tourner des tas de disques en 
permanence (les données raw pourraient très bien être sur de la 
bande magnétique, vu qu'elles ne bougent plus du tout une fois le 
cycle terminé) 
* Qui coûte un prix raisonnable 


Jusqu'ici on fait du bacula et du rsync sur ZFS (un serveur avec plein 
de baies JBOD en SCSI). Mais c'est plein, et il faut donc faire évoluer 
tout ça. 

Le plus simple pour nous serait probablement de continuer avec la même 
solution sur le plan logiciel, en passant sur un stockage distribué 
comme Ceph pour avoir la scalabilité souhaitée. 

Mais ça fait la même techno pour le stockage primaire et le backup (pas 
top), et Ceph n'est pas très efficient (même si on peut faire des choses 
en Erasure Coding). De plus, ça ne permet pas d'intégrer des bandes 
magnétiques dans l'équation. 


Voilà, n'hésitez pas à partager vos avis et expériences. Notamment je 
n'ai jamais bossé avec de la bande magnétique, je me questionne pas mal 
sur la pertinence et la facilité de gestion. 

Si des commerciaux passent par là : vous pouvez me contacter sur mon 
mail pro (sirj...@ill.fr) mais je suis plutôt dans une phase 
exploratoire (il y aura de toutes façon un appel d'offres). 


Merci pour vos retours, et à bientôt :) 

Fabien 



Bonjour, 

En restant dans le domaine de la recherche, on a évidemment le CERN qui peut 
être pris comme référence / inspiration. 

https://home.cern/science/computing/storage 

Ils ont du Ceph, mais à priori, pas pour les données des expériences, surement 
pour leur Cloud OpenStack. 
Leur stockage est fait maison (EOS https://eos-web.web.cern.ch/eos-web/) 
Et le stockage long terme, archivage est sur bande. 

PS: 
Tien, je vois que EOS a plusieurs backends de stockage à proprement dit, et 
qu'on y retrouve Ceph aussi, en mode RADOS direct ou CephFS... 



_______________________________________________ 
Liste de diffusion du %(real_name)s 
http://www.frsag.org/ 


BQ_END


-- 
[ https://www.ip2i.in2p3.fr/ ] 
        
Denis PUGNÈRE 

Institut de Physique des 2 Infinis de Lyon 

Campus LyonTech la Doua, bâtiment Dirac 
4 rue Enrico Fermi , 69622 Villeurbanne 

+33 (0) 7 89 32 12 46 

[ https://twitter.com/ip2ilyon |   ] [ https://facebook.com/IP2ILyon ] [ 
https://www.ip2i.in2p3.fr/ | https://www.ip2i.in2p3.fr ] 


_______________________________________________
Liste de diffusion du %(real_name)s
http://www.frsag.org/

Répondre à