Ceph : une solution de stockage pratique pour les entreprises de toute taille
Ceph est une solution de stockage complète disposant d’un système de fichiers propre avec le Ceph-Filesystem (CephFS). Cette solution permet de stocker des données sur divers composants dans votre propre réseau. Par ailleurs, les données peuvent être sauvegardées à plusieurs reprises à des emplacements de stockage physiquement différents. Ceph garantit une grande flexibilité dans le choix des appareils de stockage et une importante modularité.
Augmentez votre rentabilité grâce à un stockage évolutif, qui s'intègre à vos scénarios d'application.
Ce qu’il faut savoir sur Ceph et ses principales caractéristiques
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 poursuivre 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é responsable du développement en tant qu’architecte en chef.
Ceph fonctionne uniquement 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 indirectement et nécessite l’utilisation d’une iSCSI (Internet Small Computer System Interface). Par conséquent, Ceph convient en particulier à une utilisation dans les centres de calcul mettant à disposition leur espace de stockage via des services de serveur ainsi que pour les solutions cloud de toute sorte utilisant un logiciel pour la mise à disposition de la mémoire.
Nous avons résumé pour vous les principales caractéristiques de Ceph :
- Disponible en open source
- Modularité importante
- Sécurité des données grâce à une sauvegarde redondante des données
- Fiabilité grâce à un stockage distribué des données
- Augmentation de la disponibilité basée sur des logiciels grâce à un algorithme propre pour trouver les données
- Affichage sous forme de mémoire liée
- Faibles exigences matérielles (mise en place possible à partir d’1 Go de RAM sur un ordinateur avec un processeur Single Core et un espace disque de quelques Go en fonction de la tâche dans la grappe)
Fonctionnement de Ceph
Ceph a besoin de plusieurs ordinateurs connectés ensemble. Ensemble, ces ordinateurs sont appelés cluster (littéralement : « pile », mais dans ce contexte cela désigne un réseau de plusieurs ordinateurs). Chaque ordinateur intégré à ce système est appelé un node (nœud).
Dans cette grappe, les tâches suivantes doivent être distribuées entre les nodes :
- Monitor Nodes : ces nodes gèrent l’état des différents nodes dans le cluster, en particulier l’aperçu des éléments service Manager, service Object Storage et serveurs de métadonnées (MDS) ; un minimum de trois monitor nodes est recommandé pour garantir la fiabilité.
- Manager : ces nodes gèrent l’état de l’utilisation de la mémoire, de la charge du système et de l’exploitation des nodes.
- Ceph OSD (Object Storage Devices) : il s’agit des services de base pour l’administration des fichiers ; ils sont responsables de l’enregistrement, de la duplication et de la restauration des données. Un minimum de trois OSD est recommandé dans le cluster.
- Serveurs de métadonnées (MDS) : ces nodes enregistrent les métadonnées, c’est-à-dire les chemins de stockage, le nom des fichiers et l’horodatage des fichiers stockés dans le CephFS pour des raisons de performance ; ils sont conformes aux normes POSIX et peuvent être interrogés à l’aide de programmes d’invite de commande Unix tels que ls, find et like.
Un algorithme appelé CRUSH (Controlled Replication Under Scalable Hashing) constitue le cœur du stockage des données. À l’aide d’un tableau de répartition intitulé CRUSH Map, celui-ci est en mesure de trouver un OSD avec le fichier demandé.
Dans le cas de Ceph, la répartition des fichiers est effectuée de façon pseudo-aléatoire. Cela signifie qu’ils sont apparemment stockés de façon aléatoire. Dans les faits, CRUSH calcule toutefois l’emplacement 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 physiquement. L’administrateur du réseau peut définir les spécifications correspondantes.
Les fichiers sont distribué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épartition est notamment le nombre de copies d’un fichier.
La valeur de hachage est une séquence de caractères qui correspond au résultat d’une saisie traitée par des opérations de calcul. Une approche plus simple consisterait à générer la somme croisée à partir des données brutes. Dans les faits, des algorithmes d’une extrême complexité 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 indésirable. C’est pourquoi il convient également au traitement des noms de fichiers.
Afin de garantir la sécurité des données, une journalisation est effectuée au niveau des OSD. Chaque fichier devant être enregistré y est stocké temporairement 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, distributed object store comprised of self-healing, self-mapping, intelligent storage nodes), c’est-à-dire une mémoire orientée objet intelligente, fiable, distribuée, auto-régénérante et organisante.
Il existe différentes méthodes pour accéder aux fichiers stockés :
- librados : un accès natif est possible en utilisant la bibliothèque librados via l’interface de programmation (API) avec des langages de programmation 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 ordinateurs accédant et supporte FUSE (intégration du système de fichiers sans droits d’administrateur).
- RADOS Block Device : intégration sous forme de mémoire orientée bloc grâce à un module de noyau ou des systèmes virtuels, tels que QEMU/KVM.
Alternatives à Ceph
L’alternative la plus connue est GlusterFS qui est disponible gratuitement et appartient également au distributeur de Linux RedHat/RHEL. Gluster suit une approche similaire en fusionnant la mémoire distribuée pour former un espace de stockage uniforme au sein du réseau. Naturellement, les deux solutions GlusterFS et Ceph présentent leurs propres avantages et inconvénients.
Il existe par ailleurs d’autres alternatives gratuites, telles que XtremFS et BeeGfs. Pour les serveurs Windows, Microsoft propose des solutions de stockage commerciales basées sur des logiciels parmi lesquelles Storage Spaces Direct (S2D).
- vCPU aux coûts avantageux et cœurs dédiés performants
- Sans engagement pour plus de flexibilité
- Assistance par des experts 24h/24 et 7j/7 incluse
Avantages et inconvé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éveloppement encore relativement récente. Sur le Net, vous trouverez de nombreuses aides à l’installation et à la maintenance. D’autre part, l’application est très bien documentée par le fabricant. La reprise par RedHat laisse entendre que le développement sera poursuivi dans un proche avenir. La modularité et la redondance intégrée garantissent la sécurité des données et la flexibilité au sein du réseau. Par ailleurs, la disponibilité est assurée grâce à l’algorithme CRUSH.
Redondance signifie « abondance ». En informatique, on désigne ainsi les données disponibles en excédent. Dans le cas présent, la redondance est souvent mise en place volontairement afin de garantir la sécurité des données et la fiabilité. Cette redondance peut être assurée à la fois d’un point de vue logiciel et matériel : d’une part, les données ou les informations nécessaires à la reconstruction peuvent être enregistrées à plusieurs reprises dans la mémoire et d’autre part, il est possible de disposer de plusieurs composantes de la mémoire séparées physiquement afin de compenser la panne d’ordinateurs individuels.
Inconvénients de Ceph
Du fait du grand nombre de composantes prévues, un réseau complet est nécessaire pour pouvoir exploiter les atouts de Ceph. En outre, l’installation est relativement laborieuse et l’utilisateur ne comprend pas nécessairement où les données sont stockées physiquement.