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.

Le graphique suivant montre plusieurs systèmes informatiques connectés à un système de stockage via un commutateur Ethernet. Dans cette configuration, chaque système est connecté au commutateur via un lien Ethernet unique. Le commutateur est connecté au système de stockage via un lien Ethernet unique.

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

Lorsque les systèmes lisent les données du stockage, le stockage répond en envoyant suffisamment de données pour remplir le lien entre les systèmes de stockage et le commutateur Ethernet. Il est peu probable qu'un système ou qu'une machine virtuelle exploite totalement la vitesse du réseau. Cette situation peut toutefois survenir lorsque de nombreux systèmes partagent un périphérique de stockage unique.

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. Par conséquent, il peut arriver que le commutateur entre les systèmes et le système de stockage abandonne des paquets réseau. L'abandon de données peut se produire parce que le commutateur a plus de trafic à envoyer au système de stockage qu'un seul lien ne peut en transporter. La quantité de données que le commutateur 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 peut 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, les performances réseau peuvent en souffrir. Le réseau est encombré par les demandes de renvoi de données et les paquets renvoyés. Moins de données sont transférées que sur un réseau sans congestion.

La plupart des commutateurs Ethernet peuvent conserver en mémoire tampon, ou stocker, des données. Cette technique donne à chaque périphérique tentant d'envoyer des données une chance égale de rejoindre sa destination. La possibilité de conserver en mémoire tampon certaines transmissions, combinée avec de nombreux systèmes limitant le nombre de commandes en attente, réduit les transmissions en petites rafales. Les rafales de plusieurs systèmes peuvent être envoyées à un système de stockage à tour de rôle.

Si les transactions sont volumineuses et que plusieurs serveurs envoient des données via un port de commutateur unique, la capacité de mise en mémoire tampon peut être dépassée. Dans un tel cas, le commutateur abandonne les données qu'il ne peut pas envoyer, et le système de stockage doit demander une retransmission du paquet abandonné. Par exemple, si un commutateur Ethernet peut conserver en mémoire tampon 32 Ko, mais que le serveur envoie 256 Ko au périphérique de stockage, certaines de ces données sont 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. Le port met en mémoire tampon les paquets entrants mais en a abandonné quelques-uns. 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é. Lorsque plusieurs liens transmettant à quasi saturation sont redirigés vers un plus petit nombre de liens, le surabonnement devient possible.

En règle générale, les applications ou systèmes écrivant une grande quantité de données sur le stockage doivent éviter le partage des liens Ethernet vers un 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 un moyen de concevoir logiquement un réseau. Toutefois, ils ne modifient pas les capacités physiques des liens et des transmissions entre les commutateurs. Lorsque le trafic de stockage et les autres trafics sur le réseau partagent des connexions physiques, le surabonnement et la perte de paquets peuvent devenir possibles. 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.