Haute disponibilité et durabilité des données
Le stockage d'objets Ceph assure la disponibilité des données grâce à la réplication et au codage avancé par effacement, où les données sont combinées avec des informations de parité, puis fragmentées et distribuées dans le pool de stockage.
Lorsqu'un périphérique de stockage tombe en panne, seul un sous-ensemble des fragments est nécessaire pour réparer les données, il n'y a pas de temps de reconstruction ni de performance dégradée, et les périphériques de stockage défaillants peuvent être remplacés à votre convenance.
Ceph combine des données largement distribuées et une technologie de vérification continue des données écrites sur le support, ce qui vous permet d'atteindre une durabilité des données de 15 neuf.
Réplication des données, codage par effacement et nettoyage
Réplication d'objet
Lorsqu'un client va écrire des données, il utilise l'identifiant d'objet et le nom du pool pour calculer à quel OSD il doit écrire. Après que le client écrit des données sur l'OSD, l'OSD copie les données vers un ou plusieurs OSD. Vous pouvez configurer autant de réplications que vous le souhaitez pour que les données puissent survivre en cas de défaillance simultanée de plusieurs OSD. La réplication est similaire au RAID-1 d'un ensemble de disques mais permet plus de copies des données. Parce qu'à grande échelle, une simple réplication RAID-1 peut ne plus suffire à couvrir le risque de défaillance matérielle. Le seul inconvénient de stocker plus de répliques est le coût de stockage.
Les clients Ceph écrivent des données de manière aléatoire sur les OSDs en fonction de l'algorithme CRUSH.Si le disque OSD ou le nœud tombe en panne, Ceph peut réhéberger les données à partir d'autres réplications stockées dans des OSDs sains.
Vous pouvez définir le domaine de défaillance pour faire stocker les données répliquées de Ceph sur différents serveurs, racks, salles ou centres de données afin d'éviter la perte de données due à une ou plusieurs défaillances de l'ensemble du domaine de défaillance.Par exemple, si vous avez 15 serveurs de stockage installés dans 5 racks (3 serveurs dans chaque rack), vous pouvez utiliser la réplication par trois et le rack comme domaine de défaillance.Les données écrites sur le cluster Ceph seront toujours stockées en trois exemplaires dans trois des cinq racks.Les données peuvent survivre même si jusqu'à 2 des racks échouent sans dégrader le service client.La règle CRUSH est la clé pour faire en sorte que le stockage Ceph ait aucun point de défaillance unique.
Codage d'effacement
La réplication offre les meilleures performances globales, mais elle n'est pas très efficace en termes d'espace de stockage.Surtout si vous avez besoin d'un plus haut degré de redondance.
Pour avoir une haute disponibilité des données, c'est pourquoi nous avons utilisé RAID-5 ou RAID-6 dans le passé comme alternative à RAID-1.Le RAID de parité assure la redondance avec beaucoup moins de surcharge de stockage au détriment des performances de stockage (principalement les performances d'écriture).Ceph utilise le codage d'effacement pour obtenir un résultat similaire.Lorsque l'échelle de votre système de stockage devient importante, vous pouvez vous sentir peu confiant en autorisant seulement un ou deux disques ou domaines de défaillance à échouer en même temps.L'algorithme de code de correction d'effacement vous permet de configurer un niveau de redondance plus élevé mais avec moins d'espace de surcharge.
Le codage par effacement découpe les données d'origine en K blocs de données et calcule M blocs de codage supplémentaires.Ceph peut récupérer les données maximum M domaines de défaillance échouent en même temps.Le total des K+M de morceaux est stocké dans les OSD, qui se trouvent dans différents domaines de défaillance.
Nettoyage
Dans le cadre de la maintenance de la cohérence et de la propreté des données, les démons Ceph OSD peuvent vérifier les objets au sein des groupes de placement. C'est-à-dire que les démons Ceph OSD peuvent comparer les métadonnées d'objet dans un groupe de placement avec ses répliques dans des groupes de placement stockés sur d'autres OSD. Le nettoyage (généralement effectué quotidiennement) permet de détecter les bugs ou les erreurs du système de fichiers. Les démons Ceph OSD effectuent également un nettoyage plus approfondi en comparant les données dans les objets bit par bit. Le nettoyage en profondeur (généralement effectué chaque semaine) permet de détecter les secteurs défectueux sur un disque qui n'étaient pas apparents lors d'un nettoyage léger.
Guérison des données
En raison de la conception de placement des données de Ceph, les données sont réparées par tous les OSD en bonne santé. Aucun disque de rechange n'est nécessaire pour la réparation des données. Cela permet de réduire considérablement le temps de réparation par rapport à un ensemble de disques, qui doit reconstruire les données perdues sur un disque de rechange.
- Configurer la carte CRUSH et les règles