Debian logo [inetdoc.LiNUX]

3. Technologie iSCSI et topologie de travaux pratiques

Cette section présente sommairement la technologie iSCSI et a pour but d'attribuer les rôles et les tâches de chacun des postes de travaux pratiques en fonction de la topologie mise en œuvre. Ce support de travaux pratiques fait suite à la présentation sur le Stockage Réseau utilisée en cours.

3.1. Bases de la technologie iSCSI

La technologie iSCSI dont l'acronyme reprend la définition historique Internet Small Computer System Interface est un protocole réseau de stockage basé sur le modèle TCP/IP. Le principe de base consiste à encapsuler des commandes SCSI dans des paquets IP transmis entre un hôte et une unité de disque. Comme les paquets IP peuvent être perdus (et|ou) retransmis, ils peuvent très bien ne pas arriver dans l'ordre d'émission. Le protocole iSCSI doit donc conserver une trace de la séquence de transmission de commandes SCSI. Les commandes sont placées dans une file d'attente dans l'ordre d'émission.

La technologie iSCSI a initialement été développée par IBM et a ensuite été soumise à l'IETF (Internet Engineering Task Force). Le standard a été publié par le comité IP Storage Working Group en août 2002.

On peut identifier deux fonctions principales dans la technologie iSCSI. La première est la fonction target. C'est un système simple qui contient l'unité de disque. Ce système peut être matériel ou logiciel. Dans le cas de ces travaux pratiques, il s'agit d'un poste de travail utilisant son second disque dur comme unité de stockage SAN. La seconde fonction est baptisée initiator. Elle correspond au «client» qui utilise l'unité de stockage réseau. Ici, l'autre poste de travaux pratiques joue ce rôle de client.

Fondamentalement, iSCSI est un protocole de la famille Storage Area Network (SAN). Le client ou initiator accède à une unité de stockage en mode bloc. Ce mode de fonctionnement est quasi identique à la technologie Fibre Channel. Le type de réseau constitue la principale différence entre ces deux technologies. La technologie iSCSI s'appuie sur TCP/IP alors que Fibre Channel comprend une définition de réseau propre (FC) qui nécessite des équipements spécifiques.

Ces dernières années, la technologie iSCSI gagne en popularité relativement à son ainée pour plusieurs raisons.

  • Le prix des configurations iSCSI peut être bien meilleur marché qu'avec la technologie Fibre Channel. Si les performances d'un réseau au Gigabit Ethernet suffisent, un réseau de stockage iSCSI devient très attractif.

    Attention cependant à bien identifier quand d'autres techniques sont associées à iSCSI pour accroître les débits réseau et donc les performances du stockage. Dans ces techniques complémentaires on trouve l'agrégation de canaux baptisée bonding sur les systèmes GNU/Linux et etherchannel sur les équipements Cisco. Sous ces deux dénominations différentes se cache un même standard : l'IEEE 802.3ad Dynamic link aggregation qui rend l'utilisation de cette technique totalement transparente entre équipements hétérogènes. En appliquant ce principe d'agrégation de canaux, on peut pratiquement assimiler les performances de quatre liens Gigabit Ethernet à celles d'un lien Fibre Channel. Une autre technique consiste à utiliser aussi plusieurs liens dans une optique et redondance et de balance de charge. Elle est appelée multipath.

  • L'utilisation d'une technologie réseau unique est nettement moins complexe à administrer. En effet, on optimise les coûts, les temps de formation et d'exploitation en utilisant une architecture de commutation homogène. C'est un des avantages majeurs de la technologie Ethernet sur ses concurrentes.

  • Au début de son exploitation, le coût d'un réseau 10 Gigabit Ethernet est prohibitif relativement à toutes les autres solutions. On peut espérer que le coût d'acquisition des équipements 10GigE suivra le même profil que pour les débits antérieurs et que ces réseaux vont se démocratiser. Du point de vue hôte, le point déterminant est l'uniformisation de l'interface réseau. En effet, avec une interface 10GigE on ne devrait plus avoir de distinction entre NIC et HBA.

Aujourd'hui la technologie iSCSI est supportée par tous les systèmes d'exploitation communs. Côté GNU/Linux, plusieurs projets ont vu le jour dans les années qui ont suivi la publication du standard en 2002. Pour la partie initiator les développements des deux projets phares ont fusionné pour ne plus fournir qu'un seul code source ; celui disponible à l'adresse Open-iSCSI. La partie target a suivi un processus analogue et le code source est disponible à l'adresse iSCSI Enterprise Target. On peut simplement regretter que la partie Kernelspace n'ait pas encore été intégrée dans l'arborescence principale du noyau Linux. La mise en œuvre du rôle target nécessite donc des manipulations spécifiques pour compiler les modules si le système d'exploitation ne fournit pas le service DKMS (Dynamic Kernel Module Support).

On retrouve tous les éléments utiles sous forme de paquets dans la distribution Debian GNU/Linux.

$ aptitude search iscsi
p   iscsitarget          - iSCSI Enterprise Target userland tools
p   iscsitarget-dkms     - iSCSI Enterprise Target kernel module source - dkms version
p   iscsitarget-source   - iSCSI Enterprise Target kernel module source
p   open-iscsi           - High performance, transport independent iSCSI implementation

3.2. Infrastructure de stockage étudiée

Le séquencement des opérations à réaliser lors de la séance de travaux pratiques est décrit dans le tableau ci-dessous. Les deux postes occupent chacun un rôle distinct. Comme le rôle initiator demande moins de travail de préparation, c'est à ce poste que l'on confie les essais des outils de micro-benchmark.

Tableau 2. Attribution des rôles

Rôle initiator Rôle target
Préparation d'une unité de stockage locale pour évaluer les différences entre les accès DAS et SAN Préparation d'une unité de stockage iSCSI
Installation des outils
Mise au point des scripts d'évaluation des performances du stockage Compilation et configuration des outils de déploiement d'une unité de stockage iSCSI
Validation de la configuration SAN iSCSI
Étude comparative des performances