Avantages et inconvénients du stockage NVMe/TCP pour le edge
Très rapide et ne nécessitant aucun expert sur place, cette connectique semble idéale pour déployer du stockage sur les sites d’activité. Des contraintes existent néanmoins.
Si l’on part du principe que la tendance du edge computing est de collecter en temps réel toutes les données produites dans les succursales, dans les boutiques ou dans les usines, afin de les raffiner sur place avant de les envoyer vers une application centrale en cloud, alors il est pertinent de déployer sur ces sites des équipements rapides.
En matière de stockage, cela signifie relier des baies de disques SSD à des serveurs via une connectique NVMe-over-Fabrics (alias NVMe-oF), car le protocole de communication parallélisé NVMe est – au moins – quatre fois plus véloce que l’ancestral protocole SCSI qui communique ses données en file indienne. Les baies de stockage compatibles NVMe-oF sont celles qui portent la mention NAFA, pour NVMe All-Flash Array.
Mais comme les premières implémentations de NVMe-oF étaient trop compliquées à déployer sur des sites à priori dépourvus d’informaticiens, le consortium NVM Express a ratifié il y a un peu plus d’un an la spécification NVMe-over-TCP – également écrite NVMe/TCP. NVMe/TCP peut être vu comme l’évolution du iSCSI : comme lui, il repose sur un réseau physique Ethernet classique et ses données circulent sous la forme de paquets TCP/IP standard. La différence est simplement que les commandes SCSI y sont remplacées par des commandes NVMe.
Les avantages
Dans un premier temps, la bonne pratique consistait à plutôt n’installer en edge que des infrastructures hyperconvergées, à savoir des machines dans lesquelles il n’y a pas de baies de disques externes et où le pool de stockage ne repose que sur les disques internes aux serveurs. Si ce type de configuration semble encore le plus simple, il souffre de limites.
« Pour que l’utilisation des ressources soit optimale sur un site qui génère des données, il vaut mieux pouvoir augmenter la capacité de stockage indépendamment de la capacité de calcul. Un site de production a en effet une activité très dynamique, donc avoir une infrastructure composable à volonté, permet de reconfigurer plus facilement l’informatique au gré des besoins », estime ainsi Paul von-Stamwitz, architecte stockage chez Fujitsu Solutions Lab.
Josh GoldenharVice président, Excelero
« L’approche de séparer les serveurs et le stockage apporte aussi plus de souplesse dans le design des machines. Il devient ainsi possible de disposer des mini-serveurs et des petits boîtiers de stockage et de les relier entre eux par de simples câbles réseau dans des environnements où il n’est pas possible d’entreposer des boîtiers racks avec leurs tiroirs de disques extractibles », ajoute pour sa part Josh Goldenhar, le vice-président du fournisseur Excelero qui édite le Système de stockage virtualisé NVMesh.
Parmi toutes les solutions de stockage externes en NVMe, celles en NVMe/TCP ont l’avantage d’éviter l’installation de réseaux supplémentaires, complexes et chers avec leurs switches et des cartes contrôleurs spécifiques. C’est le lot des autres implémentations de NVMe-oF : NVMe-over-Fiber Channel (NVMe/FC), NVMe-over-Infiniband (NVMe/IB) et NVMe-over-RoCE (NVMe/RoCE, qui se prononce « rocky »). Il est à noter que NVMe/RoCE repose aussi sur un réseau Ethernet. Mais il utilise des cartes contrôleurs spéciales, qui contournent les pilotes TCP/IP et répliquent directement le contenu des paquets depuis ou vers la RAM d’un serveur ; une technique dite de RDMA.
Les inconvénients
Les baies de stockage en NVMe/TCP ont néanmoins aussi des défauts. « Le reproche le plus fréquent que l’on formule à leur encontre est que le protocole NVMe/TCP lui-même génère plus de latences dans les échanges de données que n’importe quel autre protocole de type NVMe-oF », indique ainsi Paul von-Stamwitz.
Paul von-StamwitzArchitecte stockage, Fujitsu Solutions Lab
De plus, passer par des baies de stockage externes reste dans tous les cas plus compliqué à configurer que déployer des infrastructures hyperconvergées. « Au siège de l’entreprise, l’administrateur devra configurer l’automatisation de la provision des ressources de stockage pour les applications qui s’exécutent sur les serveurs. C’est-à-dire qu’il devra intégrer à la main ce processus aux fonctionnements d’orchestrateurs, le plus souvent Kubernetes dans le cadre du edge computing. Il faudra aussi configurer à part des règles de sécurité », détaille encore Paul von-Stamwitz.
Selon lui, ces configurations sont d’autant plus longues à faire dans le cadre du edge computing que, les environnements n’étant pas des salles informatiques, les machines sont plus susceptibles qu’ailleurs de tomber en panne. Il devient dans ce cas critique de prévoir des configurations en haute disponibilité, en programmant des bascules automatiques vers des équipements de secours, qu’il faut aussi configurer.
Des pilotes déjà disponibles dans Linux
Les baies NVMe/TCP apporteront tellement de performance et d’élasticité, que ces inconvénients resteront secondaires dans le choix de l’équipement. Paul von-Stamwitz recommande néanmoins de préférer à terme déployer en edge des baies NAFA nativement prévues pour la haute disponibilité. Les modèles étant appelés à se développer, il s’agira selon lui de ceux portant la mention HA (High Availability).
Pour l’heure, il est possible de tester des baies iSCSI en NVMe/TCP en configurant les pilotes open source disponibles gratuitement sur toute distribution Linux dotée du noyau 5.0, afin de se rendre compte des performances possibles et des impacts potentiels sur le réseau.
« Ces pilotes ne vous permettront pas d’administrer des volumes logiques, ni d’avoir de redondance ou de gestion centralisée. Ils sont juste là pour vous familiariser avec les concepts de NVMe/TCP », conclut-il.