Architectures Flash : les trois options de déploiement
Le Stockage Flash est aujourd'hui le moyen le plus efficace de doper les performances tout en réduisant les coûts. SearchStorage.com fait le tour des trois principales options de déploiement des technologies Flash dans les datacenters.
Dans le monde du stockage, il est rare que l'occasion se présente d'augmenter la performance tout en réduisant les coûts. C'est pourtant la promesse du stockage Flash. Aujourd'hui, tous les fournisseurs de stockage importants et de nombreuses startups offrent une grande variété de produits à base de stockage Flash et notamment de SSD. Ces disques Flash peuvent être déployés dans trois endroits : dans les baies de stockage SAN, directement dans les serveurs ou sur des appliances spécifiques, sur le SAN ou non. La sélection de la meilleure méthode de déploiement dépend de la nature du problème à résoudre et des cas d'utilisation. Comprendre : les nuances de déploiement peuvent éviter les tentations de sur-ingénierie, et donc les dépenses excessives.
En raison de la confusion, ou peut-être du fait d'informations sur les solutions alternatives, la tentation est grande d'opter pour la solution la plus simple à déployer, celle des baies SSD. Dans de nombreux cas, la solution de la baie à base de disques SSD est la meilleure option. Mais ne pas étudier la pertinence de l'usage de disques SSD sur vos serveurs ou sur des appliances autonomes pourrait vous empêcher de choisir la meilleure solution pour votre environnement.
L'élément clé qui détermine le choix de l'architecture adaptée à vos besoins est la latence. Quelque soit la technologie SSD sélectionnée, la manipulation effective des données se fait à des vitesses caractéristiques de celle de la mémoire. Le débit en entrées/sorties variera bien sûr selon le type de SSD, mais dans tous les cas, la latence d'un SSD se mesure en nanosecondes. C'est donc le positionnement du SSD qui fera la différence. La latence induite par l'usage d'un réseau SAN se mesure en effet en milliseconde alors que la latence d'une carte Flash PCIe pour la lecture d'un bloc de 4K est de l'ordre de quelques dizaines de microsecondes. Le positionnement de la Flash dans l'architecture est donc un élément essentiel de l'optimisation.
Pour y voir un peu plus clair, nous avons fait un tour des trois principales méthodes de déploiement de systèmes de stockage Flash à l'échelle de l'entreprise.
La Flash sur une baie de stockage
La mise en oeuvre de SSD dans une baie de stockage SAN revient en fait à implémenter une nouvelle classe de service (niveau 0) dans la baie. Parce que ces SSD sont positionnés à l'intérieur de la baie, ils sont directement reliés à son fond de panier. Les mouvements de données entre les différentes classes de service sont conditionnés par la latence des disques, leur débit et la latence du fond de panier. De tous ces paramètres, celui qui a le plus d'influence est le niveau d'entrées/sorties permis par le disque. Plusieurs facteurs ont une influence sur ce paramètre, mais pour simplifier un peu la compréhension, nous allons jouer un peu avec la terminologie et ne considérer que la latence agrégée.
Ainsi, le fond de panier lui-même est peu susceptible d'être le facteur le plus handicapant dans la détermination de la latence d'une baie. Les algorithmes sophistiqués de "tiering" des baies déterminent automatiquement quand une donnée est active et la migre alors automatiquement d'une classe de données peu prioritaire vers l'étage de SSD. Ce premier transfert est pénalisé par la latence des disques durs. Mais la pénalité n'est subie qu'une fois. Ensuite les lectures suivantes se font depuis le SSD donc avec une latence mesurée en nanosecondes.
En revanche, il n'y a aucun moyen de contourner la latence du SAN FC ou du réseau Ethernet et elle se mesure en millisecondes. C'est donc un élément important susceptible de limiter la performance en I/O. En fait, même en installant des SSD sur une baie, on ne réduit qu'environ la moitié des problèmes de latence sur la baie.
Globalement, l'utilisation des SSD dans une baie se prête bien à un usage généraliste. Les algorithmes de tiering se basant sur l'activité en E/S, ils se préoccuppent assez peu de la nature de l'application et ont donc une portée très générale.
Intégrer de la flash directement dans les serveurs
L'usage de SSD directement dans les serveurs est de plus en plus populaire. Ces implémentations sont principalement basées sur des cartes PCI Express (PCIe) déployées dans les serveurs. Fondamentalement, cette capacité peut être utilisée de deux façons : en lieu et place d'un disque dur mais avec l'avantage de performances très élevées ou comme un étage de cache local pour du stockage distant.
Dans le second cas, le temps de lecture initial est pénalisé par le SAN et la latence du disque dur sur la baie SAN. Mais encore une fois, il s'agit d'un coût ponctuel. Par la suite, les données sont lues directement par le serveur dans le cache Flash donc sans latence du réseau SAN.
Une telle architecture est particulièrement pertinente lorsque les données sont largement statiques et fréquemment accédées. C'est par exemple le cas des index de bases de données ou de certaines bases. Car si le profil applicatif est bon, on peut réduire de près de 90% la latence d'accès aux données.
Les appliances de stockage à base de Flash
Les appliances Flash sont pour l'essentiel des baies de stockage mais que l'on peut positionner en différents endroits, selon l'usage. Déployées près des serveurs, elles peuvent par exemple être utilisées comme dispositif de boot SAN, ce qui peut résoudre en grande partie les phénomènes de «tempête de démarrage". Les appliances SSD peuvent aussi être idéales comme cache pour des applications de serveurs de fichiers en cluster ou virtualisés, en particulier pour les fichiers multimédias. Placer l'appareil à proximité des serveurs élimine la plupart des temps de latence réseau. Il y aura toujours une certaine latence du réseau, mais elle sera probablement minimisée par la proximité de l'appliance.
Le second cas d'utilisation pour les appliances SSD est de l'autre côté du SAN, à proximité des baies conventionnelles. Dans ce scénario, les appliances peuvent être utilisées pour constituer une classe de données de type Tier 0 couplée à des fonctions de virtualisation en frontal de l'ensemble des LUN du SAN.
Un troisième cas d'utilisation des appliances Flash est de servir dans le datacenter comme une couche de cache pour un stockage en cloud ou pour un stockage distant. L'objectif est alors de supprimer au maximum les effets de latence induits par le WAN.
Un dernier cas d'utilisation est l'ajout d'une appliance SSD en frontal de baies anciennes afin de doper leurs performances. En plaçant, une appliance Flash en frontal de vieilles baies, une entreprise peut améliorer considérablement les performances d'accès aux données, tout en prolongeant la vie utile des actifs existants. Le coût de l'approche peut être sensiblement inférieur à une mise à niveau massive.
A lire aussi sur LeMagIT
Stockage Flash : Fusion-io pousse les cartes PCI-express contre les disques SSD
Stockage Flash : Violin Memory dévoile deux baies haut de gamme
Kaminario ajoute la Flash à ses appliances de stockage DRAM
Dossier stockage : à chacun sa classe de service (1ere partie)
La SETAO dope les performances de son SAN Pillar avec des SSD