Les infrastructures hyper-convergées

Comme le Cloud il y a 5 ans ou le Big Data depuis 2 ans, l’hyper-convergence est devenue l’un des sujets phares du moment. Ce concept est souvent associée, à tort, à diverses technologies ou plateformes. Pour savoir ce que cela recouvre, nous vous proposons de rentrer un peu dans les détails. Et avant de commencer, voici quelques définitions pour délimiter un peu le champs de notre propos :

Quelques définitions

Les infrastructures convergées et hyper-convergées sont des types d’infrastructures matérielle et logicielle.

Infrastructure convergée

Une infrastructure convergée regroupe plusieurs composants informatiques en une seule solution optimisée. Selon cette approche, un constructeur met à disposition un ensemble pré-configuré d’éléments matériels (stockage, serveur ou « compute », réseau) et logiciels (gestion de l’infrastructure, automatisation, orchestration) dans un seul châssis.

Infrastructure hyper-convergée

Une infrastructure hyper-convergée reprend les principes de la convergence et apporte une intégration plus étroite des différentes ressources technologiques, comme le traitement, le stockage, le réseau et la virtualisation ainsi que des composants logiciels. Ces composants logiciels peuvent aller au-delà des ressources de traitement, de stockage, de réseau et de virtualisation citées ci-dessus en y intégrant des technologies telles que l’optimisation WAN, la compression ou la dé-duplication des données.

Tout comme l’infrastructure convergée, le tout est intégré dans un matériel pris en charge par un fournisseur unique.

Un système hyper-convergé permet de gérer de multiples technologies intégrées, via un jeu d’outils commun. Pour faire évoluer les systèmes hyper-convergents, c’est à dire composés d’appliances hyper-convergées, il suffit d’ajouter des nœuds à l’unité de base, formant ainsi un cluster.

L’hyper-convergence matérielle vise à regrouper un ensemble de matériel (serveur, stockage et réseau) dans un même châssis avec une densité importante. L’hyper-convergence logicielle utilise le logiciel comme moyen de haute disponibilité en proposant au cluster un espace de stockage virtualisé, réparti parmi ces nœuds.

 

La transformation des infrastructures IT

Jusqu’à ces dernières années, chacun des équipements séparés composant l’infrastructure était encore, a priori, doté de ses propres ressources (unité centrale, mémoire DRAM, stockage) pour gérer les pics de charge intermittents des diverses applications. L’efficacité d’un unique pool de ressources partagées offert par la virtualisation des serveurs reste cependant limitée à la couche des serveurs. Tous les autres produits sont des îlots de ressources informatiques non partagés et sur-approvisionnés.

La conséquence directe est que l’infrastructure globale est sous-exploitée, les coûts d’acquisition sont élevés et la puissance ainsi que l’espace nécessaires aux Datacenters restent importants. On peut constater dans les environnements traditionnels actuels que de nombreuses ressources sont gaspillées.

La transformation la plus significative de l’IT peut être résumée avec deux notions : « Convergence » et « Software-Defined Data Center » (SDDC – Centre de données virtualisé). Ces notions répondent aux réalités d’aujourd’hui en termes d’encombrement, de complexité et de coût ; l’objectif étant de simplifier l’IT en l’organisant et en la « synthétisant », et de réduire le coût total de possession. Mais jusqu’il y a peu, les notions de convergence et de SDDC représentaient davantage une promesse à venir qu’une réalité déployable par les clients dans leurs Datacenters.

C’est ainsi que la mutation des infrastructures IT a commencé, par l’intégration des briques d’infrastructure “traditionnelles” – serveurs physiques, serveurs virtualisés, stockage, réseaux – dans un système pré-intégré et est fournie sous la forme d’un rack (ce que l’on nomme Convergence 1.0).

L’étape suivante a été la convergence du calcul et du stockage, avec l’apparition des disques SSD de type DAS, afin de garantir un stockage partagé, avec plusieurs serveurs hôtes hyperviseurs (on parle ici de Convergence 2.0).

Les deux premières générations de convergence ont délivré une partie seulement du concept global, sans parvenir à apporter les résultats escomptés. Elles ont certes permis de simplifier la gestion et de réduire les temps de déploiement, mais elles n’ont pas véritablement résolu les problèmes majeurs d’encombrement et de complexité.

Aujourd’hui, la technologie évolue encore pour réellement faire hyper-converger les infrastructures existantes, et intégrer l’ensemble des briques dans une seule et même appliance, depuis la couche d’infrastructure, jusqu’à la couche de données : on parle de Convergence 3.0 ou hyper-convergence.

Pour que la convergence puisse réellement tenir ses promesses, il faut passer à l’hyper-convergence en déployant une nouvelle architecture de données englobant les éléments suivants :

  • Une parfaite convergence de toutes les fonctionnalités de l’infrastructure au sein d’un seul et unique pool de ressources partagées. Cela inclut la déduplication, la compression, l’optimisation et la protection des données (sous forme logicielle ou appliance) ainsi que l’optimisation WAN entre Datacenters. Ces systèmes envahissent les environnements IT, et ne sont pas intégrés aux concepts de convergence 1.0 et 2.0 ;
  • Une architecture de données innovante qui :
    • résout le problème des IOPS (opérations d’E/S par seconde), améliore la performance et réduit la latence ;
    • gère la mobilité des données au niveau global ;
    • mais réduit les capacités de stockage nécessaires (à cause de la réplication des données entre les noeuds) ainsi que l’espace et la puissance associés.
  • Une gestion globale fédérée.

 

Description de 2 solutions techniques

Il existe plusieurs solutions, nous avons décidé d’en retenir deux afin de bien illustrer le propos, elles sont assez représentatives du best of breed du moment.

Nutanix

Présentation

Le châssis Nutanix propose une solution hyper-convergée tout-en-un. Elle intègre le matériel du constructeur SuperMicro et offre une surcouche logicielle nommée Prism permettant le partage du stockage entre les nœuds. Cette solution a l’avantage d’être packagée et intégrée dans un châssis supporté entièrement par Nutanix.

Architecture matérielle

Le châssis Nutanix NX-3060-G4 possède en face avant 24 emplacements de disques durs, répartis entre les différentes lames. Les six premiers emplacements sont affectés à la première lame, les six suivants à la seconde etc.

Nombre de disques présents pour chaque nœud :

  • 2x SSD 800 Go ;
  • 4x HDD 2 To.

La face arrière comporte quatre emplacements pour serveurs, et deux blocs d’alimentations. Chaque nœud possède les caractéristiques suivantes :

  • CPU : 2x E5-2660 V3 10C @ 2,60 GHz
  • RAM : 256 Go

Le châssis Nutanix utilisé ne permet pas l’ajout de cartes additionnelles PCIe, par exemple, pour la connexion SAS ou FC à un robot de sauvegarde.

 

Fonctionnement

La solution Nutanix intègre sur chaque nœud son propre système de partage du stockage par le biais d’une machine virtuelle Nutanix appelée CVM. Chaque CVM phagocyte l’ensemble des disques durs associés au nœud pour présenter aux hyperviseurs un ou plusieurs volume(s) partagé(s) entre les nœuds. Les blocs de données sont échangés entre les CVM de chaque nœud afin d’assurer la réplication du stockage et donc la disponibilité des données en cas de panne.

La configuration du stockage sur Nutanix est entièrement réalisée sur l’interface d’administration Prism avec des assistants simples d’utilisation. La démarche est la suivante :

  • création d’un Storage Pool: un ensemble de disques durs physiques contrôlés par les CVM qui hébergera un ou plusieurs Container ;
  • création d’un Container : un volume logique associé à un Storage Pool. Les options de réplication, de compression, de déduplication ou d’erasure coding sont à préciser.

La configuration des hyperviseurs (ESXi, Hyper-V ou AHV) est ensuite automatique, pour que ceux-ci puissent stocker les machines virtuelles sur le Container ainsi créé. Comme chaque hyperviseur pointe vers le même volume, les fonctionnalités de haute-disponibilités sont ainsi permises.

Un Storage Pool peut être constitué de disques de différents types et capacités. Dans une configuration classique, un mélange de SSD de 800 Go et de HDD de 2 To est utilisé formant ainsi deux tiers de stockage. Le système Nutanix détectera automatiquement le taux d’utilisation de chaque bloc de données afin de le déplacer sur le tier le plus approprié : les SSD pour les données fréquemment accédées et les HDD pour les données moins sollicitées : c’est l’auto-tiering. Les CVM peuvent également proposer un cache en lecture très performant en copiant les données les plus utilisées en RAM.

Le facteur de réplication (RF) configuré sur le Container indique le nombre de pannes d’un nœud tolérée sur un cluster. Avec un RF2 (facteur de réplication minimum) disponible à partir de trois nœuds, chaque bloc de données est présent sur deux nœuds ce qui autorise la perte d’un nœud sans perte de données. Avec un RF3 disponible à partir de cinq nœuds, chaque bloc de données est présent sur trois nœuds ce qui autorise la perte simultanée de deux nœuds sans perte de données.

Principales fonctionnalités

Les principales fonctionnalités du stockage par Nutanix sont les suivantes :

  • configuration automatique des hyperviseurs ;
  • auto-tiering entre les tiers de stockages (RAM, SSD, HDD) ;
  • déduplication, compression et erasure coding;
  • gestion du facteur de réplication entre les nœuds ;
  • extension des volumes lors de l’ajout de nœuds additionnels.

ScaleIO

Présentation

La solution ScaleIO est entièrement logicielle et vient s’installer sur n’importe quel serveur x86. Cette surcouche à l’hyperviseur installé vient donc prendre en charge le stockage des nœuds pour assurer la réplication et la bonne disponibilité de l’infrastructure.

Nous avons choisi de déployer ScaleIO sur un châssis avec une forte densité, le châssis DELL FX2.

Le châssis DELL FX2 est ce qui se fait de plus dense en terme de solutions serveurs, les combinaisons possibles en terme de répartition de lames serveurs et lames de stockage sont nombreuses, ce qui est un avantage non négligeable.

Architecture matérielle

L’architecture du Dell FX2 est modulaire, afin de pouvoir mixer les besoins de compute et de stockage.
Les modules suivants sont actuellement disponibles :

  • lame compute FC430 :
    • format ¼ largeur ;
    • 2 sockets CPU Intel Xeon E5-2600 v4 Family ;
    • 8 slots RAM ;
    • jusqu’à 2 emplacements disques 1,8″ ;
    • 1 emplacement PCIe 3.0 (x8) ;
  • lame compute FC630 :
    • format ½ largeur ;
    • 2 sockets CPU Intel Xeon E5-2600 v4 Family ;
    • 24 slots RAM ;
    • 2 emplacements disques 2,5″ ou 8 emplacements disques 1,8″ ;
    • 2 emplacements PCIe 3.0 (x8) ;
  • lame compute FC830 :
    • format pleine largeur ;
    • 4 sockets CPU Intel Xeon E5-4600 v3 Family ;
    • 48 slots RAM ;
    • 8 emplacements disques 2,5″ ou 16 emplacements disques 1,8″ ;
    • 4 emplacements PCIe 3.0 (x8) ;
  • lame stockage FD332 :
    • format ½ largeur ;
    • 16 emplacements disques 2,5″ ;
    • 16 disques associés à une lame FC830 ou FC630 ;
    • 8 disques associés à chaque lame FC430 situées « au-dessus ».

 

Le châssis Dell FX2 est composée de quatre lames compute FC430 et de deux lames stockage FD332.

Le châssis Dell FX2 permet l’utilisation de cartes additionnelles PCIe, à ajouter à l’arrière du châssis pour connexion d’un robot de sauvegarde par exemple. La répartition de ces cartes entre les différents nœuds est variable en fonction des types de lames présents dans le châssis.

 

Principe de fonctionnement

L’architecture logicielle ScaleIO est décomposée en deux composants : le serveur SDS et le client SDC.

ScaleIO permet d’agréger l’ensemble des ressources de stockage des serveurs participant au cluster, de s’affranchir de la complexité d’un réseau de stockage dédié (SAN) tout en devenant un fournisseur de stockage pour les membres du cluster mais également pour des serveurs Linux, Microsoft ou bien des hyperviseurs.

Un des nombreux avantages de cette solution est de permettre d’exécuter des applications directement sur les serveurs participants au cluster de stockage. Cela permet d’avoir donc une approche hyper-convergée des infrastructures tout en permettant l’accès au stockage depuis des serveurs en dehors du Cluster ScaleIO.

Plus le cluster est composé d’un grand nombre de serveurs et plus celui-ci sera performant, car chaque membre du cluster participe activement au traitement des IOPS, et l’intelligence du logiciel permet de répartir équitablement, tout en s’adaptant, la charge sur l’ensemble des membres.

Composants de ScaleIO

ScaleIO est composé des éléments suivants :

  • MetaData Manager : Serveur de gestion du cluster ScaleIO. Il gère les métadonnées mais n’est jamais sur le chemin de la donnée. Il n’est donc pas un goulet d’étranglement pour les performances. Pour des raisons de haute disponibilité, deux serveurs MDM doivent être installés et configurés en mode actif/passif.
  • Tie Breaker : Service à installer sur un serveur tiers (membre ou non du cluster) pour assurer un vote en cas de split-brain (perte d’un des serveurs MDM)
  • Installation Manager / Management Console : Composant qui permet le déploiement, la configuration et la mise à jour des composants de ScaleIO sur les serveurs.
  • SDC : Partie cliente de ScaleIO, qui permet à un serveur d’avoir accès au stockage présenté par les serveurs SDS. Sous forme de drivers block directement intégré au niveau kernel. Permet de présenter la volumétrie aux applications.
  • SDS : Partie serveur de ScaleIO, qui permet l’agrégation des ressources stockage de chaque serveur, de fournir les IOs et de présenter la volumétrie aux SDCs.

 

Modes d’intégration

La solution ScaleIO offre 3 méthodes de mise en œuvre :

  • Hyperconvergé : Le serveur est aussi bien client que partie prenante du cluster;
  • 2 Layer : Les serveurs SDC ne sont que client du cluster de stockage ScaleIO;
  • Mode mixte : Une combinaison des deux modes de déploiement précédents.

 

Fonctionnalités avancées

ScaleIO offre les fonctionnalités avancées suivantes :

  • Protection domain : Permet de séparer de manière logique des groupes de SDS, afin d’offrir la possibilité de créer des tenants, la localisation des données et également de créer des groupes de serveurs en fonction des performances et des SLAs;
  • Storage Pools : Permet d’agréger des technologies de disques similaires, pour créer différents tiers de stockage. (Tiers 0 / Tiers 1 / …);
  • Fault Sets : Permet de grouper des serveurs, au sein d’un même Protection Domain, pour, par exemple, prévenir le fait que la perte d’un rack puisse causer la perte d’accès au cluster ScaleIO;
  • Gestion de la QoS : Permet de définir, par volume, des limitations ou des règles de gestion de la bande passante, et/ou des IOPS afin d’assurer une qualité de service optimale en fonction des applications.

ScaleIO offre aussi une protection des données via un mécanisme de Mesh-Mirroring (2 Copies) qui va découper les données en chunk de 1 Mb, qui vont ensuite être copiés sur deux membres du cluster ScaleIO.

Le volume attaché étant distribué, tous les membres du cluster sont sollicités pour la fourniture d’IOPS en écriture et de ce fait, en lecture, ce qui permet d’offrir des performances toujours linéaires et prévisibles.

En cas de perte d’un des nœuds / disques, le cluster va automatiquement reconstruire les données sur l’ensemble des nœuds restants. Cela permet par exemple de reconstruire 1 To de données en moins de 7 minutes.

Dans l’éventualité où le nœud défectueux se rend à nouveau disponible pendant l’opération de reconstruction, alors le MDM détermine s’il est préférable de continuer l’opération de reconstruction, ou de la stopper pour resynchroniser plutôt les blocs primaires avec leur bloc secondaire (recopie du delta).

 

Elasticité et flexibilité

ScaleIO permet d’offrir une extrême flexibilité, et donc d’avoir un environnement vivant qui autorise des mises à jour hardware ou software en pleine journée, sans que cela ait un impact sur la production.

L’auto-Rebalance, fonctionnalité totalement intégré dans ScaleIO, permet de faire évoluer son cluster ScaleIO, sans interruption de service, et de tirer rapidement partie des performances et du stockage des nouveaux serveurs.
Cette fonctionnalité permet également, dans le cadre de la suppression de serveur planifiée, de redistribuer automatiquement les données sur les membres restants du cluster.

 

Accélération des opérations de lecture / écriture

Pour permettre l’accélération des opérations de lecture / écriture au sein du cluster ScaleIO, nous utilisons SANDisk DAS Cache. Ce logiciel permet de configurer sur les nœuds du cluster des disques SSD de cache. Les opérations d’I/O, lecture / écriture sont interceptées par DAS Cache qui va ainsi privilégier l’utilisation des disques SSD, améliorant ainsi les performances. DAS Cache va ensuite différer les écritures sur les disques mécaniques. Pour les opérations de lecture, les données qui sont le plus souvent lues, vont rester sur les disques de cache pour accélérer leur accès.

Afin d’éviter la perte de données, les 2 disques SSD sont configurés en RAID 1 sur chaque nœud.

La configuration utilisée pour DAS Cache est le mode Write back, signifiant ainsi que l’écriture sur les disques mécaniques est différée et lissée dans le temps, afin de soulager les disques.

 

Conclusion

Dans cette article, nous avons abordé les grandes principes sur les infrastructure hyper-convergées : haute-disponibilité, performance, automatisation, industrialisation.

On se rend compte que l’hyper-convergence est un moyen efficace pour mettre en place de la haute disponibilité matérielle sur une infrastructure sans forcément apporter un SAN coûteux, avec une administration complexe, des risques de corruption, etc.

Malgré ces belles promesses, peu de grandes entreprises adoptent ces nouvelles infrastructures sauf les grands telles que Amazon, Google ou bien Facebook. En creusant, on apprend que ces sociétés ont développés leur propre solution logicielle d’hyper-convergence, certainement afin de pouvoir maîtriser parfaitement ces mécanismes.

Leave a Reply

Your email address will not be published. Required fields are marked *