Les VVOLS sont là. Êtes-vous prêts ?

Le slogan « les VVOLs arrivent » résonne aux oreilles des utilisateurs de vSphere depuis août 2011, la data à laquelle VMware a pour la première fois présenté le concept lors d’une session technique à VMworld. Après près de quatre ans de développements, VMware a finalement annoncé la disponibilité générale de la technologie lors de VMware Partner Exchange en 2015 qui a servi de plate-forme de lancement officiel pour vSphere 6 et les APIs « vSphere APIs for Storage Awareness » (VASA) 2.0. Un grand nombre de fabricants de baies de stockage a simultanément annoncé le support des VVOLs – pour Virtual Volumes — dans certains de leurs produits. Mais qu’est-ce exactement qu’un VVOL, comment fonctionne-t-il et quels sont les bénéfices pour les utilisateurs ?

Pour faire simple, les VVOLS permettent le provisioning, la supervision et l’administration du stockage lié à une application avec une granularité qui est celle de la VM qui supporte cette application. Avant que VMware ne fasse sont entrés sur le marché, les applications avaient une relation directe avec un LUN ou un volume provisionné sur une baie de stockage. La performance, la capacité et les services fournis (compression, cache, thin provisioning, snapshots, clonage, réplica­tion, déduplication, chiffrement, etc.) étaient définis de façon statique pour ce LUN. L’application tournant sur le serveur bénéficiait donc de tous les services disponibles pour ce LUN.

Lorsque VMware a virtualisé les serveurs avec son hyperviseur, il est devenu possible de faire fonctionner plusieurs applications (ou workloads) sous la forme de VM tournant sur un même serveur physique. Le stockage toutefois n’a pas évolué. Les VM ont continué à parler à des LUN où à des volumes. Bref, VMware a virtualisé les serveurs mais n’a pas vraiment changé le modèle de gestion du stockage.

Le résultat a créé un casse-tête pour les administrateurs de stockage pendant toute la décennie qui vient de s’écouler. Pour que le stockage fonctionne correctement avec VMware, on a fait en sorte qu’un unique LUN supporte un grand nombre de VM. Le problème est qu’en cas de problème de performance sur une application, il n’y avait plus vraiment de moyen de trouver la cause exacte du problème, car les informations de performances du stockage n’étaient disponibles qu’au niveau du LUN et pas à celui de la VM. Le manque de visibilité au niveau VM a rendu difficile, sinon impossible d’isoler les problèmes afin de les résoudre.

Comment fonctionnent les VVOLs

Les VVOLs ont été conçus pour apporter une solution à ce problème fondamental en éliminant la dissonance qui existe entre l’organisation du stockage et les VM. La nouvelle technologie de VMware permet d’allouer à une VM des ressources de stockage avec des attributs précis de qualité de service. Ces attributs peuvent comprendre des paramètres tels que le type, la quantité ou la disponibilité du stockage, mais aussi la mise en œuvre de services comme la déduplication, les snapshots, la rép­lication, etc. Ces attributs peuvent être modifiés à la volée, en fonction des besoins d’une application. Pour comprendre précisément le fonctionnement des VVOLs, il est essentiel de comprendre les concepts décrits ci-dessous.

VVols Schéma

CONTENEURS DE STOCKAGE ET DATASTORE VIRTUELS

Avec les VVOLS, une baie de stockage NAS ou SAN est une ressource partagée, initialement découpée en de multiples conteneurs chacun doté d’attributs de capacité et de services différents.

Ces conteneurs sont en fait une abstraction logique créée à la demande de l’administrateur de la baie de stockage. Ils sont présentés à vSphere sous la forme de datastore virtuels (ce qui veut dire qu’aucun changement n’est perceptible pour les administrateurs vSphere). Les VVOLs, parfois surnommés disques virtuels, vivent à l’intérieur de ces conteneurs de stockage.

D’une certaine façon, les VVOLs définissent un nouveau conteneur de disque virtuel qui est indépendant de la façon dont le stockage physique sous-jacent présente le stockage (LUN, Système de fichiers ou objets). En d’autres termes, peu importe la nature du stockage physique sous-jacent (exception faite du stockage en attachement direct). Le stockage est présenté à vSphere sous la forme d’un VVOL.

Il s’agit de la plus petite unité d’allocation de stockage qui peut être assignée à une VM (voir l’encadré anatomie d’une VM page X). Le VVOL est aussi la plus petite unité de mesure pour l’administration d’une baie de stockage. Cela veut dire que désormais, les ressources de stockage peuvent être allouées au niveau de la VM et que l’administration et la supervision du stockage peuvent aussi être réalisées au niveau de la VM.

ADMINISTRATION DES POLITIQUES DE STOCKAGE ET PLAN DE CONTRÔLE GÉRÉ PAR DES RÈGLES

Dans la nouvelle architecture de VMware vSphere, le plan de contrôle géré à base de règles agit comme un intermédiaire entre les applications et l’infrastructure de stockage. Il est responsable de l’affectation des VM à un conteneur de stockage capable de satisfaire les politiques définies pour la VM.

Dans ce modèle de « software-defined storage », l’administrateur de la VM utilise l’interface d’administration à base de règles (SPBM ou Software Policy Based Management) de vSphere pour définir un ensemble de politiques de stockage qui peuvent être appliquées individuellement à chaque VM.

Ces politiques définissent le type de ressources qui seront allouées par les baies de stockage. Par exemple, une politique de type « platine », pourra s’appuyer sur des ressources de stockage Flash et sur des fonctions avancées de protection de donnée, d’optimisation et de reprise après désastre fournies par les baies de stockage, tandis qu’une politique de type « Or » offrira des capacités plus limitées.

Comme les VVOLs et les VM sont provisionnés et administrés automatiquement via ce système de règles, une infrastructure VMware vSphere peut gérer des milliers ou des dizaines de milliers de VM sans coûts supplémentaires. Lorsque l’on compare la simplicité de cette approche avec la difficulté qu’il y avait jusqu’alors à modifier les capacités d’une VM liée à un LUN, les bénéfices sont évidents.

En plus de l’allocation des ressources et services de stockage requis aux VM, le plan de contrôle de vSphere est aussi responsable de la supervision de ces VM afin de garantir que chacune continue de bénéficier des ressources qui lui sont nécessaires.

UN PLAN DE DONNÉES VIRTUEL

Le plan de données virtuel a la responsabilité d’abstraire (ou de virtualiser) tous les services de stockage disponibles sur la baie, de telle sorte qu’ils puissent être alloués de façon individuelle aux VM. Jusqu’alors, une machine virtuelle liée à un LUN ne pouvait bénéficier que des capacités et services associés à ce LUN par la baie de stockage. Par exemple, une VM qui n’avait pas besoin d’être répliquée vers un autre site, l’était par défaut si le LUN sur lequel elle se trouvait était configuré pour être répliqué.

Les services ainsi abstraits sont consommés par le plan de contrôle. Il est à noter que ces services ne proviennent pas exclusivement des baies de stockage. Ils peuvent être fournis par vSphere lui-même (services de réplication par exemple), par VMware VSAN ou tout autre fournisseur tiers. Le plan de contrôle décide de quels services seront affectés à une VM en fonction de la politique de stockage associée à cette VM.

Il ne faut pas confondre VVOLs et VSAN. Les VVOLs sont l’implémentation par VMware d’un plan de contrôle virtuel pour des baies de stockage externes. VSAN fournit un stockage convergé et agrégeant et en virtualisant les ressources de stockage locales d’un cluster de serveurs vSphere (VSAN supporte par ailleurs les VVOLs).

PROTOCOL ENDPOINTS

Les communications entre les hôtes VMware ESXi et les baies de stockage sont gérées par ce que VMware appelle des Protocol Endpoints (PEs). Il s’agit d’un mécanisme de transport qui relie les VM à leurs VVOLS à la demande. Un unique PE peut se connecter à un très grand nombre de VVOLs et ne souffre pas des limitations imposées pour les LUN (un hôte VMware ne peut se connecter qu’à un maximum de 256 LUN).

Dans un environnement NFS, le PE est vu comme un point de montage NFS et chaque VMDK génère son propre VVOL (chaque VVOL résidant bien sûr dans son propre conteneur de stockage).

FOURNISSEUR VASA

Un fournisseur VASA (ou VASA Provider) est un composant logiciel mis en œuvre dans les baies de stockage, qui est conçu pour communiquer la capacité et les services disponibles sur la baie de stockage aux hôtes ESXi et à vCenter.

C’est à travers VASA (VMware vSphere Storage APIs for Storage Awareness) qu’une baie de stockage informe l’infrastructure VMware de ses capacités Flash, de son nombre et type de disques, de ses capacités de cache, de snapshot, de compression, déduplication, réplica­tion, chiffrement clonage, etc.

Les informations de topologie sont aussi communiquées par ce biais. vSphere est ainsi informé du fait que la baie est ou non une baie Fibre Channel, de son nombre de ports, de ses capacités multi chemins (multipath).

Toutes ces informations sont utilisées pour créer des politiques de stockage et des disques virtuels. Si la baie de stockage dispose de capacités intégrées de gestion de QoS, VASA peut en informer vSphere. Le support de la version 2.0 de VASA est requis pour que les baies supportent les VVOLs.

Les bénéfices des VVOLS

Il est évident que l’arrivé des VVOL représente un pivot majeur dans l’allocation et l’administration du stockage pour les environnements VMware. Le concept de LUN ne disparaît pas, mais les administrateurs n’ont plus à s’en préoccuper. Toutes les baies de stockage externe supportant les VVOLs sont abstraites de même que les services de stockage qu’elles offrent. Les applications peuvent dès lors être associées au bon type de stockage et ne consommer que les services qu’elles requièrent. La supervision et l’administration sont recentrées autour de la VM et les ressources ne sont plus gaspillées comme dans le monde des LUN. La gestion de la performance peut se faire de façon plus précise et les problèmes peuvent être diagnostiqués plus simplement.

Lorsque les besoins des applications évoluent, des ressources peuvent être ajoutées ou retirées simplement des VM qui les supportent et ce, sans interruption de service.

Un autre bénéfice est qu’il n’est pas utile d’apporter quelque modification que ce soit aux applications pour profiter du nouveau modèle qu’apportent les VVOLs. Les entreprises peuvent continuer à faire tourner les applications existantes en basculant progressivement vers les VVOLs. Les deux environnements peuvent coexister et être administrés depuis une même console vCenter. Toutefois, l’utilisation des VVOLs requiert vSphere 6 et le support de VASA 2.0 par les baies de stockage.

Mes baies actuelles supportent-elles les VVOLS ?

Une question fréquente est : « Ma baie de stockage actuelle supporte-t-elle les VVOLs ». La réponse rapide est non. Mais si la question est « mon infrastructure de stockage existante peut-elle être modifiée pour supporter les VVOLs ? », la réponde est oui. Il faudra toutefois réaliser un travail non trivial en matière d’ingénierie, notamment si l’architecture est vieille de 15 à 20 ans…

C’est aussi pourquoi les produits de stockage qui supportent les VVOLs n’arrivent que petit à petit sur le marché et encore un modèle à la fois. Chez les grands du marché, EMC a commencé par les VNXe et les VMAX3, mais XtremIO ne l’a toujours pas et il faudra attendre le courant 2016 pour les VNX (EMC reste évasif sur le support pour les VNX2).

Hewlett-Packard supporte la technologie sur ses baies 3Par StoreServ, mais toujours pas sur StoreVirtual. Hitachi a d’abord livré le support pour ses baies HNAS et a attendu août 2015 pour ses baies VSP G-1000. NetApp supporte pour l’instant les VVOLs sur Clustered Data OnTap 8.3. IBM, a d’abord supporté VVOLs sur ses baies XIV, puis a ajouté le support de la technologie à Spectrum Virtualize (ex-SVC) et à ses baies Storwize en mai 2015. Enfin Dell supporte les VVOLs sur ses baies Equallogic et Fujitsu sur ses baies Eternus. Chez les start-ups, Tintri, Nexgen et SanBlaze ont fait homologuer leurs implémentations. A ce jour (mardi 19 janvier 2016), la liste de compatibilité de VMware fait état  de 13 fournisseurs officiellement compatibles (c’est-à-dire dont le profil VASA passé les tests de compatibilité de l’éditeur pour le support des VVols 1.0). Dans la pratique, ils sont bien plus nombreux à revendiquer la compatibilité avec VVOLs, toutes les start-up telles que Solidfire, Pure Storage, Atlantis Computing, etc. indiquant supporter la technologie… sans avoir toutefois soumis leur implémentation à la validation de VMware.

Il est toutefois important de se souvenir que le simple fait de supporter le provisioning des VVOLs n’est pas suffisant. En effet, on peut provisionner des VVOLS simplement, mais c’est le support des services associés dans la baie qui est le plus important (snapshots, réplication, thin provisioning, clonage…. Bref c’est la richesse du fournisseur VASA qui compte.

Pour les entreprises, passer aux VVOLS ne sera pas une simple mise à jour d’un jour. Les utilisateurs doivent évaluer précisément les services supportés par chaque modèle de baie de stockage et décider quels éléments de leur infrastructure migreront et dans quel ordre.

Qu’en est-il des fournisseurs qui ont déjà un modèle de gestion du stockage orienté VM ?

NexGen Storage, Nutanix, Scale Computing, SimpliVity, Tintri et plusieurs autres fournisseurs ont déjà mis en œuvre des modèles d’administration du stockage centrés sur la VM. Cet avantage est-il perdu avec l’arrivée des VM ? La réponse rapide est : en aucun cas ! Tous leurs services de données ont l’avantage d’être déjà centrées sur la VM alors qu’il faudra sans doute un minimum d’un an aux autres fournisseurs pour faire en sorte que tous leurs modèles et tous leurs services de données supportent les VVOLs.

Un autre facteur à prendre en compte et que tous les fournisseurs cités plus haut ont mise en œuvre des fonctions de gestion avancée de la qualité de service (QoS). Or, il ne faut pas oublier que les VVOLs ne fournissent pas un mécanisme automatisé de gestion de QoS. Il faut pour cela que les baies de stockage sous-jacente implémentent ce mécanisme. Si cela est le cas, alors la QoS est un attribut qui peut être consommé par vSphere et ajouté aux politiques de stockage.

Il y a un malentendu général sur le fait que les VVOLs délivrent de façon inhérente des capacités de QoS. Cela est faux. Il faut que les baies sous-jacentes implémentent ces mécanismes.

Très peu de baies de stockage offrent aujourd’hui des mécanismes de QoS avancés et les ajouter aux baies existantes n’est pas chose facile. Il y a bien sur des exceptions mais de façon générale les fournisseurs qui ont mis en œuvre des mécanismes sophistiques de gestion de la QoS vont continuer à bénéficier d’un avantage concurrentiel pour un certain temps.

En résumé

L’arrivée des VVOLs contraint l’industrie du stockage à apporter des changements profonds à leurs produits. Les bénéfices des VVOLs sont nombreux et incontestables. Mais le changement est difficile et les 18 prochains mois vont amener les services IT à effectuer des changements douloureux. Il va en effet leur falloir déterminer comment mettre en œuvre les changements apportés par les VVOLs sans perturber leur production.