Généralement, un SAN consiste en un ensemble d'ordinateurs connectés à un ensemble de systèmes de stockage par un réseau de commutateurs. Il arrive souvent que plusieurs ordinateurs accèdent au même stockage.

La connexion au stockage par lien ethernet unique montre plusieurs systèmes informatiques connectés à un système de stockage par un commutateur ethernet. Dans cette configuration, chaque système est connecté par un lien ethernet unique au commutateur, qui est également connecté au système de stockage par un lien ethernet unique. Dans la plupart des configurations, avec des commutateurs modernes et un trafic classique, cela ne constitue pas un problème.

Figure 1. Connexion au stockage par lien ethernet unique
Le graphique montre plusieurs systèmes connectés à un système de stockage par un commutateur ethernet unique.

Lorsque les systèmes lisent les données du stockage, la réponse maximum du stockage consiste à envoyer suffisamment de données pour remplir le lien entre les systèmes de stockage et le swicth ethernet. Il est peu probable qu'un système ou machine virtuelle seuls exploite totalement la vitesse du réseau, mais cependant cette situation peut survenir lorsque de nombreux systèmes partage un même périphérique de stockage.

Lorsqu'ils écrivent des données sur le stockage, des systèmes ou machines virtuelles multiples peuvent tenter d'exploiter totalement la vitesse de leurs liens. Comme l'illustration Paquets abandonnés le montre lorsque cela survient, le commutateur entre les systèmes et le système de stockage se trouvent contraints d'abandonner des données. En effet, bien que sa connexion au système de stockage soit unique, le commutateur a plus de trafic à envoyer au système de stockage qu'un seul lien peut en prend en charger. Dans ce cas, le commutateur abandonne des paquets réseau parce que la quantité de données qu'il peut transmettre est limitée par la vitesse du lien entre lui et le système de stockage.

Figure 2. Paquets abandonnés
Le graphique montre le commutateur abandonnant des données, entre les serveurs et les systèmes de stockage.

La restauration de paquets réseau abandonnés provoque une forte détérioration des performances. En plus du temps passé à déterminer quelles données ont été abandonnées, leur retransmission utilise la bande passante qui pourrait autrement servir aux transactions actuelles.

Le trafic iSCSI est assuré sur le réseau par le protocole de contrôle de transmission TCP. TCP est un protocole de transmission fiable, qui veille à ce que les paquets abandonnés soient représentés, et enfin atteignent leur destination. TCP est conçu pour restaurer les paquets abandonnés, et les retransmettre rapidement et sans coupure. Toutefois, lorsque le commutateur abandonne des paquets régulièrement, la performance réseau peut en souffrir nettement. Le réseau est alors congestionné par les requêtes de réexpédition de données en plus des paquets renvoyés, ce qui permet de transmettre moins de données que dans un réseau non congestionné.

La plupart des commutateurs ethernet peuvent conserver en mémoire tampon ou stocker les données et attribuer à chaque périphérique tentant d'envoyer des données une chance égale de joindre la destination. Cette capacité à conserver en mémoire tampon certaines transmissions, combinée avec plusieurs systèmes limitant le nombre de commandes en suspend, permet à de petites rafales de plusieurs systèmes d'être acheminés à leur tour vers un système de stockage.

Si les transactions sont volumineuses et que de nombreux serveurs tentent d'envoyer des données par un port de commutation unique, la capacité de ce commutateur à conserver en mémoire tampon une requête pendant qu'il en traite une autre peut se retrouver dépassée. Dans un tel cas, le swicth abandonne les données qu'il ne peut pas envoyer, et le système de stockage doit demander la retransmission du paquet abandonné. Par exemple, si un commutateur ethernet peut placer en tampon 32 ko sur un port d'entrée, mais que le serveur auquel il est connecté pense pourvoir en envoyer 256 Ko au périphérique de stockage, certaines données seront abandonnées.

La plupart des commutateurs administrables fournissent des informations sur les paquets abandonnés, qui ressemblent à ceci :

*: interface is up
IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
OHQ: pkts in output hold queue    OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)
TRTL: throttle count
Tableau 1. Exemple d'information du commutateur

Interface

IHQ

IQD

OHQ

OQD

RXBS

RXPS

TXBS

TXPS

TRTL

* GigabitEthernet0/1

3

9922

0

0

476303000

62273

477840000

63677

0

Dans cet exemple provenant d'un commutateur Cisco, la bande passante utilisée est de 476303000 bits/seconde, moins de la moitié de la bande passante physique. Et malgré cela, le port plaçait en mémoire tampon des paquets arrivant et en abandonnait un nombre certain. La ligne finale de ce résumé d'interface indique dans la colonne IQD que le port a déjà abandonné presque 10 000 paquets arrivants.

Pour éviter ce problème il est nécessaire de modifier la configuration en s'assurant que plusieurs liens ethernet arrivants ne se retrouve en goulot d'étranglement sur un seul lien sortant, provoquant une surcharge du lien trop abonné. Lorsqu'un certain nombre de liens transmettant à quasi saturation sont redirigés vers un plus petit nombre de liens, le surabonnement devient possible.

Généralement, les applications ou systèmes qui écrivent beaucoup de données sur le stockage, tels que l'acquisition ou les systèmes de journalisation des transactions, ne doivent pas partager le même lien vers le périphérique de stockage. Ces types d'applications sont les plus efficaces avec des connexions multiples aux périphériques de stockage.

L'illustration Multiple connexions du commutateur au stockage montre des connexions multiples du commutateur au stockage.

Figure 3. Connexions multiples du commutateur au stockage
Le graphique montre des connexions multiples du commutateur au stockage.

L'utilisation de VLANs ou de VPNs n'apporte pas de solution adéquate au problème du surabonnement des liens en configurations partagées. Les VLANs et autres partitionnements virtuels d'un réseau fournissent une conception logique du réseau, mais ne modifient pas les capacités physiques des liens et des transmissions entre les commutateurs. Lorsque le trafic de stockage et autres trafics réseau partagent des connexions physiques, comme dans un VPN, la possibilité de surabonnement et de paquets perdus est réelle. Cela est aussi vrai pour les VLANs qui partagent des transmissions intercommutateur. La conception des performances pour un SAN doit prendre en compte les limitations physiques du réseau, pas les allocations logiques.