Loading AI tools
De Wikipédia, l'encyclopédie libre
Ceph est une solution libre de stockage distribué (software-defined storage) qui propose trois protocoles en un avec : Bloc, Fichiers & Objet (S3). Les objectifs principaux de Ceph sont d'être complètement distribués sans point unique de défaillance, extensible jusqu'à l'exaoctet et librement disponible. Les données sont répliquées, permettant au système d'être tolérant aux pannes.
Développé par | Sage Weil (Red Hat), Yehuda Sadeh Weinraub, Gregory Farnum, Josh Durgin, Samuel Just, Wido den Hollander, Loïc Dachary |
---|---|
Dernière version | 18.2.0 (Reef, )[1] |
Dépôt | github.com/ceph/ceph |
Écrit en | C++ et Python |
Système d'exploitation | Linux |
Environnement | Linux (RHEL, Debian, Ubuntu, SUSE) |
Type | Système de fichiers distribué |
Licence | LGPL |
Site web | ceph.io |
Ceph fonctionne sur du matériel standard (serveurs x86) dit commoditaire et de l'Ethernet IP.
Le système est conçu pour s'autoréparer et automatiser au maximum ses tâches administratives afin de réduire les coûts d'exploitation, et d'être agnostique sur le choix du matériel associé (disques, serveurs commoditaires).
Ceph est souvent utilisé par les centres de données qui ont adopté l'Open source comme leur nouvelle norme pour le stockage blocs à forte croissance, le stockage objet et le Big data (datalakes).
Ceph met en œuvre le stockage d'objets distribué au moyen de RADOS (Reliable Autonomic Distributed Object Store), un moteur de stockage objet fiable, autonome et distribué.
Côté client, sa bibliothèque logicielle native librados permet aux applications C, C++, Java, Python, Ruby et PHP un accès direct en mode objet. L'API S3 permet aux applications de déborder nativement dans le cloud.
Ce sont souvent des disques de grandes capacités qui sont associés au stockage objet S3 de Ceph pour des cas d'usages : Big Data (datalake), Data science, Container registry, Backup & Archives (GED, mails, WORM...), IOT, média & vidéosurveillance...
Différentes bibliothèques additionnelles permettent d'obtenir les abstractions nécessaires pour :
Le système de stockage en mode bloc de Ceph autorise les utilisateurs à monter Ceph comme un périphérique de type bloc. Quand une application écrit des données sur Ceph en utilisant un périphérique de bloc, Ceph parallélise et réplique les écritures de données à travers le cluster automatiquement. Ceph-RBD s'intègre aussi avec les machines virtuelles basées sur le noyau Linux.
Ce sont souvent des disques rapides (NVMe, SSD) qui sont associés au stockage bloc de Ceph pour des cas d'usages : bases de données, machine virtuelle (VM), conteneur, Data analytics, AI/ML...
L'accès en mode bloc est notamment intégré à certaines plateformes de virtualisation, comme :
Cette intégration permet à une machine virtuelle d'utiliser directement un périphérique RBD en guise de disque dur virtuel.
Le système de fichiers de Ceph (CephFS) fonctionne au-dessus du système de stockage d'objet qui fournit le stockage d'objets et les interfaces de périphérique de bloc. Les métadonnées du cluster de serveurs de ceph fournissent un service qui mappe les répertoires et les noms des fichiers du système de fichiers des objets stockés dans les grappes de serveurs RADOS (cluster). Les métadonnées peuvent se développer ou se contracter, ils peuvent rééquilibrer le système de fichiers de manière dynamique pour distribuer les données uniformément parmi les hôtes du cluster. Cela assure de hautes performances et prévient contre de lourdes charges sur un hôte spécifique du cluster.
Les clients montent le système de fichiers compatible POSIX en utilisant le noyau Linux d'un client. Le , Linus Torvalds a fusionné le client Ceph dans le noyau Linux 2.6.34 qui est sorti le . Un vieux client basé sur FUSE est disponible. Les serveurs fonctionnent comme des démons Unix ordinaires.
Le stockage fichier de Ceph est souvent associé aux cas d'usages : captures de journaux, messages, conteneurs CI/CD, filestore (sharing)…
Un système de fichiers sous-jacent sur les OSD est utilisé pour stocker la donnée sous la forme de fichiers dans une arborescence. (Un OSD est généralement un disque rotatif)
Ceph a été initialement créé par Sage Weil (en) (développeur du concept de Webring et cofondateur de DreamHost) pour sa thèse de doctorat supervisée par le professeur Scott A. Brandt qui travaillait à la Jaskin Baskin School of Engineering de l'université de Californie à Santa Cruz, fondée par le DOE/NNSA (Department of Energy/National Nuclear Security Administration) en collaboration avec le laboratoire national de Lawrence Livermore, le laboratoire national de Los Alamos et le laboratoire national de Sandia.
Après sa remise de diplôme (Ph.D) à l'été 2007, Weil a continué à travailler sur Ceph à temps plein. L'équipe du développement du noyau s'est agrandie en incluant Yehuda Sadeh Weinraub et Gregory Farnum. En 2012, Weil créa Inktank Storage pour fournir des services et du support professionnel à Ceph.
En , Red Hat a acheté Inktank prenant la plupart des développements de Ceph en interne pour en faire une version de production pour les entreprises avec du support (hotline) et de la maintenance (nouvelles versions). S. Weil poursuit le développement de Ceph comme architecte principal chez Red Hat.
Ceph continue de dominer le marché en tant que solution de stockage open source grâce aux efforts continus de développement de la communauté en délivrant de nouvelles fonctionnalités pour servir les besoins des entreprises et s'adapter à de nouveaux cas d'usage émergents tels que le stockage persistant pour les containers, l'Open Data Sciences, AI/ML, Kafka, Data analytics...
Le , l'équipe de développement a proposé la version Argonaut, la première version « stable » de Ceph. Cette version recevra seulement des patchs de stabilité et de performances et les nouvelles fonctionnalités seront prévues pour les prochaines versions.
Le , l'équipe de Ceph propose Bobtail, la 2e version majeure de Ceph. Cette version se concentre principalement sur la stabilité. les performances et l'évolutivité de la version stable précédente.
Le , l'équipe de Ceph propose CuttleFish, la 3e version majeure de Ceph. Cette version inclut un nombre important d'améliorations de performance et est la première version stable à proposer la fonctionnalité d'outil de déploiement « ceph-deploy » à la place de la méthode précédente « mkcephfs ».
Le , l'équipe de développement sort Dumpling, la quatrième version majeure de Ceph. Cette version inclut un premier passage à l'espace de nom global et aux supports des régions, une API REST est aussi disponible pour des fonctions de management et de monitoring et un support amélioré pour les plateformes basé sur RHEL.
Le , L'équipe de développement sort Emperor, la cinquième version majeure de Ceph. Cette version apporte un lot de nouvelles fonctionnalités, incluant la réplication multi-datacenter pour le radosgw, améliore la facilité d'utilisation et un grand nombre de performances incrémentielles et du travail interne de refactorisation pour les fonctionnalités à venir dans Firefly.
Le , L'équipe de développement de Ceph sort Firefly, la 6e version majeure de Ceph. Cette version apporte des nouvelles fonctionnalités incluant un code correcteur, la cascade de cache, l'affinité primaire, clé/valeur OSD backend (Expérimental), radosgw autonome (Expérimental).
Le , l'équipe de développement de Ceph a sorti Giant, la 7e version majeure de Ceph.
Le , l'équipe de développement de Ceph a sorti Hammer, la 8e version majeure de Ceph.
Le , l'équipe de développement de Ceph a sorti Infernalis, la 9e version majeure de Ceph. Cette dernière version supporte notamment Systemd pour la gestion des démons qui sont lancés avec l'utilisateur ceph au lieu de root[2].
Le , l'équipe de développement de Ceph a sorti Jewel, la 10e version majeure de Ceph, et 1re version de Ceph dans laquelle CephFS est considéré comme stable[3].
Le , l'équipe de développement de Ceph a sorti Kraken, la 11e version majeure de Ceph. Cette nouvelle version apporte des améliorations au système de fichiers CephFS, à RADOS, le moteur de Ceph, à RGW et RBD[4].
Le , l'équipe de développement de Ceph a sorti Luminous, la 12e version majeure de Ceph. Parmi les nombreux apports, le format de stockage BlueStore (utilisant un disque dur au lieu d'un système de fichier) est maintenant considéré comme stable et recommandé à utiliser.
Mimic est la 13e version majeure de Ceph[5].
Nautilus est la 14e version majeure de Ceph. Parmi les nombreux apports, le format de stockage BlueStore (utilisant un disque dur au lieu d'un système de fichier) est maintenant considéré comme stable et recommandé à utiliser[6].
Octopus est la 15e version majeure de Ceph[7].
Pacific est la 16e version majeure de Ceph[8]. Au menu, des améliorations sur l'utilitaire d'administration cephadm ainsi que sur le dashboard, le stockage RBD, le stockage objet RGW et CephFS.
Quincy est la 17e version majeure [9] . Dans cette version, FileStore disparaît complètement au profit de BlueStore. Intégration de snmp dans cephadm.
Reef est la dernière version stable (v18.2.0) de Ceph sortie le 4 août 2023.
Ceph utilise quatre démons distincts :
Tous ces démons fonctionnent de manière complètement distribuée et peuvent s'exécuter sur le même ensemble de serveurs. Les clients interagissent directement avec tous.
Ceph fait de l'entrelacement de fichiers individuels sur des fichiers à travers de multiples nœuds pour fournir un débit plus élevé, de façon similaire au RAID 0 qui entrelace les partitions sur de multiples disques durs. L'équilibrage de charge adaptatif est supporté. Ainsi, les objets fréquemment consultés sont répliqués sur plus de nœuds.
Le nom « Ceph » est un nom souvent donné aux poulpes et aux céphalopodes, une famille de mollusques, et en fin de compte de l'ancien Grec κεφαλή (ke-pha-lee), qui veut dire « tête » et πόδι (po-dhi), qui veut dire « jambes ». Le nom (souligné par le logo) suggère le comportement fortement parallèle d'un poulpe et a été choisi pour connecter le système de fichiers avec la mascotte de l'UCSC (Université de Californie), une limace appelée « Sammy ». La limace est un gastéropode, qui est aussi une classe de mollusque.
Le projet ceph-helm permet de déployer Ceph dans un environnement Kubernetes pour fournir un stockage persistant.
Les conteneurs Kubernetes sont sans état en tant que principe de base, mais les données doivent toujours être gérées, protégées et rendues accessibles à d'autres services. Stateless signifie que le conteneur s'exécute de manière isolée sans aucune connaissance des transactions passées, ce qui facilite le remplacement, la suppression ou la distribution du conteneur. Cependant, cela signifie également que sans stockage persistant, les données seront perdues pour certains événements du cycle de vie comme le redémarrage ou la suppression du conteneur. Ceph est utilisé pour éviter cette contrainte et provisionner de façon dynamique des volumes persistants (PV) aux conteneurs.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.