buchachon - Fotolia
Stockage Cloud OpenStack : Swift ou Cinder ? Faites le bon choix (2)
Les composants de stockage d’OpenStack – Cinder et Swift – vous permettent de construire des systèmes de stockage objet et en mode bloc dans votre Cloud privé.
Cet article est la deuxième partie du dossier "Comment bâtir un système de stockage Cloud avec OpenStack", la première partie qui revient sur les bases d'un tel projet se trouve ici.
Il est évident que Swift et Cinder prennent en charge des types de besoins très différents en matière de données. Le stockage objet (fourni par Swift) a été conçu pour les datastores hautement évolutifs à base d’objets comme les éléments multimédia, les images et les fichiers. La priorité pour ces systèmes est leur capacité à s’adapter à de grandes quantités de données sans dépendre de fonctions de stockage traditionnelles telles que le RAID. Cependant, le modèle de cohérence finale sur lequel ils reposent implique que Swift ne convient pas à un mode de stockage de données comme celui des machines virtuelles.
Bien que Swift utilise les métadonnées pour suivre les objets et leurs versions, les datastores d’objets ont quand même besoin d’une logique supplémentaire pour suivre les métadonnées des utilisateurs sur les objets stockés. Ce sont les utilisateurs qui doivent développer cette logique dans les applications.
Sur le même sujet
Consultez la première partie de cet article "Comment bâtir un système de stockage Cloud avec OpenStack"
Cinder fournit le composant stockage en mode bloc utilisé pour stocker des objets persistants, tels que les VM et des données régulièrement mises à jour sur place dans des bases de données. Les fonctions de stockage en mode bloc peuvent être mises en oeuvre dans un cluster OpenStack au moyen de composants généraux. Pour fournir des ressources de stockage, ces composants utiliseront des outils intégrés, tels que les systèmes de fichiers NFS et les gestionnaires de volumes logiques (LVM, Logical Volume Managers) des serveurs. Autre possibilité, des solutions Open Source, telles que Ceph et GlusterFS, permettent de regrouper la mise à disposition de ressources de stockage OpenStack séparément du code OpenStack principal, tout en restant suffisamment flexibles pour utiliser des logiciels Open Source.
La prise en charge généralisée de Cinder peut permettre d’utiliser les solutions de stockage traditionnelles existantes pour fournir des services de stockage dans un déploiement OpenStack. Cette option peut s’avérer préférable lorsqu’un service informatique dispose déjà des compétences et des plateformes matérielles nécessaires. Les plateformes de stockage existantes sont bien développées et prennent déjà en charge les fonctions avancées d’optimisation du stockage telles que le Thin Provisioning, la compression et la déduplication des données. Nombre d’entre elles offrent des options de qualité de service (par exemple les plateformes HP 3PAR StoreServ et SolidFire), ce qui permet de les utiliser dans le cadre de workloads mixtes, plutôt que de les dédier exclusivement à un déploiement OpenStack. Par conséquent, il est toujours très avantageux de transférer les tâches les plus « lourdes » vers une batterie de stockage externe.
En prenant la décision d’utiliser une plateforme particulière, les architectes système doivent comparer les risques avec les coûts d’utilisation de solutions OpenStack « gratuites » (qui réclament encore du matériel), ou tirer parti des fonctions qu’offre un matériel dédié.
Sauvegarde du stockage OpenStack
Pour terminer, nous devons étudier la nécessité de sauvegarder les données dans OpenStack. Les détails de la sauvegarde des composants de configuration sont bien documentés ; toutefois, la sauvegarde des données dans un cluster OpenStack est considérée comme étant du ressort de l’utilisateur. La sauvegarde peut être facilement mise en oeuvre à l’aide d’un fournisseur de stockage externe ; SolidFire, par exemple, permet de sauvegarder un cluster entier dans un datastore compatible avec Amazon S3 ou Swift. L’autre possibilité pour les utilisateurs consistera à s’intéresser aux produits de sauvegarde existants qui prennent en charge leur hyperviseur OpenStack.
Raksha est un projet qui intègrera la fonction de sauvegarde as-a-service (BaaS – Backup-as-a-service) à l’infrastructure OpenStack. Elle prendra en charge à la fois les sauvegardes complètes et incrémentielles des VM sur un endpoint Swift, avec une capacité de cohérence avec l’application. Actuellement, Raksha est un projet autonome. Il ne fait pas partie de la distribution OpenStack principale. Si l’intégration de Raksha aux plateformes des hyperviseurs courants, notamment vSphere et Hyper-V, exige un travail considérable, elle pourrait bien offrir une solution plus intégrée de protection des données dans les environnements OpenStack.