Anna Khomulo - Fotolia
Stockage : Kalista IO déverrouille les usages des disques SMR
Les disques durs SMR offrent 30 % de capacité en plus, mais ne servaient jusqu’ici qu’à l’archivage. La startup a mis au point Phalanx, un système qui les rend compatibles avec toutes les applications.
Les disques durs de type SMR vont peut-être finir par voir leur carrière commerciale décoller. Kalista IO, une startup de la Silicon Valley, a développé un pilote de stockage qui prend intégralement en charge toutes les contraintes de ces disques durs ultra-capacitifs, de sorte que n’importe quel système d’exploitation et n’importe quelle application puissent les utiliser comme des disques durs normaux.
« Le problème des disques durs SMR est que plus vous les remplissez, plus les temps d’écritures aléatoires s’allongent. Car plus la capacité est occupée par d’anciennes données, plus il faut attendre que des opérations de maintenance ménagent de la place libre. Dans ce contexte, les disques durs SMR sont tout simplement inutilisables pour des bases de données et des fichiers de travail. Avec notre système de stockage, baptisé Phalanx Storage System, nous leur permettons de retrouver les mêmes IOPS que les disques durs normaux », lance Albert Chen, le PDG de Kalista IO.
Il existe deux types de disques SMR. Les DM-SMR (« Drive Managed ») sont les versions universelles : on les branche et on laisse leur électronique gérer les opérations de maintenance. Selon Albert Chen, il s’agit de la pire solution. Le disque dur n’a aucune connaissance des besoins utilisateurs, il fait le ménage dans ses pistes au coup par coup, ce qui pénalise systématiquement les temps d’écriture. Phalanx ne prend pas en charge ces disques durs.
Les HM-SMR (« Host Managed ») n’embarquent aucune fonction de maintenance. C’est la machine hôte, un serveur ou une baie de stockage, qui garde en mémoire l’index des pistes et décide, entre deux écritures, d’exécuter les opérations de maintenance. À date, les systèmes d’exploitation ne seraient que moyennement doués dans cette tâche. Malgré leurs efforts d’utiliser les périodes d’inactivité, des ralentissements seraient toujours observés. C’est à ce problème que s’attaque Phalanx.
« Comparativement aux dispositifs de gestion SMR embarqués dans les systèmes d’exploitation ou directement dans les applications, Phalanx permet de gagner 10 % d’IOPS supplémentaire sur les bases de données et 60 % d’IOPS en plus sur les stockages objets et fichiers », dit le PDG. Il cite les noms de MongoDB, MinIO et Ceph, respectivement.
L’enjeu : utiliser les disques SMR avec toutes les applications
Les disques durs SMR (Shingled Magnetic Recording) sont des disques durs avec une capacité environ 30 % supérieure à celle des autres disques durs de même génération. Ce gain est obtenu par une superposition des pistes adjacentes : plutôt que d’être écrite un cran plus loin que la piste 1, la piste 2 chevauche environ un tiers de la largeur de la piste 1. Puis, la largeur de la piste 2 est à son tour écrasée d’un tiers par la piste 3, et ainsi de suite. Ce principe n’incommode pas la lecture : la tête du disque dur a besoin d’une surface magnétique moins large pour lire des données que pour les écrire.
Revers de la médaille, quand il faut à nouveau écrire la piste 1, parce que ses données ont été modifiées, il ne reste plus assez de largeur lisible sur la piste 2, puisqu’elle est écrasée d’un côté par la piste 1 mise à jour et, de l’autre, par la piste 3 écrite après. Dans ce cas, il faut copier en cache la piste 2, écrire la piste 1, puis réécrire la piste 2. Mais si la piste 3 est effectivement écrite, il faut au préalable la mettre aussi en cache, et ainsi de suite jusqu’à ce qu’une piste soit vierge. Comme il n’y a pas assez de place en cache, il faut soit calculer, soit répéter les opérations. Moins il y a de capacité disponible sur le disque, plus le temps pris par ces opérations de maintenance est important.
Albert ChenPDG, Kalista IO
Jusqu’à présent, les contraintes des opérations de maintenance ont empêché l’utilisation des disques SMR dans les applications courantes. Les entreprises les déploient en vérité dans des cas particuliers. Pour stocker, les unes après les autres, des archives qui ne sont jamais – ou très rarement – modifiées. Pour héberger un lac de données. Ou alors pour stocker des banques de vidéos dans les médias. Dans ces cas d’usage, les contraintes des disques SMR s’effacent derrière leur seul avantage : avoir un prix au To moins cher que celui des disques durs normaux.
« Avec Phalanx, nous permettons à toutes les applications d’utiliser les disques durs les plus capacitifs du marché. Il ne s’agit pas de dire que nous avons mieux travaillé que les éditeurs des systèmes d’exploitation. Phalanx prend en charge quantité de paramètres auxquels les systèmes d’exploitation n’ont même pas commencé à s’intéresser », assure Albert Chen.
D’ordinaire, pour supporter des disques HM-SMR, il faut que le système de fichiers ou le moteur de stockage objet soient explicitement adaptés, ce qui interdit de mélanger les modèles de disques. Concernant le stockage en mode bloc, c’est l’application elle-même qui doit être prévue pour prendre en compte le placement des données selon les pistes.
De son côté, Phalanx est un pilote Linux qui fonctionne en mode utilisateur et non au niveau du noyau (il n’est pas nécessaire de redémarrer le serveur à chaque mise à jour). Ce pilote expose les services de stockage en mode fichier et en mode objet, mais aussi en mode bloc. Plus aucune version spéciale n’est nécessaire. Mieux, Phalanx peut gérer ensemble des disques durs de différentes tailles. Et même autoriser un mix entre disques durs SMR, normaux et SSD dans une même machine.
Selon Albert Chen, Phalanx fonctionne sur des serveurs matériels, sur des machines virtuelles et en containers.
Des vitesses d’accès meilleures que sur des disques durs classiques
Albert Chen énumère les caractéristiques de Phalanx : un système de logs sert d’historique des pistes accédées, un algorithme calcule sur quelles pistes stocker les données en cours pour minimiser les déplacements de la tête (ce qui contribue aussi à augmenter les IOPS) et, surtout, les écritures sont échelonnées entre plusieurs disques durs, avant de s’échelonner sur plusieurs pistes successives.
Albert ChenPDG, Kalista IO
« Nous faisons une sorte de RAID entre les disques disponibles sur un serveur ou une baie de disques. Plus vous répartissez les écritures entre plusieurs disques, plus vous reculez la complexité de réagencer les données, plus vous augmentez aussi la vitesse des lectures », dit le PDG.
Sur un benchmark qui consiste à écrire successivement 600 000 fragments de données, Albert Chen montre que sur un disque dur classique avec un système classique, les temps d’accès s’allongent vers la fin du test. « Cette variation est normale. Les bons temps d’accès correspondent à des fragments écrits dans le cache du disque dur. Mais lorsque ce cache est rempli, les performances chutent », explique-t-il, en montrant des temps d’accès qui grimpent jusqu’à 260 000 microsecondes.
En revanche, le même test réalisé avec Phalanx sur des disques durs SMR montre que les temps d’accès ne dépassent jamais 60 000 microsecondes. « En fin de test, les accès sont presque cinq fois plus rapides sur un disque SMR, ce que personne n’aurait imaginé possible avant », se félicite-t-il.
Dans ses cartons, Kalista IO aurait des systèmes de stockage fichiers et objets plus évolués, qui étiquettent les données pour alimenter des moteurs de recherche, de la priorisation des accès selon les types de données ou encore des opérations de maintenance plus proactives. La startup ne communique pas de dates pour ces ajouts.