Parallels s’attaque au stockage distribué

Alors que vient de s’ouvrir à Las Vegas son événement partenaires annuel, Parallels a lancé la première version finale de sa solution de stockage distribué, Cloud Storage. Surprise, la technologie de Scality n’est pas au rendez-vous.

Disponible pour tests depuis la fin du printemps dernier, Parallels Cloud Storage est désormais supporté pour les déploiements en production. Ce module optionnel pour Virtuozzo - ou plutôt désormais Parallels Cloud Server - est là pour «assurer haute disponibilité et tolérance de panne», explique Birger Steen, Pdg de Parallels. Pour simplifier, il décrit la solution comme un moyen de «consolider les ressources de stockage locales de chaque serveur pour les redistribuer à ceux-ci au sein d’un nuage virtuel ». Des blocs de données sont répliqués entre les ressources physiques de stockage. Le tout n’exploite exclusivement que les disques internes aux serveurs. La démonstration (voir la vidéo ci-dessous) réalisée en direct lors de l’intervention de Birger Steen en ouverture de l’édition 2013 du Parallels Cloud Summit montre une réelle résilience. Certains testeurs relèvent d’ailleurs depuis plusieurs mois la rapidité de la solution en cas d’interruption de service sur l’un des noeuds de l’environnement.

 

Mais tout n’est pas rose. Si, en s’appuyant sur des serveurs x86 standards et sur leurs disques internes tout aussi standards, la solution peut paraître économique et alléchante, elle s’avère pour l’heure très peu efficace en termes d’utilisation des ressources. De fait, chaque bloc de données (de taille configurable) doit être répliqué au moins deux fois - et Parallels recommande même un minimum de trois réplications. Dans cette configuration, la solution peut supporter jusqu’à 1 Po de stockage utile pour 3 Po de ressources physiques. Autre limitation de cette première mouture : tous les noeuds d'une même grappe doivent être installés dans la même baie. 

Rapidité et disponibilité, les deux atouts de la solution

Parallels Cloud Storage s’appuie sur une architecture à base de serveurs de blocs de données, de serveurs de métadonnées et de systèmes clients - ceux qui utilisent in fine les ressources de stockage. Une même machine peut assurer les trois rôles à la fois mais chaque rôle peut être affecté à une machine dédiée. Parallels recommande au moins 5 serveurs de métadonnées, 5 serveurs de blocs de données et 1 système client. De quoi résister à la perte de deux serveurs de métadonnées et même deux serveurs de blocs. Les ressources servies par une grappe Parallels Cloud Storage sont montées avec une version "hautement modifiée" de Fuse mais peuvent également être exploitées comme des ressources de stockage en mode bloc via iSCSI. 

Parallels assure que sa solution permet d’obtenir des performances «jusqu’à 50 plus rapides qu’un disque SATA avec cache sur SSD» et «13 000 IOPS en lecture aléatoire de 4 Ko» sur un cluster de 14 machines avec 4 disques durs chacune, voire «jusqu’à 600 000 IOPS avec cache sur SSD». Dans une telle configuration, la reprise après perte d’un disque de 1 To ne prendrait que 10 minutes. Kirill Korotaev, vice président Recherche avancée de Parallels, souligne d’ailleurs que, généralement, «il y a une grande sous-utilisation de la bande passante du stockage ». C’est notamment cette bande passante dont Parallels entend améliorer l’utilisation. 

Pour une infrastructure optimale, Parallels recommande de configurer les disques des serveurs en RAID 0 et de recourir à des disques SSD comme caches des accès en lecture aléatoire - sur les systèmes clients -, ainsi que le déploiement d’un réseau Ethernet gigabit voire 10 gigabits dédié aux serveurs de blocs de données. 

Quelle technologie ? 

Parallels s’est montré très évasif sur les composants technologiques utilisés par sa solution de stockage distribué, se contentant dans un premier temps d’indiquer utiliser sa propre propriété intellectuelle. Scality, avec lequel Parallels avait pourtant signé un partenariat OEM en 2011, ne semble pas impliqué. Joint par téléphone Jérôme Lecat, Pdg de Scality, a relevé que cet accord n’avait pas, jusqu’alors, généré d’activité commerciale. 

En fait, de nombreux éléments laissent envisager une solution développée en interne mais s'appuyant sur des composants libres. Des ingénieurs de Parallels sont impliqués dans plusieurs projets Open Source qui trouvent des applications dans Parallels Cloud Server. A commencer par Ploop, pour le stockage des conteneurs sous la forme d’images sur une ressource de stockage objet, avec des capacités de snapshots, ou encore CRIU pour les fonctions de migration live des machines virtuelles. Reste la question du système de fichiers. En la matière, MooseFS est remarquable du fait d’une architecture qui rappelle fortement celle que Parallels décrit pour sa solution, avec le même écueil quant à l’utilisation des ressources physiques de stockage. Interrogé sur ce point, Kirill Korotaev a réfuté toute parenté : «nous n’utilisons pas MooseFS mais notre propre technologie. A haut niveau, il y a effectivement des similitudes d’architecture. Et des points techniques de comparaison comme la taille des blocs de données de 64 Mo, par exemple. Mais c’est uniquement parce que cette taille présente un bon équilibre entre fragmentation et rapidité de réplication.» 

L’ouverture à d’autres environnements 

Performances relevées par l'hébergeur Mediatemple.

Certains n’ont pas attendu l’annonce de ce jour pour commencer à déployer Parallels Cloud Storage. L’hébergeur ViUX Systems, installé en Caroline du Nord, a indiqué l’utiliser sur des serveurs Dell PowerEdge C avec 4 To par noeud. Et il en va de même de Mediatemple. 

Pour l’heure, Parallels Cloud Storage ne supporte que les environnements Parallels mais, courant 2013, cette solution devrait également supporter les environnements KVM et Xen, assure Birger Steen. Elle est facturée à la capacité - par seuil de 100 Go - mais le tarif n’a pas été précisé.

Pour approfondir sur Stockage en Cloud