Ceph
Ceph est un système de stockage résilient, auto réparant et distribué.
Il contient trois composants : objets, bloc et système de fichiers.
Le stockage objet est accessible par une API spécifique et disponible dans plusieurs langages ou bien via radosgw, une interface REST qui offre une compatibilité pour les applications écrites pour S3 ou Swift.
Rados Block Device (ou RBD) donne accès à des périphériques en mode bloc qui sont divisés et répliqués sur l'ensemble du cluster.
Le dernier composant est encore expérimental : un système de fichiers conforme à POSIX et conçu pour maximiser les performances, permettre le stockage de grands ensemble de données et maximiser la compatibilité avec les applications existantes.
Ceph peut permettre le stockage direct d'objets binaires et de métadonnées associées (interface de programmation disponible).
Interface REST S3 et Swift, compatibilité POSIX du système de fichiers, intégration dans le kernel linux, kvm et libvirt. Intégration dans OpenStack et Apache CloudStack.
Ceph est utilisé en production dans la plateforme PAPPSO. Le cluster de stockage est composé de 3 serveurs bi-processeurs et d'un switch gigabit. La capacité actuelle est de 34 To (17 To utiles). Un cluster de calculs de 3 machines utilise ce cluster : chaque nœud de calcul peut profiter d'une bande passante maximum dépendante du nombre de cartes réseaux.
-
Ceph est à utiliser avec précaution : la partie RBD et REST (accès par périphérique bloc et compatibilité S3 et Swift) est considérée comme stable, mais la partie système de fichiers est encore considérée par les développeurs comme "expérimentale".
-
Le projet est très actif (une version de développement toutes les deux semaines, une version stable tous les trois mois). De nombreuses améliorations sont régulièrement apportées et les régressions sont vite corrigées.
-
Pour ce qui est de la fiabilité, il résiste extrêmement bien aux problèmes matériels et aussi aux erreurs humaines.
-
Les performances sont correctes (90 Mo/s en lecture/écriture avec accès concurrents) et l'espace de stockage est extensible très facilement (achat de disques, cartes réseaux ou serveurs supplémentaires).
-
Gros avantage enfin, le matériel est standard (pas de fiber channel, RAID, ...), les coûts sont donc faibles et l'on n'a pas besoin de prévoir l'espace de stockage à l'avance.
Il est donc nécessaire d'établir une stratégie pour assurer un service de qualité en production basé sur Ceph :
- installer uniquement les versions stables publiées tout les trois mois,
- mettre à jour les versions stables lorsqu'une version de maintenance est disponible, deux semaines après sa publication,
- ne pas utiliser le système de fichiers.