Ceph est une solution de stockage complète disposant d’un système de fichiers propre avec le Ceph-Fi­le­sys­tem (CephFS). Cette solution permet de stocker des données sur divers com­po­sants dans votre propre réseau. Par ailleurs, les données peuvent être sau­ve­gar­dées à plusieurs reprises à des em­pla­ce­ments de stockage phy­si­que­ment dif­fé­rents. Ceph garantit une grande flexi­bi­lité dans le choix des appareils de stockage et une im­por­tante mo­du­la­rité.

IONOS Cloud Object Storage
Stockage de données sûr et éco­no­mique

Augmentez votre ren­ta­bi­lité grâce à un stockage évolutif, qui s'intègre à vos scénarios d'ap­pli­ca­tion. Vos données sont protégées par nos serveurs d'une grande fiabilité et un contrôle des accès per­son­na­lisé.

Ce qu’il faut savoir sur Ceph et ses prin­ci­pales ca­rac­té­ris­tiques

Le concept de Ceph serait réapparu avec Sage A. Weil, qui l’aurait développé lors de sa thèse avant de le publier en 2006 et de pour­suivre le projet avec sa société Intank Storage. En 2014, la société a été reprise par RedHat, chez qui Sage A. Weil est demeuré res­pon­sable du dé­ve­lop­pe­ment en tant qu’ar­chi­tecte en chef.

Ceph fonc­tionne uni­que­ment sur les systèmes Linux. Il est par exemple supporté par CentOS, Debian, Fedora, RedHat/RHEL, OpenSUSE et Ubuntu. L’accès depuis des systèmes Windows s’effectue in­di­rec­te­ment et nécessite l’uti­li­sa­tion d’une iSCSI (Internet Small Computer System Interface). Par con­sé­quent, Ceph convient en par­ti­cu­lier à une uti­li­sa­tion dans les centres de calcul mettant à dis­po­si­tion leur espace de stockage via des services de serveur ainsi que pour les solutions cloud de toute sorte utilisant un logiciel pour la mise à dis­po­si­tion de la mémoire.

Nous avons résumé pour vous les prin­ci­pales ca­rac­té­ris­tiques de Ceph :

  • Dis­po­nible en open source
  • Mo­du­la­rité im­por­tante
  • Sécurité des données grâce à une sau­ve­garde re­don­dante des données
  • Fiabilité grâce à un stockage distribué des données
  • Aug­men­ta­tion de la dis­po­ni­bi­lité basée sur des logiciels grâce à un al­go­rithme propre pour trouver les données
  • Affichage sous forme de mémoire liée
  • Faibles exigences ma­té­rielles (mise en place possible à partir d’1 Go de RAM sur un or­di­na­teur avec un pro­ces­seur Single Core et un espace disque de quelques Go en fonction de la tâche dans la grappe)

Fonc­tion­ne­ment de Ceph

Ceph a besoin de plusieurs or­di­na­teurs connectés ensemble. Ensemble, ces or­di­na­teurs sont appelés cluster (lit­té­ra­le­ment : « pile », mais dans ce contexte cela désigne un réseau de plusieurs or­di­na­teurs). Chaque or­di­na­teur intégré à ce système est appelé un node (nœud).

Dans cette grappe, les tâches suivantes doivent être dis­tri­buées entre les nodes :

  • Monitor Nodes : ces nodes gèrent l’état des dif­fé­rents nodes dans le cluster, en par­ti­cu­lier l’aperçu des éléments service Manager, service Object Storage et serveurs de mé­ta­don­nées (MDS) ; un minimum de trois monitor nodes est re­com­mandé pour garantir la fiabilité.
  • Manager : ces nodes gèrent l’état de l’uti­li­sa­tion de la mémoire, de la charge du système et de l’ex­ploi­ta­tion des nodes.
  • Ceph OSD (Object Storage Devices) : il s’agit des services de base pour l’ad­mi­nis­tra­tion des fichiers ; ils sont res­pon­sables de l’en­re­gis­tre­ment, de la du­pli­ca­tion et de la res­tau­ra­tion des données. Un minimum de trois OSD est re­com­mandé dans le cluster.
  • Serveurs de mé­ta­don­nées (MDS) : ces nodes en­re­gistrent les mé­ta­don­nées, c’est-à-dire les chemins de stockage, le nom des fichiers et l’ho­ro­da­tage des fichiers stockés dans le CephFS pour des raisons de per­for­mance ; ils sont conformes aux normes POSIX et peuvent être in­ter­ro­gés à l’aide de pro­grammes d’invite de commande Unix tels que ls, find et like.

Un al­go­rithme appelé CRUSH (Con­trol­led Re­pli­ca­tion Under Scalable Hashing) constitue le cœur du stockage des données. À l’aide d’un tableau de ré­par­ti­tion intitulé CRUSH Map, celui-ci est en mesure de trouver un OSD avec le fichier demandé.

Dans le cas de Ceph, la ré­par­ti­tion des fichiers est effectuée de façon pseudo-aléatoire. Cela signifie qu’ils sont ap­pa­rem­ment stockés de façon aléatoire. Dans les faits, CRUSH calcule toutefois l’em­pla­ce­ment de stockage sur la base de critères définis. Dans le cadre de ces critères, les fichiers sont également dupliqués et stockés sur des médias séparés phy­si­que­ment. L’ad­mi­nis­tra­teur du réseau peut définir les spé­ci­fi­ca­tions cor­res­pon­dantes.

Les fichiers sont dis­tri­bués dans des Placement Groups. Dans ce cadre, le nom du fichier est traité comme une valeur de hachage et un autre critère de ré­par­ti­tion est notamment le nombre de copies d’un fichier.

Note

La valeur de hachage est une séquence de ca­rac­tères qui cor­res­pond au résultat d’une saisie traitée par des opé­ra­tions de calcul. Une approche plus simple con­sis­te­rait à générer la somme croisée à partir des données brutes. Dans les faits, des al­go­rithmes d’une extrême com­plexité sont toutefois utilisés et créent une empreinte digitale unique à partir de données de toute taille. Le résultat a toujours la même longueur compacte et ne contient aucun caractère in­dé­si­rable. C’est pourquoi il convient également au trai­te­ment des noms de fichiers.

Afin de garantir la sécurité des données, une jour­na­li­sa­tion est effectuée au niveau des OSD. Chaque fichier devant être en­re­gis­tré y est stocké tem­po­rai­re­ment jusqu’à ce qu’il soit stocké en bonne et due forme sur tous les OSD prévus.

Accès aux données stockées

Sous Ceph, la base du stockage des données est appelée RADOS (raccourci pour reliable, dis­tri­bu­ted object store comprised of self-healing, self-mapping, in­tel­li­gent storage nodes), c’est-à-dire une mémoire orientée objet in­tel­li­gente, fiable, dis­tri­buée, auto-ré­gé­né­rante et or­ga­ni­sante.

Il existe dif­fé­rentes méthodes pour accéder aux fichiers stockés :

  • librados : un accès natif est possible en utilisant la bi­blio­thèque librados via l’interface de pro­gram­ma­tion (API) avec des langages de pro­gram­ma­tion et de scripts tels que C/C++, Python, Java et PHP.
  • radosgw : ce portail permet de lire et écrire des données à l’aide du protocole Internet HTTP.
  • CephFS : il s’agit du système de fichiers propre, conforme aux normes POSIX ; il offre un module de noyau pour les or­di­na­teurs accédant et supporte FUSE (in­té­gra­tion du système de fichiers sans droits d’ad­mi­nis­tra­teur).
  • RADOS Block Device : in­té­gra­tion sous forme de mémoire orientée bloc grâce à un module de noyau ou des systèmes virtuels, tels que QEMU/KVM.

Al­ter­na­tives à Ceph

L’al­ter­na­tive la plus connue est GlusterFS qui est dis­po­nible gra­tui­te­ment et ap­par­tient également au dis­tri­bu­teur de Linux RedHat/RHEL. Gluster suit une approche similaire en fu­sion­nant la mémoire dis­tri­buée pour former un espace de stockage uniforme au sein du réseau. Na­tu­rel­le­ment, les deux solutions GlusterFS et Ceph pré­sen­tent leurs propres avantages et in­con­vé­nients.

Il existe par ailleurs d’autres al­ter­na­tives gratuites, telles que XtremFS et BeeGfs. Pour les serveurs Windows, Microsoft propose des solutions de stockage com­mer­ciales basées sur des logiciels parmi les­quelles Storage Spaces Direct (S2D).

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Avantages et in­con­vé­nients de Ceph

Dans de nombreux scénarios, Ceph se révèle une solution adéquate, mais cette méthode de stockage ne comporte pas que des avantages.

Avantages de Ceph

Ceph est gratuit et bien établi aujourd’hui, malgré son histoire de dé­ve­lop­pe­ment encore re­la­ti­ve­ment récente. Sur le Net, vous trouverez de nom­breuses aides à l’ins­tal­la­tion et à la main­te­nance. D’autre part, l’ap­pli­ca­tion est très bien do­cu­men­tée par le fabricant. La reprise par RedHat laisse entendre que le dé­ve­lop­pe­ment sera poursuivi dans un proche avenir. La mo­du­la­rité et la re­don­dance intégrée ga­ran­tis­sent la sécurité des données et la flexi­bi­lité au sein du réseau. Par ailleurs, la dis­po­ni­bi­lité est assurée grâce à l’al­go­rithme CRUSH.

Note

Re­don­dance signifie « abondance ». En in­for­ma­tique, on désigne ainsi les données dis­po­nibles en excédent. Dans le cas présent, la re­don­dance est souvent mise en place vo­lon­tai­re­ment afin de garantir la sécurité des données et la fiabilité. Cette re­don­dance peut être assurée à la fois d’un point de vue logiciel et matériel : d’une part, les données ou les in­for­ma­tions né­ces­saires à la re­cons­truc­tion peuvent être en­re­gis­trées à plusieurs reprises dans la mémoire et d’autre part, il est possible de disposer de plusieurs com­po­santes de la mémoire séparées phy­si­que­ment afin de compenser la panne d’or­di­na­teurs in­di­vi­duels.

In­con­vé­nients de Ceph

Du fait du grand nombre de com­po­santes prévues, un réseau complet est né­ces­saire pour pouvoir exploiter les atouts de Ceph. En outre, l’ins­tal­la­tion est re­la­ti­ve­ment la­bo­rieuse et l’uti­li­sa­teur ne comprend pas né­ces­sai­re­ment où les données sont stockées phy­si­que­ment.

Aller au menu principal