Entreprenariat
Entreprenariat
Entreprenariat
ISI
Mémoire de fin de cycle pour l’obtention de la licence professionnelle en
Télécommunication
1
Plan détaillé
Introduction générale ………………………………………………………………………….4
I. Cadres théorique et méthodologique ................................................................................6
1.1 Cadre théorique ........................................................................................................6
1.1.1 Problématique ...................................................................................................6
1.1.2 Objectifs de recherche .......................................................................................6
1.1.3 Hypothèses de recherche ...................................................................................6
1.1.4 Pertinence du sujet ............................................................................................7
1.2 Cadre méthodologique ..............................................................................................7
1.2.1 Cadre de l’étude ................................................................................................7
1.2.2 Délimitations du champ d’étude ........................................................................7
1.2.3 Techniques de recherche ...................................................................................7
1.2.4 Difficultés rencontrées.......................................................................................8
II. Cadre conceptuel .............................................................................................................9
2.3 Rappels sur le thème .................................................................................................9
2.3.1 La conception de stockage SAN ........................................................................9
2.3.2 La conception de stockage NAS ........................................................................9
2.4 Etat de l’art sur la sujet .......................................................................................... 11
2.4.1 Avantages du Stockage NAS ...........................................................................11
2.4.2 Avantage du stockage SAN ............................................................................. 11
2.4.3 Étude du marché relatif à une solution de stockage ..........................................13
III. Mise en œuvre ...........................................................................................................15
3.5 Architecture............................................................................................................ 15
3.5.1 DAS ................................................................................................................ 15
3.5.2 SAN ................................................................................................................ 15
3.5.3 NAS ................................................................................................................ 21
3.6 Implémentation ......................................................................................................22
3.6.1 STATE MACHINE DU NAS ..........................................................................22
3.6.2 ETUDE DE FONCTIONNEMENT DU NAS ................................................. 23
3.6.3 ETUDE ET IMPLEMENTATION DE PROTOCOLE TFTP .......................... 23
Conclusion générale ………………………………………………………………………….27
2
Avant-propos
L’institut Supérieur d’Informatique (ISI) fut fondé en 1988 sous le nom de JET
INFORMATIQUE par des étudiants de l’université Cheikh ANTA DIOP de Dakar en
collaboration avec ceux de l’université Laval au Québec Canada. Ainsi en 1994 il devient
officiellement Institut Supérieur d’Informatique proposant une formation continue de type
académique dans les domaines tels que l’informatique, la gestion, la comptabilité et
l’organisation des entreprises offrant ainsi de nombreux diplômes tel que : le BTS, le DTS, la
Licence, le MASTER etc.
Pour l’obtention de la licence en réseau informatique, ISI exige aux étudiants la rédaction d’un
mémoire de fin de cycle. C’est dans ce cadre que nous avons élaboré ce document qui a pour
sujet : Etude et mise en place d’une architecture de stockage pour la haute disponibilité
Une architecture de stockage est un réseau de stockage sur lequel transitent des blocs de trois
types d’éléments :
Des serveurs,
Des éléments réseaux tels que des switches ou des routeurs,
Des baies de disques qui vont fournir de l’espace de stockage. Ainsi la haute
disponibilité est un terme souvent utilisé en informatique, à propos d’architecture de
système ou d’un service pour désigner le fait que cette architecture ou ce service a un
taux de disponibilité convenable
Ce document constitue notre premier travail de recherche académique, c’est pourquoi nous
sollicitons de la part du jury, beaucoup d’indulgence pour ce qui concerne son évaluation.
3
Introduction générale
De nos jours les avancées remarquables de la technologie ont favorisé le développement
des réseaux informatiques. En effet ils prennent de plus en plus une place stratégique dans les
entreprises notamment la haute disponibilité de nombreuses ressources de stockage. Cependant,
le stockage a lui toujours été considéré comme une composante périphérique de l'infrastructure
informatique. Pourtant, devant l'explosion de la volumétrie des données, il semble nécessaire
de repenser les systèmes de stockage et de proposer de nouvelles technologies qui permettraient
aux entreprises d'affronter les défis d'optimisation qui s'imposent.
Etant donné que le système informatique soit au cœur des activités des entreprises, son
fonctionnement doit être optimal et permanent. Pour cela les problèmes tels que :
Comment partager des données efficacement à travers un réseau ?
Comment faire face à l’explosion des volumes de données stockés dans les entreprises ?
Comment assurer les sauvegardes pour des volumes de données à sauver de plus en plus
grand ?
Comment garantir l’accès aux données 24h/24h et 7j/7j ?
L'objectif général du projet est donc d'identifier, d'étudier et de mettre en œuvre une
technologie de stockage pouvant accompagner l'entreprise. Ainsi pour atteindre cet objectif
nous avons retenu les objectifs spécifique suivant : utilisé une plateforme NetFPGA pour
implémenter un Network Attached Storage, d’étudier le principe de stockage avec les disques
directement attachés au réseau (NAS) ainsi qu’étudier la plateforme NetFPGA et implémenter
en matériel un dispositif du NAS fonctionnel
Les hypothèses de notre travail seront les suivantes : il serait possible que le stockage
de données puisse garantir la sécurité et de pouvoir entreprendre une excellente utilisation des
ressources du réseau.
4
Pour bien mener à terme nos objectifs nous avons dû faire une recherche documentaire
par la lecture d’ouvrages, de mémoires d’études et la recherche sur internet.
Dans le but de bien mener ce travail, notre étude s’articule autour de trois grandes
parties. Nous allons d’abord dans la première partie qui sera consacrée au traitement du cadre
théorique et méthodologique ; la deuxième partie prendra en charge le cadre conceptuel ; et la
troisième partie, ce sera la mise en œuvre et la solution retenue.
5
I. Cadres théorique et méthodologique
Dans cette partie nous allons parler du cadre théorique et méthodologique.
1.1.1 Problématique
6
1.1.4 Pertinence du sujet
Dans ce sujet, il est question de résoudre les problèmes de stockages pour la haute
disponibilité.
Pour finir, on utilise une plateforme NetFPGA pour implémenter un Network
Attached Storage dans le but d’étudier le principe de stockage avec les disques attachés au
réseau (NAS) ainsi qu’étudier la plateforme NetFPGA.
C’est sur cette même lancée que nous allons aborder le cadre méthodologique de ce
sujet.
7
Mémoires
Recherche en ligne
A partir de ces nombreuses techniques de recherche nous allons pouvoir bien cerner
notre sujet.
Ainsi, ces différentes techniques de recherche ont fait ressortir toutes les difficultés
liées à ce sujet.
8
II. Cadre conceptuel
Dans cette partie nous allons faire des rappels sur le stockage en réseau et puis nous
parlerons de l’état de l’art.
Le terme SAN désigne une nouvelle architecture de stockage selon laquelle les systèmes de
stockage sont attachés à un réseau rapide entièrement dédié au stockage. Il s’agit bien d’un
nouveau réseau qui vient en complément des réseaux de communication existants. Les serveurs
d’applications qui accèdent aux systèmes de stockage sont également connectés au réseau
rapide et échangent les données en protocole de type entrée/sortie. La technologie de choix pour
ce réseau rapide est le Fibre Optique. L’administration est dédiée à l’ensemble des systèmes de
stockage et à l’infrastructure de commutation Fibre Channel.
L’architecture SAN s’impose rapidement. Le concept de SAN apporte une vraie rupture
technologique dans la façon d’appréhender le stockage d’entreprise. Avec le SAN, le stockage
dispose enfin d’un réseau adapté aux besoins d’accès et d’échange de l’information.
Une solution de NAS regroupe plusieurs éléments. Outre la batterie de disques durs et une
architecture matérielle généralement comparable à un serveur renforcé (processeur, mémoire,
alimentation redondante…), elle inclut son propre système de gestion de fichiers, un logiciel
spécifiquement conçu pour le stockage distribué (déploiement, gestion, administration) et, le
plus souvent, un sous‐système RAID pour la sécurisation des fichiers en temps réel.
10
2.4 Etat de l’art sur la sujet
2.4.1 Avantages du Stockage NAS
Facilité d'installation
Vous pouvez ajouter des serveurs NAS à votre réseau local en quelques minutes, sans avoir à
immobiliser ce dernier. Ces serveurs sont particulièrement adaptés aux applications qui
impliquent de nombreux accès en lecture/écriture.
Allègement de votre serveur réseau
Les serveurs NAS contribuent à accroître les capacités de stockage "à la volée", ce qui vous
permet de rediriger le trafic réseau et évite d'avoir à ajouter des nœuds réseau supplémentaires.
Les responsables d'entreprise peuvent délester le serveur réseau des tâches de services de
fichiers qui requièrent une largeur de bande importante. Le temps de latence est alors diminué
et le risque de perturbation des tâches cruciales, telles que la gestion des applications ou la
messagerie électronique, est réduit. La souplesse du stockage NAS permet d'ajouter des
capacités de stockage où nécessaire, y compris sur des sites distants.
Enfin, il permet d'effectuer des sauvegardes sans que les performances du serveur réseau s'en
trouvent affectées.
Simplification du partage de données
Les réseaux modernes sont des environnements hétérogènes. Or, le stockage NAS vous permet
de vous connecter à plusieurs systèmes d'exploitation et de partager des données entre des
clients et des serveurs disparates. Pour faciliter ce partage de données entre plates-formes, le
stockage NAS prend en charge à la fois le protocole NFS (Network File System) pour les
systèmes UNIX et le protocole CIFS (Common Internet File System) pour les systèmes
Microsoft.
Administration du stockage NAS
L’administration est simplifiée. Une interface WEB accessible grâce à l’adresse IP ou le nom
réseau du NAS, permet à l’administrateur de gérer les groupes d’utilisateurs par exemple.
11
Accélération de l'extraction des données
La technologie Fibre Channel sur laquelle repose le réseau SAN utilise une boucle arbitrée qui
offre des vitesses de transfert de données réelles de 100 Mbps. Si l'on compare ce débit à celui
qu'offre aujourd'hui la technologie SCSI, soit entre 40 et 80 Mbps, l'écart est considérable. Les
réseaux SAN peuvent également prendre en charge un nombre quasiment illimité de matériels,
si votre entreprise est prête à investir dans l'infrastructure (serveurs, multiplexeurs, passerelles
et unités de stockage).
Simplification des sauvegardes et restaurations
Les réseaux SAN facilitent les opérations de sauvegarde et de reprise après incident. Les
données peuvent ainsi être mises en miroir sur un site distant en vue d'une reprise transparente
après incident, ou être sauvegardées rapidement sur un autre site sans que cela n'affecte les
performances réseau. Un réseau SAN permet de sauvegarder plusieurs gigaoctets de données
en quelques heures seulement.
Évolutivité exceptionnelle
Avec son évolutivité intrinsèque quasiment illimitée, le réseau SAN constitue un choix idéal
pour les réseaux qui connaissent une croissance rapide, ou qui ont besoin d'augmenter leurs
capacités de stockage de façon irrégulière. Les outils de repartitionnement et de gestion
permettent aux administrateurs réseau de réallouer l'espace de stockage entre les serveurs en
repartitionnant simplement le réseau SAN. Ce processus consiste à allouer un certain espace de
stockage à un serveur réseau au lieu de connecter directement cet espace au serveur réseau.
Temps d'accès aux données
Dans un environnement SAN plus encore qu'ailleurs, il est essentiel d'obtenir rapidement les
informations. Les serveurs NAS permettent de transférer des pages et sont réputés pour leurs
faibles temps de latence. Pour leur part, les réseaux SAN transfèrent des blocs d'informations,
et non des pages individuelles.
La virtualisation
La virtualisation permet d’organiser des sous réseaux virtuels dans le SAN. Les composants de
la zone sont des nœuds (serveurs, systèmes de stockage, disques ou bandes). Chaque zone est
logiquement isolée des autres. Un nœud peut appartenir à plusieurs zones (par exemple les
bandes).
Le partage de fichier
C’est le niveau ultime de partage de données sur un SAN. Cette fonctionnalité est offerte par
certains éditeurs de logiciels sur SAN. Elle consiste en l’implémentation de protocoles de
fichiers répartis (comparables à NFS ou CIFS) ou de systèmes de fichiers de grappe.
12
2.4.3 Étude du marché relatif à une solution de stockage
Le SAN et le NAS permettent l’obtention d’un stockage de données sur le réseau, mais leur
philosophie différente impose une étude de besoin avant de choisir l’une des deux solutions.
Nous allons nous efforcer pour permettre de faire le bon choix dans cette partie.
Critère de choix d’un NAS ou d’un SAN
Avant de faire son choix, il faut connaître les différents critères intervenant dans le choix d’un
NAS ou d’un SAN. Ils ont été regroupés dans la liste suivante :
– Compatibilité OS
– Volume de stockage
– Administration
– Installation
– QoS (Qualité de Service)
– Coût
– Disponibilité
– Support multilingue
Après avoir étudié tous les points énumérés ci-dessus, nous aurions une vue générale sur
l’ensemble des technologies aboutissant à faire notre choix sur un réseau de stockage.
Compatibilité OS (Système d’Exploitation)
Le NAS convient bien aux environnements hétérogènes. En effet, l’interopérabilité des
éléments de stockage ne dépend que de l'OS du serveur de fichier. En effet, un OS Microsoft et
un Unix n’utilisent pas le même protocole de partage de fichiers.
Pour un système d’exploitation Linux on utilisera le protocole NFS (Network File System)
tandis que pour un système d’exploitation Microsoft on utilisera le protocole CIFS (Common
Internet File System).
Volume de stockage
Que ce soit SAN ou NAS, les deux solutions de stockage permettent de supporter une grande
quantité de stockage et de la faire évoluer. Toutefois, il faut préférer un réseau SAN pour les
réseaux connaissant une croissance rapide, ou qui ont besoin d'augmenter leurs capacités de
stockage de façon sporadique.
Administration
Les serveurs NAS sont les plus simples à gérer dans la mesure où ils s’intègrent directement au
réseau de l’entreprise. Mais même les réseaux SAN, grâce à des logiciels de configuration,
simplifient grandement l’administration du stockage.
13
Installation
On peut ajouter des serveurs NAS au réseau local en quelques minutes, sans avoir à immobiliser
ce dernier. Ces serveurs sont particulièrement adaptés aux applications qui impliquent de
nombreux accès en lecture/écriture.
SAN par contre est un réseau à part, il faut donc étudier tout ce réseau avant de pouvoir le mettre
à disposition des utilisateurs.
QoS (Qualité de Service)
Ici, le NAS montre ses faiblesses. En effet, le réseau Ethernet sur lequel repose le NAS n'offre
aucune garantie quant au fait que la requête envoyée par un serveur a bien été reçue et prise en
compte par les systèmes de stockage, alors que pour le SAN c’est l’un de ses arguments
majeurs.
Le commutateur prend en charge cette fonction et garantit en outre un débit fixe (100Mo/s par
lien en fibre optique).Ainsi, les entreprises ayant des applications critiques nécessitant une haute
qualité de service devront opter pour le SAN.
Le Coût
Le NAS ne requiert pas de l'entreprise qu'elle mette en place une infrastructure de câbles en
fibre optique (solution majoritairement adoptée pour le SAN). Son prix est donc abordable pour
des petites entreprises ou des services départementaux de grands groupes dont les volumes de
données ne sont pas trop importants.
C'est en dernière instance un arbitrage entre coût et besoins qui doivent décider de l'intérêt d'une
solution ou d'une autre. A titre indicatif, au-dessus d'une cinquantaine de ports (trois
commutateurs 16 ports), il est plus souvent plus intéressant de passer au SAN.
La disponibilité
Le SAN assure la redondance du stockage en doublant au minimum chacun des éléments du
système: les cartes HBA (Host Bus Adapter) des serveurs, les commutateurs, et l'écriture des
données sur les disques.
Le NAS lui ne permet pas cette fonction vitale pour certaines applications (type bancaires,
assurances, sites de commerce électronique…).
Un support multilingue
Lorsque la solution de stockage est utilisée dans le cadre d'activités liées à Internet, la prise en
charge de multiples langues et jeux de caractères s'avère essentielle.
Les employés d'une multinationale, par exemple, doivent être en mesure d'accéder à des
informations et d'utiliser des programmes dans plusieurs langues.
14
III. Mise en œuvre
3.5 Architecture
Les architectures qui seront présentées répondent aux problématiques suivantes :
Comment partager des données efficacement à travers un réseau ?
Comment faire face à l’explosion des volumes de données stockés dans les entreprises ?
Comment assurer les sauvegardes pour des volumes de données à sauver de plus en plus
grand ?
Comment garantir l’accès aux données 24h/24h et 7j/7j ?
Pour cela, trois différentes architectures permettent d’organiser son stockage pour répondre à
ces besoins :
3.5.1 DAS
DAS est l’acronyme de Direct Attached Storage. Il ne désigne pas une architecture de stockage
en lui-même. Il désigne tout périphérique de stockage attaché directement à un serveur. Par
exemple, le disque dur interne d’un serveur est un DAS car celui-ci est relié directement au
serveur sans passer par un réseau quelconque. Dans sa forme la plus évoluée, le DAS représente
un serveur qui possède une carte SCSI ou SAS externe sur laquelle on va accrocher une cage
de disques.
3.5.2 SAN
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.
15
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 disque
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.
16
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 termes 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éseau alors l’architecture SAN s'appuie sur des protocoles réseaux (FCP ou ISCSI) qui
encapsule les commandes SCSI.
17
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 sont 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 :
18
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.
19
Conclusion
Les SAN FC sont utilisés pour des applications qui nécessitent 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ées au niveau des serveurs, nommées HBA (Host Bus Adapter), doivent être acheté
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 d’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 de l’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.
20
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.
3.5.3 NAS
NAS est l’acronyme de Network Attached Storage. Un NAS est un serveur de stockage
directement attaché au réseau IP fournissant un service de partage de fichiers aux clients
/serveurs d’un environnement hétérogène (multi-OS). Ce service de partage de fichiers est
fourni à l’aide d’un protocole de transport de fichiers de haut niveau. On peut citer :
NFS,
CIFS,
HTTP,
FTP.
Un NAS est un serveur classique qui va disposer d’équipements redondés (alimentations,
ventilateurs…) pour assurer de la tolérance aux pannes. Sur ce serveur, on pourra installer un
OS optimisé pour le stockage de données comme Microsoft Windows Storage Server 2003.
Les architectures NAS
Il existe deux architectures NAS :
L’architecture minimaliste qui représente un serveur attaché au réseau :
Une architecture avec une tête de NAS devant un SAN. On parle aussi de NAS Head
ou de NAS Gateway
21
3.6 Implémentation
La première question qu'on peut poser, quel est le protocole qu'on va utiliser pour transférer les
données au travers du réseau? Ce protocole doit être léger et simple à implémenter. Bien qu'il
existe plusieurs protocoles tels qu’AFP comme Apple Filing Protocol1, NFS comme Network
File System1, CIFS comme Common Internet File System1, NCP comme NetWare Core
Protocol1 etc. On va s'arrêter avec un Protocole de Transfert de Fichiers très simple qui est le
TFTP. Une fois le système est fonctionnel on peut alors changer ce protocole par un autre qui
pourra implémenter les fonctions de sécurisation et d'authentification mais qui soit aussi plus
difficile à réaliser en Verilog.
Avant de commencer la réalisation des différents modules de notre application faisons le graphe
d'état de fonctionnement de notre serveur hardware.
Voici la description des états par lesquels passe le NAS ainsi que les conditions de transition
d'un état à un autre.
L'état initiale du serveur est "PRÊT", le démarrage du serveur est équivalent de son
initialisation ‐ "RESET". Le serveur boucle dans cet état tant qu'il n'y a pas de requête soit
"WRQ" (demande d'écriture) soit "RRQ" (demande de lecture). Lorsqu'il reçoit une requête
"WRQ" ou "RRQ" il passe à un autre état "ETAB_CONNEXION" (établissement de
connexion). Dans cet état le serveur envoie au client l'accusé de réception et passe à l'état
suivant "RECEPTION". Dans le cas où le serveur ne peut pas établir la connexion avec le client
il passe à l'état "PRÊT". Pendant "RECEPTION" le serveur peut soit fournir un fichier soit le
stocker, mais dans les deux cas on appelle cet état "RECEPTION". Le serveur reste dans cet
état tant qu'il ne reçoit pas le dernier paquet qui a la taille moins que 512 octets (voir le sous‐
chapitre suivant "Etude et implémentation de TFTP"). Si tout bien passé il passe à l'état "FIN"
et ensuite "PRÊT" et il se met en écoute d'une nouvelle connexion. Sinon, dans le cas d'une
erreur il passe à un état "INITIALISATON".
Dans cette phase il efface tous les données reçus, ensuite il initialise les registres et vide la
mémoire vive et finalement se met en écoute ‐ état "PRÊT".
22
3.6.2 ETUDE DE FONCTIONNEMENT DU NAS
L'étape suivant est d'étudier le protocole TFTP en détail afin de pouvoir le réaliser dans un
module hardware.
La dernière version du protocole est le 2, définie dans RFC 1350. Donc TFTP est un protocole
très simple utilisé pour transférer des fichiers. Chaque paquet est validé séparément.
Ce protocole a été implanté au-dessus du protocole Internet UDP (Figure 3.1 ci‐ dessous), il lui
manque donc la plupart des fonctionnalités d'un FTP ordinaire. Il nous faudra étudier chaque
couche pour pouvoir implémenter chaque une. Continuons avec le protocole TFTP, et étudions
le plus en détail.
23
La seule chose qu'il peut réaliser est lire et écrire des fichiers depuis ou vers un serveur distant.
Il ne peut pas afficher le contenu d'un répertoire, et actuellement l'authentification des
utilisateurs n'est pas prévue.
N'importe quel transfert démarre par une demande de lecture ou d'écriture de fichier, qui aussi
sert de demander de connexion. Si le serveur autorise la requête, la connexion est ouverte et le
fichier est envoyé par blocs d'une taille fixe de 512 octets.
Chaque paquet de données contient un bloc de données, et doit être acquitté par un paquet
"accusé de réception" avant que le paquet suivant ne puisse être émis. Un paquet de données de
moins de 512 octets signale la terminaison du transfert. Si un paquet se perd su le réseau, une
fin d'attente se déclenchera chez le destinataire et il pourra retransmettre son dernier paquet (qui
peut être de données ou un accusé de réception), provoquant ainsi la retransmission du paquet
perdu par l'émetteur. L'émetteur, depuis l'étape garantissant que tous les anciens paquets ont
bien été reçus, ne doit conserver qu'un paquet en mémoire pour la retransmission. Observons
que les deux machines concernées par un transfert sont considérées comme émettrice et
réceptrice. L'une envoie des données et reçoit des accusés de réception, l'autre envoie des
accusés de réception et reçoit des données. Notre NAS doit contenir les deux blocs en gros qui
vont accomplir ses fonctions d'émission et de réception des paquets.
La plupart des erreurs provoquent la rupture de la connexion. Une erreur est signalée par
l'émission d'un paquet "erreur".
Ce paquet n'est ni acquitté ni retransmis (par exemple, un serveur TFTP ou un utilisateur peut
rompre sa connexion après l'envoie d'un message d'erreur) alors l'autre extrémité de la
connexion peut ne pas l'avoir reçu. Par conséquent des délais d'attente sont utilisés quand le
paquet "erreur" a été perdu pour détecter une telle terminaison. Les erreurs sont provoquées par
trois types d'événements: incapacité à satisfaire la demande (par exemple, fichier non trouvé,
violation d'accès, ou utilisateur inexistant), réception d'un paquet qui ne peut s'expliquer par un
délai ou une duplication sur le réseau (par exemple, un paquet mal formé), ou la perte de l'accès
à une ressource nécessaire (par exemple, disque plein ou accès refusé pendant le transfert).
TFTP ne reconnaît qu'une seule condition d'erreur qui ne provoque pas la rupture: le port source
d'un paquet reçu est incorrect. Dans ce cas, un paquet d'erreur est émis vers la machine
d'origine.
24
Ce protocole est très restrictif afin de simplifier l'implémentation. Par exemple, la taille fixe des
blocs prépare franchement l'allocation future, et l'étape d'attente d'accusé de réception fournit
un mécanisme de contrôle de flux et évite le besoin de remettre dans l'ordre les paquets
entrants.
Comme mentionné, TFTP est conçu pour être implanté au-dessus d'un protocole datagramme
(UDP). Puisque le Datagramme est implanté sur le protocole Internet, les paquets possèdent un
en‐tête Internet un en‐tête de datagramme, et un en‐tête TFTP. En plus, les paquets peuvent
avoir un en‐tête (LNI, ARPA et dans notre cas Ethernet) pour leur permettre de circuler sur le
support de transmission local.
Comme indiqué dans la figure 3.1 ci‐dessus, l'ordre des contenus d'un paquet sera: en‐tête
support local, en‐tête Internet, en‐tête Datagramme, en‐tête TFTP, suivis par le reste du paquet
TFTP. TFTP ne précise directement aucune valeur dans l'en‐tête Internet. Par contre, le port
source et le port destination de l'en‐tête du Datagramme sont utilisés par TFTP et le champ
longueur reflète la taille du paquet TFTP. Les identificateurs de transfert (TID) utilisé par
TFTP sont transmis à la couche Datagramme pour être utilisés comme ports; donc ils doivent
être compris entre 0 et 65535. L'en‐tête TFTP est constitué d'un champ de 2 octets qui indique
le type du paquet (par exemple DONNEE, ERREUR, etc.).
Un transfert est établi par l'émission d'une requête (rappel WRQ pour écrire vers un système de
fichier, ou RRQ pour le lire), et la réception d'une réponse positive, un accusé de réception pour
écrire, ou le premier paquet de données à lire. En général un paquet "accusé de réception" doit
contenir le numéro de bloc du paquet de données qui doit être acquitté.
A chaque paquet de données est associés un numéro de bloc; les numéros de blocs sont
consécutifs et démarrent à 1. Puisque la réponse positive à une demande d'écriture est un paquet
"accusé de réception", dans ce cas particulier le numéro de bloc sera zéro. Normalement,
puisqu'un paquet "accusé de réception" valide un paquet de données, le paquet "accusé de
réception" doit contenir le numéro de bloc du paquet de données à valider. Si la réponse est un
paquet "erreur", alors la requête est rejetée.
Chaque extrémité choisit en priorité un TID pour elle-même afin d'établir la connexion. Il sera
utilisé durant cette connexion. Le TID d'une connexion sera choisi aléatoirement, ainsi la
probabilité que le même nombre soit choisi deux fois de suite est très faible. A chaque paquet
sont associés les deux TID de la phase de connexion, le TID source et TID destination. Ces TID
25
sont remis au support UDP comme ports source et destination. Une machine effectuant une
demande choisit son TID source comme décrit ci‐dessus, et émet sa requête initiale avec le TID
réservé 69 en décimal pour la machine destinataire. La réponse à la demande, en
fonctionnement normal, utilise le TID choisi par le serveur comme TID source et le TID choisi
par le requérant dans son message préalable comme TID destination. Les deux TID choisis sont
alors utilisés pour le reste du transfert.
Pour la description du protocole TFTP on s'arrête à ce point-là et passons à l'étape suivant qui
est l'implémentation.
Après avoir vu les détails sur le protocole TFTP nous descendons dans notre model top‐down
au niveau plus bas. C'est‐à‐dire nous allons réaliser un module qui implémente le protocole
TFTP. Dans notre projet il y aura deux modules TFTP différents. Un bloc qui est pour le but de
traiter les trames reçues et un autre pour traiter les trames qui seront envoyées.
Par contre il est nécessaire de faire la description détaillée de certaine fonctionnalité de chacun
des blocs.
On commence par bloc TFTP. Lorsqu'il Il est activé par le signal "tftp_en" Il reçoit sur son
entrée "CPCI_DATA" le paquet TFTP extrait dans le bloc précédent "analyseur". Ensuite le
bloc TFTP extrait la partie DATA de ce paquet TFTP est l'envoie vers la sortie "SATA_OUT".
Cette sortie est connectée au contrôleur RocketIO (SATA). Ce contrôleur se préoccupe
d'envoyer ces données sur le disque dur au travers de protocole SATA.
Maintenant on suppose qu'on envoie les données au même destinataire pour acquitter la trame
reçue. Dans ce cas-là on utilisera un autre bloc TFTP_assembl. Il reçoit les données à l'entrée
DATA0 depuis le contrôleur SATA ainsi que les données qui ont étaient mémorisées dans la
SRAM préalablement. Toutes ces données sont assemblées par ce bloc en un paquet TFTP et
ce paquet est envoyé sur la sortie DATA vers un bloc suivant UDP_assembl. Avant d'envoyer
ce paquet TFTP, on l'active par un signal "en_udp".
26
Conclusion générale
A présent, nous arrivons au terme de notre travail, lequel portait sur le stockage des données.
Nous ne pouvons pas prétendre avoir été exhaustif sur la question du stockage des données.
Cependant, au regard de ce qui précède, nous estimons avoir relevé le défi auquel nous étions
soumis: explorer de manière descriptive et analytique une solution susceptible de répondre aux
besoins croissants en matière de consolidation et de mise en communs des espaces de stockage
de données au sein des entreprises. En effet, dans la plupart des infrastructures informatiques
aujourd'hui, l'explosion des volumes de données pose un réel problème, dont la solution doit
être étudiée de façon globale.
Les technologies de stockage telles que le DAS et le NAS, par leur souplesse d'utilisation et
leur faible coût tentent de répondre à ce besoin. Mais stocker un volume important n'est pas la
seule question qui se pose. Le réel enjeu se situe au niveau des services associés à ces données:
les temps de réponse, la disponibilité et la sécurité.
La technologie SAN s'impose dans ce sens par ses attrayantes possibilités et fait du réseau un
acteur prépondérant dans le service des données. Les coûts élevés d'acquisition sont encore un
frein à l'installation de solutions SAN à grande échelle. Cependant, le protocole ISCSI permet
le transfert de données sur les réseaux Ethernet par l'IP. On peut donc le considérer comme une
alternative à Fibre Channel. Nous ne saurions clore ce travail sans dégager une remarque ou
plutôt une inquiétude qui a retenu notre attention.
En effet, nous pensons que les technologies de stockage à haute disponibilité restent encore
dans l'ombre car il n'est pas évident de rencontrer des experts SAN qualifiés. Ceci du simple
fait que, contrairement aux disciplines liées aux réseaux, à la programmation, pour ne citer que
celles-là, il existe peu de programmes de formation reconnus en matière de stockage. C'est pour
cette raison que de nombreuses entreprises préfèrent faire appel à des prestataires extérieurs,
qui assureront notamment l'implémentation du réseau. Or à ces frais s'ajouteront les coûts déjà
élevés du matériel.
27
Bibliographie
Mémoires
CAVANAGH JOSEPH, Verilog HDL : Digital Design and Modeling, CRC Press. 2003, 900
pages.
28
Webographie
httpd://www.nasfr.com/
httpd://www.digital-Storage.fr/stockage-nas.php
httpd://www.nasstor.net/ ?name=raid
(Description RAID)
Date de consultation 02 juin 2020 à 16h
29