3.6. Étude comparative entre les services Cinder et
Swift et Manila
Chaque type de stockage est conçu pour répondre
à des exigences de stockage spécifiques. Les conteneurs sont
conçus pour un accès large et, en tant que tels,
présentent le débit, l'accès et la tolérance aux
pannes les plus élevés parmi tous les types de stockage. L'usage
des conteneurs est davantage orienté vers les services. D'autre part,
les volumes sont principalement utilisés pour la consommation. Ils ne
bénéficient pas du même niveau d'accès et de
performances que les conteneurs, mais ils disposent d'un ensemble de
fonctionnalités plus étendu et de fonctionnalités de
sécurité natives plus nombreuses que les conteneurs. Les partages
sont similaires aux volumes à cet égard, sauf qu'ils peuvent
être consommés par plusieurs instances simultanément.
Dans ce qui suit nous allons comparer l'architecture et les
fonctionnalités de chaque type de stockage selon des critères de
stockage spécifiques, à savoir : la scalabilité,
backends, la cohérence, l'accessibilité, l'administration, la
sécurité, la redondance et la reprise d'activité
après un sinistre.
3.6.1.
Scalabilité et backend
Le service de stockage en bloc Cinder peut utiliser plusieurs
solutions de stockage en tant que backends discrets. La capacité peut
être évoluée en ajoutant d'autres backends et en
redémarrant le service. Le service Block Storage propose
également une grande liste de solutions back-end prises en charge, dont
certaines disposent de fonctionnalités d'évolutivité
supplémentaires (NFS, CIFS, GlusterFS, CephFS)[44].
Le service de stockage en objet Swift peut évoluer d'un
serveur unique à de très grands clusters (un groupe de serveurs
agissant comme un seul système) simplement en ajoutant des
noeuds[45].
Le service de système de fichiers partagé
provisionne les partages sauvegardés par le stockage d'un pool de
stockage séparé. Ce pool (qui est généralement
géré par un service backend tiers) fournit au partage un stockage
au niveau du système de fichiers. Peu importe le système de
fichier déployé, la mise à l'échelle implique
l'ajout de volumes supplémentaires au pool[45].
3.6.2.
Cohérence des données
Le stockage en objet utilise la cohérence dite
« à terme » c'est une cohérence
immédiate : dès que l'utilisateur demande à recevoir
une données la requête est rapidement répondue (faible
latence), en revanche si d'une autre part cette même données a
subi un changement avant la demande de lecture d'un petit temps, cette mise
à jour ne sera pas envoyée, certes cette cohérence
répond immédiatement mais elle prend le risque d'envoyer des
données erronées.
Le stockage en mode Bloc et en mode Fichiers partagé
utilisent la cohérence dite « Forte » c'est une
cohérence qui prends le temps de mettre à jour une données
qui à subit des modification instantanément et sans interrompre
l'activité, si un utilisateurs envoi une requête demandant une
donnée qui est en train d'être mise à jour, le stockage en
bloc et en fichiers partagé, la mettent en attente (on parle alors de
latence élevé) donc même si ces deux mode tardent à
répondre (le temps est calculé par secondes) les données
envoyés aux utilisateurs sont certainement fiable et à jours.
|