Les architectures de stockage
SAN
Présentation
SAN est l’acronyme de Storage Area Network. Un SAN est un réseau de stockage sur lequel transitent des blocs de données.
Il est généralement constitué de trois types d’éléments :
- Des serveurs,
- Des éléments réseaux tels que des switchs ou des routeurs
- Des baies de disques qui vont fournir de l’espace de stockage.

Le dessin ci-dessus montre une architecture SAN minimaliste : en effet, on peut redonder les liens et les switchs réseaux pour répondre à des besoins de haute disponibilité.
Les baies de disques
Une baie de disques ou disk array contient des disques qui sont pilotés par un ou des contrôleurs suivant la disponibilité des données que l’on souhaite. Ces disques sont regroupés en volume via un système de RAID.
Il existe différents RAID :
- RAID 0 (stripping) : ce RAID permet de stocker les données en les
distribuant sur l’ensemble des disques du volume de RAID. Pour n disques de x Go
dans un volume, on dispose alors d’une capacité disque n*x pour stocker nos données.
Cette technique permet d’améliorer les capacités de transfert mais si un disque
tombe en panne, on ne peut plus accéder à nos données.
- RAID 1 (mirroring) : ce RAID permet de dupliquer les données sur l’ensemble
des disques du volume. Cela agit comme un miroir, c'est-à-dire que chaque disque est
une image des autres disques du volume. Pour n disques de x Go dans un volume, on
dispose d’une capacité disque de x Go mais on assure de la tolérance aux pannes
puisque si un disque tombe, les données sont accessibles à travers un autre disque
du volume.
- RAID 5 (stripping + parité distribuée) : Pour fonctionner, ce RAID dot
disposer de trois disques minimum. Si l’on dispose de n disques, on écrit les
données sur n-1 disques et le nième disque contiendra la parité des blocs de
données des n-1 disques. On est dans une configuration à parité distribuée donc
le disque qui reçoit la parité change tout le temps. Le RAID 5 accepte la
défaillance d’un disque sans que la disponibilité des données soit affectée.
De plus, il propose de bonnes performances avec le système de parités distribuées.
- RAID 6 : Même chose que le RAID 5 sauf que l’on écrit deux parité a chaque fois. On perd donc un disque de données utiles au profit d’une tolérance aux pannes de deux disques en même temps.
- Raid « combinés » : Les Raids combinés permettent de combiner différents Raids. Par exemple, on va regrouper deux volumes Raid 0 avec un Raid 1 (Raid 0+1). Cela permet de mixer les avantages propres à chaque RAIDs.
Les communications entre un serveur et une baie de disques ou un disque utilisent le protocole SCSI.
SCSI
SCSI est l’acronyme de Small Computer System Interface. SCSI est une norme qui permet de relier un ordinateur à un périphérique en mode bloc (disque, lecteur CDROM…). C’est un protocole client/serveur. Dans la norme SCSI, on parle d’initiateurs et de cibles.
Une communication SCSI se résume en trois phases :
- La première phase constitue en l’envoi d’une commande de l’initiateur (serveur) vers la cible (disque). Cette commande peut être READ, WRITE ou toutes autres commandes.
- Ensuite vient l’envoi ou réception de données. Cette phase est optionnelle et n’a lieu qu’en cas de READ ou WRITE. En cas de READ, la cible envoie les données à l’initiateur. En cas de WRITE, l’initiateur envoie les données à la cible.
- Pour finir, la cible envoie le résultat de l’opération à l’initiateur.
SCSI souffre de quelques limitations :
- en terme de performance, le débit maximal atteignable est de 20-40 MB / seconde.
- en terme de distance, la distance maximale entre deux périphériques est limitée à 19-25 m.
SCSI ne permet pas le transport de blocs de données à travers une grande distance ni à travers un réseaux alors l’architecture SAN s'appuie sur des protocoles réseaux (FCP ou ISCSI) qui encapsule les commandes SCSI.
FCP : Fibre Channel Protocol>
Introduction
FCP est l’acronyme de Fibre Channel Protocol. Ce protocole est défini par la norme ANSI X3T11. Avant d’être utilisé dans les architectures SAN, il était utilisé à l’intérieur de mainframe qui demandait de grosses performances disques. On peut utiliser comme médium de la fibre optique mais aussi des paires torsadées. On peut atteindre 400Mo/s avec un médium adapté. FCP autorise une distance maximale de 10 km entre deux périphériques et 90 km en cascade.
FCP, un protocole divisé en couches.
FCP est un protocole en 5 couches :
Les couches FC_0, FC_1 et FC_2 son regroupés logiquement dans une couche appelée FC_PH pour couche physique. FC_0 ou couche physique de Fibre Channel permet l’adaptation au médium. FC_1 ou couche liaison de données implémente l’encodage/décodage des signaux en codage 8b/10b. FC_2 ou couche réseau est le cœur du protocole Fibre Channel. Elle est responsable de découper les données à transmettre en fenêtre, et de réassembler ces fenêtres après. Elle contrôle l’ordre des fenêtres et est capable de dire si une fenêtre manque ou pas. En effet chaque trame est numérotée ce qui permet le réassemblage ou la détection de perte de données plus facilement.
FC_3 propose des services comme le multicast ou le stripping qui permet d’utiliser plusieurs liens en même temps pour multiplier la bande passante. FC_4 sert d’interface pour les applications qui vont être encapsulées dans le protocole FC.
Au dessus de FC_4, on retrouve les ULP (Upper Layer Protocol). La norme prévoit l’encapsulation du protocole SCSI, IP, AAL5 (ATM Adaptation Layer) ou encore IPI (Intelligent Peripheral Interface).
Les topologies FC
Fibre Channel autorise plusieurs topologies :
- point à point : C’est la topologie la plus simple qui offre la meilleure
bande passante.
- en anneau : Elle est nommée aussi FC-AL (Fibre Channel – Arbitrated Loop). Elle
peut connectée jusqu’à 126 éléments entre eux. Arbitrated Loop reprends les
principes du protocole Token Ring, ou l’accès au réseau est arbitré entre chaque
périphérique du réseau. La bande passante de la boucle est partagée entre chaque
périphérique du réseau. La raison première d’utiliser cette topologie est pour une
question de coût. En effet, il n’y a aucun élément réseau à acheter. Le problème de
cette architecture est que si un nœud tombe, aucune communication n’est possible par
la suite. De plus, cette architecture marche mal avec un nombre trop grand de
périphériques (>30) car le fait de transiter d’un lien à un autre entraine de la
latence parce que chaque machine regarde si les données qui passent ne sont
pas pour elles.
- en maille : Cette topologie est appelée aussi Fabric. Cette topologie
apporte le meilleur taux de disponibilité car il est possible de doubler chaque
lien. De plus chaque communication possède sa propre bande passante contrairement
à la topologie en boucle. C’est aussi la topologie qui demande le plus grand
investissement à cause de l’achat d’éléments réseaux spécifiques.
Conclusion
Les SAN FC sont utilisés pour des applications qui nécessite de grosses performances disques comme des SGBD ou des serveurs de virtualisation. L'entreprise qui veut déployer un SAN FC ne peut pas utiliser les éléments réseaux qu'elle dispose. Il faut qu'elle achète tout. Même les cartes utilisés au niveau des serveurs, nommées HBA (Host Bus Adapter), doivent être acheter et celles-ci sont beaucoup plus onéreuses que des cartes Ethernet classiques. Le déploiement de SAN FC est donc réservé à des entreprises qui disposent du budget nécessaire et des ressources humaines qui puissent ensuite administrer le tout.ISCSI
Introduction
ISCSI est l’acronyme de Internet Small Computer Systems Interconnect ou Internet SCSI. Ce protocole est défini dans les RFC 3720 & RFC 3783. Ce protocole permet de transporter des commandes SCSI dans des réseaux TCP/IP. Il ne demande pas d’élément réseaux spécifiques : de simples routeurs ou switchs IP peuvent transiter du ISCSI. La seule chose que nécessite ISCSI est un pilote spéciale au niveau de la carte Ethernet du serveur. De plus, certaine carte Ethernet haut de gamme intègre nativement la gestion du protocole ISCSI dans leur hardware donc il n’y a plus besoin de pilote spécifique.
Architecture de ISCSI
ISCSI reprends l’architecture client/serveur de SCSI avec la même dénomination initiateur/cible. Les communications ISCSI se déroulent aussi en trois phases : envoi de commande, envoi ou réception de données puis envoi du résultat.
Avec de l’Ethernet Gigabit, on peut atteindre un débit théorique de 125Mo/s.ISCSI est encapsulé à l’intérieur de TCP et permet de transporter des commandes SCSI :

Conclusion
Pour résumer, ISCSI permet de disposer d’un SAN à moindre cout. En effet, tous les éléments réseaux IP existants dans l’entreprise peuvent être utilisés, de plus l’attachement au serveur peut se faire avec une carte Ethernet. Pour séparer le trafic réseau et le trafic SAN, on pourra utiliser les VLANs. De plus, aucune connaissance s pécifique n’est demandée à un administrateur système pour installer un SAN ISCSI.
ISCSI délivre de moins bonnes performances qu’un SAN FC mais ses performances sont acceptables dans la plupart des cas. ISCSI permet d’étendre son SAN sur une échelle mondiale en théorie.
A noter que ISCSI peut demander d’importantes ressources processeurs si la translation SCSI vers ISCSI n’est pas aidé nativement par la carte réseau. De plus, pour certaines applications demandant de très grosses performances disques, on utilisera plutôt la technologie FC.
Avantages/Inconvénients
Avantages :
- Un SAN fournit de grosses performanes disques.
- Un SAN peut fournir une capacité disque illimitée avec l'ajout sans cesse de nouveaux périphériques de blocs pour sauvegarder les données.
- Il permet la consolidation des données en évitant de devoir à chaque fois de rajouter des périphériques de blocs séparés des autres.
Inconvénients :
- Il demande des ressources humaines spécifiques ou une formation du personnel afin de pouvoir l'administrer et le maintenir correctement.
- Une architecture SAN