Stockage : choisir le bon protocole d’accès
Cet article compare les caractéristiques des protocoles d’accès au stockage courants – iSCSI, Fibre Channel, FCoE, NFS, SMB/CIFS, HTTP et NVMe-oF –, afin de déterminer celui qui répond le mieux à vos besoins.
Les protocoles d’accès au stockage permettent aux applications, aux serveurs et à d’autres systèmes de communiquer avec des équipements de stockage via un réseau. Ils permettent aussi aux utilisateurs de partager des fichiers et aux entreprises de disposer de capacités de stockage supérieures à celles que l’on peut facilement obtenir avec un stockage à connexion directe.
Un protocole d’accès au stockage fournit un ensemble standard de règles qui définissent la manière dont les données sont transmises entre les équipements. Les systèmes tels que le stockage en réseau (NAS) et les réseaux de stockage (SAN) s’appuient sur des protocoles de stockage pour faciliter les communications de données. Les plateformes de stockage dans le cloud utilisent également des protocoles pour donner accès à leurs référentiels de données.
Sept protocoles pour accéder au stockage
Bien qu’il existe de nombreux protocoles spécialisés, sept protocoles de stockage d’entreprise sont généralement beaucoup plus répandus que les autres. Examinons ces protocoles :
Internet Small Computer System Interface (iSCSI)
Le iSCSI est un protocole de couche de transport qui offre un accès au niveau des blocs aux équipements de stockage sur un réseau TCP/IP. Ce protocole s’appuie sur le protocole TCP et définit la manière de transmettre des paquets SCSI sur des réseaux locaux (LAN), des réseaux étendus (WAN) ou Internet. Le iSCSI permet aux services informatiques de mettre en place un réseau de stockage partagé, tel qu’un SAN.
Les entreprises se tournent souvent vers le iSCSI, car cette technologie utilise les normes Ethernet, ce qui la rend moins coûteuse et plus facile à mettre en œuvre que le Fibre Channel (FC). Le iSCSI peut offrir des débits élevés sur de longues distances, en tirant parti du multipathing, des trames jumbo, du Data Center Bridging (DCB) et d’autres technologies. Les déploiements SAN basés sur le iSCSI prennent désormais en charge des débits allant jusqu’à 25 Gbit/s en Ethernet, les débits de 50 et 100 Gbit/s n’étant pas loin derrière.
Fibre Channel (FC)
Le Fibre Channel est une technologie de réseau haut débit qui transmet des blocs de données brutes sans perte et dans l’ordre. Cette technologie définit plusieurs couches de communication pour le transport des commandes SCSI et des unités d’information à l’aide du protocole Fibre Channel (FCP). Outre le SCSI, le Fibre Channel peut également interagir avec le protocole IP et d’autres protocoles. Il propose des interfaces point à point, commutées et en boucle, et peut atteindre des débits allant jusqu’à 128 Gbit/s.
Le Fibre Channel a été créé pour prendre en charge les réseaux de stockage (SAN) et pallier les lacunes du SCSI. Il offre un protocole et une interface fiables et évolutifs, avec un débit élevé et une faible latence, ce qui le rend particulièrement adapté au stockage réseau partagé. Utilisé avec la fibre optique, le Fibre Channel peut prendre en charge des équipements distants de 10 km maximum. Cependant, les réseaux FC peuvent être complexes et nécessitent des équipements spécialisés tels que des commutateurs, des adaptateurs et des ports.
Fibre Channel sur Ethernet (FCoE)
Le protocole FCoE permet aux communications Fibre Channel de s’effectuer directement sur Ethernet. Ce protocole encapsule les trames FC dans des trames Ethernet, en utilisant une structure Ethernet sans perte et son propre format de trame. Le FCoE permet au trafic LAN et SAN de partager le même réseau physique, tout en restant isolés l’un de l’autre. Il fonctionne avec des cartes, des commutateurs et des câbles Ethernet standard, ainsi qu’avec des composants compatibles FCoE. Le FCoE peut prendre en charge les mêmes débits de données que l’Ethernet haut débit.
Grâce au FCoE, une entreprise peut utiliser un mode de câblage unique dans l’ensemble du centre de données, ce qui contribue à simplifier la gestion et à réduire les coûts par rapport au Fibre Channel classique. Le FCoE conserve également certains des avantages du Fibre Channel classique en matière de latence et de gestion du trafic, et il peut utiliser le DCB pour éliminer les pertes en cas de débordement de file d’attente. Cependant, le FCoE ne fonctionne pas sur des réseaux routés tels que le Fibre Channel.
Network File System (NFS)
Le NFS est à la fois un système de fichiers distribué et un protocole réseau permettant d’accéder à des fichiers et de les partager entre des équipements situés sur le même réseau local (LAN). Ce système et son protocole sont couramment utilisés pour prendre en charge les NAS. Le NFS constitue une option économique pour le partage de fichiers en réseau, qui permet aux utilisateurs et aux applications d’accéder à des fichiers, de les stocker et de les mettre à jour sur un ordinateur distant, comme s’il s’agissait d’un volume local, en DAS.
Le NFS utilise le protocole RPC (Remote Procedure Call) pour acheminer les requêtes entre les clients et les serveurs. Bien que les équipements participants doivent prendre en charge le NFS, ils n’ont pas besoin de connaître les détails du réseau. Cependant, les appels RPC peuvent présenter des failles de sécurité ; le NFS ne doit donc être déployé que sur des réseaux fiables protégés par des pare-feu. Ce protocole est principalement utilisé dans les environnements Linux, bien qu’il soit également pris en charge par Windows.
Server Message Block/Common Internet File System (SMB/CIFS)
SMB est un protocole de communication client-serveur qui permet aux utilisateurs et aux applications d’accéder au stockage et à d’autres ressources réseau sur un serveur distant. S’agissant d’un protocole de type requête-réponse, il transmet plusieurs messages entre le client et le serveur pour établir une connexion. SMB fonctionne au niveau de la couche application et peut s’exécuter sur des réseaux TCP/IP. À l’instar du NFS, ce protocole est couramment utilisé pour les NAS.
Depuis son lancement, de nombreuses variantes (implémentations) du protocole SMB ont vu le jour. L’une des premières fut le CIFS. Introduit par Microsoft, il était réputé pour être un protocole « bavard », bogué et sujet à des problèmes de latence. Malgré cela, il a été adopté par des systèmes d’exploitation tels que Windows, Linux et Unix. Les versions SMB ultérieures ont rendu le CIFS pratiquement obsolète. Pourtant, les termes SMB et CIFS sont souvent utilisés de manière interchangeable ou désignés sous le nom de SMB/CIFS, bien que le CIFS ne soit qu’une implémentation parmi d’autres du protocole SMB.
Hypertext Transfer Protocol (HTTP)
Le HTTP n’est généralement pas considéré comme un protocole de stockage, mais il prend en charge l’accès à des services de stockage dans le cloud tels qu’Amazon S3, Google Cloud Storage et Microsoft Azure, le plus souvent via des API RESTful et des requêtes HTTP/HTTPS standard. Amazon S3 est devenu la norme de facto pour le stockage d’objets dans le cloud et est désormais pris en charge par les systèmes de stockage sur site, y compris les NAS, ce qui renforce le rôle du HTTP en tant que protocole de stockage.
HTTP est un protocole d’application du World Wide Web qui s’exécute sur TCP/IP. Il fournit un ensemble de règles pour le transfert de données entre des points d’extrémité HTTP, qui envoient des requêtes et reçoivent des réponses. Ce protocole repose sur un modèle client-serveur et bénéficie d’une large prise en charge et d’une implémentation généralisée. La plupart des langages de programmation intègrent des fonctionnalités de requêtes HTTP, ce qui permet à pratiquement n’importe quelle application d’accéder au stockage à l’aide de technologies basées sur des normes.
Non-volatile memory over fabrics (NVMe-oF / NVMe/TCP)
Basé sur la spécification NVMe, le protocole NVMe-over-Fabrics est un protocole de stockage haut débit permettant d’accéder à des supports de stockage SSD via des réseaux tels que l’Ethernet (NVMe/RoCE), l’Ethernet avec une couche TCP (NVMe/TCP), le Fibre Channel (NVMe/FC) et l’InfiniBand (NVMe/IB). NVMe-oF définit une architecture commune permettant de s’interfacer avec des systèmes de stockage à l’aide de commandes NVMe basées sur des messages. Ce protocole peut prendre en charge un grand nombre de périphériques NVMe tout en augmentant la distance entre ces équipements et leurs sous-systèmes.
Selon NVM Express Inc., 90 % du protocole NVMe-oF est identique au protocole NVMe de base, qui a été conçu pour les SSD se connectant directement à un ordinateur via un bus PCIe. À l’instar de NVMe, NVMe-oF permet de mieux tirer parti des vitesses inhérentes aux disques flash, souvent limitées par les protocoles et interfaces plus traditionnels.
Les fournisseurs de solutions de stockage proposant des baies 100 % flash adoptent rapidement NVMe-oF pour prendre en charge les charges de travail gourmandes en données et le calcul haute performance. Nombreux sont ceux qui estiment que NVMe-oF deviendra à terme le protocole de facto pour le stockage d’entreprise.
Quelles différences entre les protocoles SAN et NAS ?
À une certaine époque, il existait une distinction claire entre le matériel NAS et le matériel SAN. Cependant, les appliances de stockage modernes prennent souvent en charge à la fois les fonctionnalités NAS et SAN. Le fait qu’une telle appliance fonctionne comme un périphérique NAS ou SAN dépend de la manière dont le stockage est présenté aux clients et des protocoles utilisés.
À titre d’exemple, une partie de l’espace de stockage disponible au sein d’un appareil peut être allouée à une utilisation NAS. Cela signifie que cet espace de stockage dispose de son propre système de fichiers et de sa propre liste de contrôle d’accès, et que les clients y accèdent au niveau des fichiers.
À titre d’exemple, une entreprise peut choisir de mettre quelques téraoctets d’espace à la disposition des utilisateurs sous forme de stockage NAS. L’appareil formaterait alors l’espace de stockage en utilisant un système de fichiers tel que NTFS, ZFS ou ext4. L’entreprise pourrait ensuite mettre cet espace à la disposition des utilisateurs en créant un partage SMB, puis en mappant un lecteur réseau à ce partage. Les appareils NAS prennent généralement en charge les protocoles SMB et NFS.
Ce même appareil peut également être configuré pour servir de stockage SAN. Dans ce cas, un serveur se connecterait au stockage brut à l’aide d’un protocole tel que le iSCSI, le Fibre Channel ou le NVMe-oF. Le serveur interagit avec le stockage SAN au niveau des blocs. Même si le serveur peut, au final, formater le stockage en utilisant le même système de fichiers que celui utilisé sur un périphérique NAS, il continue d’accéder au stockage au niveau des blocs, et non au niveau des fichiers.
En termes simples, les équipements NAS offrent un accès au niveau des fichiers, tandis que les équipements SAN sont accessibles au niveau des blocs. Il s’agit d’une distinction importante, car les protocoles SAN privilégient les performances, une faible latence et un débit prévisible. Ce sont ces caractéristiques qui rendent le SAN adapté aux cas d’utilisation en entreprise, tels que l’hébergement de bases de données, d’hyperviseurs et d’applications d’entreprise.
Les protocoles NAS, en revanche, privilégient la simplicité, le partage de fichiers entre plusieurs utilisateurs, la gestion centralisée et l’accès multi-plateforme. Bien que le NAS soit utilisé en entreprise, ses cas d’utilisation courants incluent notamment le stockage collaboratif de fichiers, l’hébergement des répertoires personnels des utilisateurs ou encore son utilisation comme référentiel de sauvegarde.
Choisir le bon protocole
Malheureusement, il n’existe aucun protocole de stockage d’entreprise qui soit la meilleure option dans toutes les situations imaginables. Les protocoles de stockage sont conçus pour des cas d’utilisation spécifiques et impliquent souvent des compromis.
En ce qui concerne les critères de sélection d’un protocole, la première étape consiste à examiner le modèle d’accès. En effet, vos options varieront selon que vous ayez besoin d’accéder à un stockage en blocs, en fichiers ou en objets.
L’accès au stockage en blocs peut être assuré à l’aide de protocoles tels que le iSCSI, le Fibre Channel et le NVMe-oF (ou NVMe/TCP). Le iSCSI est souvent le meilleur choix pour les entreprises qui recherchent une solution relativement simple et économique utilisant l’infrastructure existante. Cela est particulièrement vrai si l’entreprise souhaite fournir un accès au stockage via un réseau Ethernet existant. Dans la pratique, il peut être utile de comparer les performances des différents protocoles de stockage avant de faire son choix.
Le Fibre Channel est depuis longtemps une option très prisée pour les centres de données d’entreprise et est réputé pour offrir des performances prévisibles et une fiabilité exceptionnelle. Cependant, les centres de données d’entreprise adoptent de plus en plus de nouvelles normes telles que NVMe-oF ou NVMe/TCP, en raison de leur latence réduite et d’une meilleure prise en charge globale des périphériques NVMe.
Les principaux protocoles utilisés pour le stockage au niveau des fichiers sont SMB et NFS. SMB est le protocole de prédilection dans les environnements Windows, tandis que NFS est mieux adapté aux environnements Linux et autres Unix.
En ce qui concerne le stockage objet, l’accès au stockage s’effectue généralement via des protocoles de stockage cloud (HTTP/S3). Les fournisseurs de stockage objet précisent généralement le protocole qu’ils exigent, bien que de nombreuses plateformes de stockage objet soient conçues pour être compatibles S3.
Cet article-conseil est initialement paru en anglais sur Techtarget.
