Stockage flash : les raisons d’un succès

Dans cette chronique, Nicolas Frapard, directeur des ventes chez HGST en France, explique pourquoi le stockage Flash est une technologie de rupture qui est en train de changer la donne sur le marché européen.

Pour rester compétitive, une entreprise doit pouvoir compter sur les performances de ses applications et accéder instantanément aux données dont elle dispose pour les traiter, les analyser et en tirer des informations exploitables — le tout bien sûr en temps réel. Afin de répondre à ces besoins, nombre de sociétés considèrent sérieusement l’implémentation de la technologie flash dans leur infrastructure de stockage.

Face à une demande de plus en plus vive et au plébiscite des clients, les DSI sont en train de se rendre compte que la technologie Flash convient tout particulièrement aux applications qui exigent des performances élevées, telles que les bases de données, les entrepôts de données et les outils analytiques du Big Data.

Si les technologies de stockage entièrement Flash et hybrides font couler beaucoup d’encre, il convient de souligner l’émergence des mémoires Flash « côté serveur », et tout particulièrement de la filière PCIe. Selon le cabinet Gartner, plus d’1 million d’unités de ce type seront livrées en 2015.[1] De plus, avec un coût approchant progressivement de 1 dollar/Go, Gartner prévoit que près de la moitié des disques électroniques (SSD) livrés aux centres de données en 2018 seront de type PCIe.1

Initialement adoptée par les utilisateurs de la technologie HyperScale qui tirent parti des architectures de montée en charge horizontale (scale-out) et des bases de données NoSQL, la technologie flash PCIe se démocratise grâce à ses avantages de prix et performances. De plus, les nouvelles fonctionnalités du stockage défini par logiciel (Software-Defined Storage) autorisent des déploiements en entreprise qui nécessitaient jusqu’alors des approches de type SAN externe, à la fois plus lentes et plus onéreuses.

Mise en cache extérieure : une option plus qu’intéressante

La technologie flash PCIe est essentiellement utilisée dans les configurations de mise en cache face à un réseau de stockage SAN existant. Cette approche entièrement transparente pour le SAN existant permet d’abaisser le temps de latence à quelques dizaines de microsecondes au lieu de plusieurs millisecondes. Elle permet également d’ajouter plusieurs milliers d’opérations en entrée/sortie par seconde (IOPS) à une infrastructure existante. Ce scénario est fréquemment déployé dans des bases de données telles que Microsoft SQL Server, où un unique périphérique PCIe et un logiciel de mise en cache coûtent moins de 10 000 dollars. Cette solution améliore de manière considérable les performances d’un SAN qui, pour afficher des performances similaires en entrée/sortie par seconde (IOPS), nécessiterait un investissement 5 fois plus élevé, sans toutefois pouvoir atteindre un temps de latence comparable. Dans les environnements de bases de données, le temps de latence est synonyme d’attente, c’est-à-dire d’un temps de réponse accru pour l’utilisateur ou d’un nombre de transactions réduit par seconde. Sachant que le temps c’est de l’argent, la technologie flash PCIe avec logiciel de mise en cache constitue une solution simple et rapide.

Accès flash partagé

Nombre de bases de données d’entreprise nécessitent le partage de l’accès au stockage. Citons par exemple les bases de données à instance unique Oracle® Database et les grappes d’applications Oracle Real Application Clusters (RAC). Les clusters RAC utilisent l’application ASM[2] d’Oracle pour gérer les volumes d’une base de données. L’ASM utilise des groupes de disques pour stocker les fichiers de données qui permettent des options flexibles de mise en miroir à base de serveur. Jusqu’à présent, seule son intégration à un réseau SAN permettait au gestionnaire ASM d’Oracle d’utiliser la technologie Flash. Ici encore, le temps de latence et le coût peuvent rendre l’association d’une base de données Oracle et d’un SAN particulièrement onéreuse, notamment lorsque l’environnement s’étend et qu’une augmentation des performances en E/S par seconde est nécessaire face à une augmentation de la charge de travail.

Avec la technologie de stockage défini par logiciel, HGST permet d’accéder aux mémoires Flash PCIe et de les administrer directement en tant que groupes de disques ASM à l’intérieur du serveur de base de données. L’application ASM peut agréger autant de mémoires Flash PCIe que l’exige le magasin de données. Dans la mesure où le stockage réside directement sur le bus du serveur, un temps de latence de quelques microsecondes (non mesurable par l’outil Calibrate_IO d’Oracle) peut être obtenu en intégrant un niveau « All-Flash » dans la base de données. De plus, l’application ASM fonctionnant avec l’ensemble des technologies de stockage, elle peut également déplacer les données vers le stockage de grande capacité du réseau SAN en vue d’optimiser le rapport prix/performances. Autre avantage, l’accès partagé à la mémoire Flash améliore l’utilisation de l’option Server Core, ce qui permet de réduire les droits de licence Oracle ou de prolonger les licences arrivant à expiration.

Clustering et consolidation de serveurs

Pour des bases de données de type MySQL, l’approche traditionnelle consiste à déployer des serveurs en couples maître/esclaves. Le serveur maître fait partie d’un plus grand cluster, où les rangées des bases de données sont « fragmentées » horizontalement entre plusieurs maîtres pour assurer la montée en charge horizontale. Pour leur part, les serveurs « esclaves » servent à délester le trafic en lecture et jouent le rôle de nœuds de basculement en cas de dysfonctionnement d’un serveur maître ou de corruption des données.

La technologie Flash PCIe affiche une telle vélocité et un temps de latence si bas qu’un seul périphérique peut gérer à la fois le trafic en lecture et en écriture au niveau du serveur maître. Le plantage des serveurs et la corruption des bases de données étant des événements plutôt rares, bon nombre de serveurs esclaves tournent au ralenti, et par conséquent consomment de l’énergie, occupent de l’espace et exigent un refroidissement. Cet « étalement des serveurs » peut être facilement jugulé au moyen de périphériques PCIe Flash et d’un logiciel de clustering flash côté serveur.

Avec un logiciel de clustering, plusieurs serveurs maîtres peuvent regrouper l’ensemble de leurs ressources Flash au sein d’un unique pool, un volume de ce pool étant ensuite affecté à chaque serveur maître. Un unique serveur esclave également appelé « serveur multifonctions », doté d’un logiciel open source de dimensions réduites, agit en tant qu’« auditeur ». Lorsqu’un serveur maître est défectueux, le serveur multifonctions monte le volume et prend le relais, sans interruption de service ; en outre, puisque la totalité des serveurs maîtres effectuent une réplication synchrone avec le pool, aucune donnée n’est perdue lors du basculement. Cet aspect est particulièrement important, dans la mesure où la réplication MySQL native est asynchrone, d’où la perte potentielle de certaines transactions. Pour les déploiements MySQL physiques, ce changement à la fois simple et efficace se traduit par une réduction du nombre de serveurs pouvant aller de 38 à 70 pourcent en fonction de la taille du cluster.

Que nous réserve l’avenir ?

Dans ces environnements d’entreprise critiques, temps de latence rime avec attente, c’est-à-dire avec un temps de réponse accru pour l’utilisateur ou une diminution du nombre de transactions par seconde. Sachant que le temps c’est de l’argent, la technologie Flash représente une proposition de plus en plus attrayante, ce qui signifie que le standard d’efficacité, de performances et d’évolutivité va être surveillé de près. Les entreprises qui souhaitent s’imposer vont devoir extraire davantage de valeur des données qui sont en leur possession.

Les solutions matérielles et logicielles doivent aider les DSI à atteindre le meilleur équilibre entre performances, complexité et coût, ce qui signifie qu’ils doivent se concentrer sur l’accélération des applications à l’aide d’un environnement reposant à 100 % sur des disques électroniques SSD, améliorer des performances amoindries grâce à une administration optimisée du stockage, ou utiliser la mise en cache pour exploiter au mieux des environnements où des disques durs traditionnels cohabitent avec des mémoires Flash.