# 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é.

## 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](https://www.ionos.fr/digitalguide/serveur/know-how/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.

Note 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 node*s), 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](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/quest-ce-quune-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](https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-que-le-block-storage/) grâce à un module de noyau ou des systèmes virtuels, tels que QEMU/KVM.

## Alternatives à Ceph

L’alternative la plus connue est **[GlusterFS](https://www.ionos.fr/digitalguide/serveur/know-how/definition-glusterfs/ "Définition 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](https://www.ionos.fr/digitalguide/serveur/know-how/glusterfs-vs-ceph/ "GlusterFS vs Ceph").

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)](https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-que-storage-spaces-direct-s2d/ "Qu’est-ce que Storage Spaces Direct (S2D)&nbsp;?").

## 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.

Note **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.


This is a markdown version of: [https://www.ionos.fr/digitalguide/serveur/know-how/la-solution-ceph/](https://www.ionos.fr/digitalguide/serveur/know-how/la-solution-ceph/) for AI/LLM consumption.