iscsi.v2.0

11
PORCHET Sylvain 2012 Comprendre et utiliser ISCSI …………………………………………………………………………………………………………… ………………………………………………………………………………………………………….. Ce document présente sommairement le concept ISCSI et mentionne quelques produits permettant son engagement dans de petites infrastructures. Sylvain porchet © Tous droits réservés

Upload: sylvain-porchet

Post on 04-Aug-2015

56 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ISCSI.v2.0

P

OR

CH

ET S

ylva

in

20

12

Co

mp

ren

dre

et

uti

liser

ISC

SI

………………………………………………………………………………………………………………………………………………………………………………………………………………………..Ce document présente sommairement le concept ISCSI et mentionne quelques produits permettant son engagement dans de petites infrastructures.

Sylvain porchet © Tous droits réservés

Page 2: ISCSI.v2.0
Page 3: ISCSI.v2.0

Sujets traités

I

Table des matières Table des matières .................................................................................................................................................. 3

Qu’est-ce qu’ISCSI ? ................................................................................................................................................ 5

Historique et situation ........................................................................................................................................ 6

ISCSI, dans le monde SAN ou dans le monde NAS ? ............................................................................................... 6

Principes associés et vocabulaire ............................................................................................................................ 7

Remarque importante ..................................................................................................................................... 7

Nommage et adressage ...................................................................................................................................... 8

Découverte non-automatique............................................................................................................................. 9

Découverte automatique .................................................................................................................................... 9

Conclusion ............................................................................................................................................................. 11

Sources .................................................................................................................................................................. 11

Page 4: ISCSI.v2.0
Page 5: ISCSI.v2.0

Comprendre ISCSI

5

Qu’est-ce qu’ISCSI ? ISCSI (Internet Small Computer System Interface) est un protocole de transport SCSI permettant le mappage de

périphériques bloc de stockage sur des réseaux TCP/IP. Les commandes SCSI sont encapsulées à l’intérieur de

paquets TCP.

Le principe de base consiste à encapsuler des commandes SCSI dans des paquets TCP 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.

Ce protocole est utilisé dans un contexte qui tend à se standardiser et qui nécessite la connaissance de

plusieurs acteurs qui sont nécessaires à son engagement.

Les deux principaux sont :

Target (La cible), ~rôle de serveur

Système simple contenant l'unité de disque Il est logiciel ou matériel.

Périphérique de stockage doté d’une interface iSCSI mais pouvant être émulé au niveau logiciel.

Initiator (L’initiateur) ~rôle de client

Client utilisant l’unité de stockage réseau Il accède au périphérique en mode bloc.

L’initiator peut être une carte Ethernet spécialisée, munie d’un composant supplémentaire qui va gérer le protocole iSCSI. Cette carte sera appelée un " iSCSI-HBA (Host Bus Adapter)". Mais, on peut aussi déployer une solution logicielle pure qui nécessite seulement un driver spécifique dont le rôle sera de traduire les ordres SCSI en paquets réseau.

Le mode de fonctionnement et presque identique à Fibre Channel, toutefois Fibre Channel comprend une

définition de réseau qui lui est propre (FC), et nécessitant des équipements spécifiques.

ISCSI s’appuie sur TCP/IP et, dès lors ne nécessite pas de matériel spécifique, ce qui, entre autre permet son

engagement de manière spécialement avantageuse.

Actuellement les infrastructures réseau ont tendance à se vulgariser en Gigabit Ethernet et différentes

techniques permettent d’augmenter les performances en augmentant les débits réseaux.

Page 6: ISCSI.v2.0

Comprendre ISCSI

6

Techniques d’amélioration courantes.

IEEE

80

2.3

ad

Dynamic link aggregation Bonding (Nom du monde GNU/Linux) Etherchannel (Nom du monde Cisco)

Cela correspond à l’agrégation de canaux L’utilisation de cette technique est complétement transparente entre équipements hétérogènes. L’agrégation de 4 liens Gigabit Ethernet correspond presque à l’utilisation d’un lien Fibre Channel

Multipath Technique visant à utiliser plusieurs liens afin d’amener une redondance et un équilibrage de charge

Historique et situation Initialement ISCSI a été développé par IBM et a ensuite été soumis à l'IETF (Internet Engineering Task Force). Le

standard a été publié par le comité IP Storage Working Group en août 2002.

ISCSI, dans le monde SAN ou dans le monde NAS ? SAN (Storage Area Network) fait référence à un réseau de stockage, qui se différencie des autres systèmes de

stockage tel que le NAS (Network attached storage) par un accès bas niveau aux disques. Pour simplifier, le

trafic sur un SAN est très similaire aux principes utilisés pour l'utilisation des disques internes (ATA, SCSI). C'est

une mutualisation des ressources de stockage.

Dans le cas du NAS, la ressource de stockage est directement connectée au réseau IP de l'entreprise. Le serveur

NAS intègre le support de multiples systèmes de fichiers réseau, tels que Common Internet File System (CIFS)

protocole de partage de Microsoft et de Samba, Network File System (NFS) qui est un protocole de partage de

fichiers Unix, ou encore AFP (AppleShare File Protocol) qui est l'équivalent dans le monde Apple. Une fois

connecté au réseau, il peut jouer le rôle de plusieurs serveurs de fichiers partagés.

Schéma tiré de :

« iSCSI Protocol Concepts and implementation » White paper

Page 7: ISCSI.v2.0

Comprendre ISCSI

7

Dans le cas du SAN, les baies de stockage n'apparaissent pas comme des volumes partagés sur le réseau. Elles

sont directement accessibles en mode bloc par le système de fichiers des serveurs. En clair, chaque serveur voit

l'espace disque d'une baie SAN auquel il a accès comme son propre disque dur. L'administrateur doit donc

définir très précisément les Logical Unit Number (LUN, unités logiques), le masking et le zoning, pour qu'un

serveur Unix n'accède pas aux mêmes ressources qu'un serveur Windows utilisant un système de fichiers

différents. (définition tirée de wikipédia).

Il est donc correct d’associer ISCSI au monde SAN plutôt qu’au monde NAS, bien que certains produits à la base

de monde NAS (par exemple : FreeNAS, basé sur FreeBSD) permettent son engagement.

ISCSI est un protocole fondamentalement classé dans la famille SAN. Le concept permet de traiter des disques

SAN de la même manière que des disques DAS (Direct Attached Storage).

Principes associés et vocabulaire L’initiateur lance la communication.

La cible répond à l’initiateur.

Les initiateurs demandent l’exécution de commandes et les cibles sont les périphériques qui les exécutent.

L’extrémité à l’intérieur de la cible est référencée en tant que « logical unit »(LU). Les logical units sont

directement adressables.

On peut dire qu’une cible est une collection de, une ou plusieurs LU, généralement du même type.

La structure utilisée pour permettre à une application cliente de communiquer une commande à un serveur de

périphérique est appelé Command Descriptor Block (CDB)..

Une commande SCSI ou un jeu de commandes liées est appelé une tâche (task).

L’inter-reconnaissance de des initiateurs et des cibles se fait par découverte de nom unique.

Le protocole ISCSI établit des sessions de communication entre les initiateurs et les cibles et fourni des

méthodes pour qu’ils s’authentifient.

Une session ISCSI peut contenir une ou plusieurs connexions TCP et fourni un système de récupération au cas

où il y a un problème de communication.

Remarque importante

Comme mentionné,

L’espace de stockage étant accédé en mode bloc à travers le réseau, cet espace disque est considéré comme un

espace disque local. On ne peut pas partager cet espace physique entre plusieurs initiateurs (à moins d’utiliser

un système de fichiers distribué comme GFS1).

On appliquera alors les mêmes règles qu’avec un SAN : si vous avez " n " initiateurs, alors il faut découper

l’espace physique en " n " portions logiques pour faire en sorte que chaque initiateur accède seul à son espace

logique.

1 GFS utilisable avec Linux et IRIX se distingue des autres systèmes de fichiers distribués en permettant à tous

les nœuds un accès direct concurrent au même périphérique de stockage de type bloc.

Page 8: ISCSI.v2.0

Comprendre ISCSI

8

Nommage et adressage Le protocole ISCSI utilise une méthode qui lui est propre pour nommer et adresser les initiateurs et les cibles.

Ce principe est basé sur le nommage univoque des initiateurs et des cibles.

En complément du nom, chaque initiateur ou cible dispose d’une ou de plusieurs adresses.

Les adresses sont susceptibles de changer, à contrario des noms.

Il est à noter que pour faciliter la lecture par l’humain, les initiateurs et cibles peuvent avoir des alias non

univoques.

Les noms ISCSI sont utilisé pour :

1. Identifier un initiateur, une cible qui peut être adressées par plus d’une adresse IP et plus d’un port

TCP

2. Comme identifiant pour des configurations présentant plusieurs initiateurs ou cibles derrière une

seule adresse IP et port TCP.

3. Comme méthode pour reconnaître des chemins d’accès multiples vers le même initiateur ou la même

cible via différentes adresses IP et ports TCP.

4. Comme identifiant afin de rendre les initiateurs et les cibles capables de se reconnaître s les unes les

autres indépendamment du mappage d’adresses IP et de ports TCP sur un firewall intermédiaire.

Le nom ISCSI définit une méthode pour fournir des autorités de nommage utilisant un espace de nommage

doté d’un top-level unique.

Cela signifie que le nom ISCSI peut être assigné par l’éditeur de l’OS, du pilote, le vendeur, fabriquant de la NIC

ou du périphérique, l’utilisateur final, le fournisseur de service, etc.

Selon la RFC 3721, le format iqn (iSCSI Qualified Name) : est une chaîne préfixée par " iqn. " et suivie d’une date

(au format AAAA-MM), du nom de l’autorité qui a attribué le nom (nom de domaine à l’envers), puis d’une

chaîne unique qui identifie le nœud.

Par exemple : iqn.2007-07.org.nomrezo:serveur1:123456789ABCDEF.12345.

Le format eui (Enterprise Unique Identifier) : c’est une chaîne préfixée par " eui. " et suivie de 16 chiffres

hexadécimaux.

Par exemple : eui.00803BA4887A8D05.

Chaque nœud iSCSI peut aussi disposer d’Alias. Ce sont des noms logiques qui peuvent être utilisés

uniquement après la connexion (qui utilise donc toujours le nom unique officiel) et permettent de proposer

des comptes-rendus plus lisibles pour les administrateurs. Toujours suivant le bon vieux principe qu’une

vision logique est préférable à une vision physique...

Lorsque l’initiateur souhaite établir une session TCP avec la cible, il doit connaître le port TCP de la cible.

L’association (adresse IP, port TCP) est appelé un " portal " (portail).

Il y a donc un portal sur l’initiateur et la cible. Le port par défaut sur la cible est le 3260.

Un initiateur peut établir plusieurs connexions TCP avec la même cible. L’ensemble de ces connexions définit

une " session iSCSI ".

Page 9: ISCSI.v2.0

Comprendre ISCSI

9

Découverte non-automatique Lorsque l’initiateur se voit manuellement spécifier l’IQN (Iscsi Qualified Name) d’une cible. (Considéré comme

mode Statique)

Découverte automatique Lorsque l’initiateur est activé, il peut découvrir automatiquement les cibles associées à une adresse IP donnée.

Ce processus est appelé auto-découverte (auto-discovery).

Le standard iSCSI définit trois modes de découverte automatique :

1. Le mode SendTargets qui est réalisé à la demande de l’initiateur et qui utilise une commande native

du protocole iSCSI pour cela. (considéré comme mode dynamique)

Ce mode peut être résumé ainsi :

1. L’initiateur connaît (via un fichier de configuration) la liste des cibles.

2. Il effectue alors des requêtes de découverte (SendTargets) ;

3. Chaque cible iSCSI retourne les noms des cibles disponibles au driver ;

4. Le driver essaye de se connecter et reçoit les ID des cibles ;

5. Le driver iSCSI demande des infos pour chaque périphérique ;

6. Puis, il crée une table des périphériques disponibles ;

7. Les périphériques sont alors montables et utilisables.

2. Le mode SLP (Service Location Protocol) – aussi utilisé par CUPS pour annoncer ses imprimantes par

exemple - qui est utilisé par la machine cible pour annoncer sur le réseau la liste des ressources

Schéma tiré : de « iSCSI Protocol Concepts and implementation » White paper

Page 10: ISCSI.v2.0

Comprendre ISCSI

10

disponibles. L’initiateur peut aussi émettre une requête SLP en unicast pour récupérer ces

informations. (considéré comme mode dynamique)

3. Le mode iSNS (Internet Storage Name Service) qui est une sorte de service DNS pour le monde du

stockage. iSNS n’est pris en charge que dans les environnements Windows iSCSI 2 (peut être engagé

avec : « The iSCSI Entreprise Target Project3 » (ndlr) . iSNS offre la même fonction que le service SNS

(Simple Name Server) dans un fabric Fibre Channel – recherche, gestion et configuration automatisées

des périphériques iSCSI. Grâce à ce service, il n’est plus nécessaire de configurer manuellement

chaque système de stockage à partir de sa propre liste d’initiateurs et de cibles. (considéré comme

mode dit : iSNS)

À l’heure actuelle, seul le mode SendTargets est généralement implémenté sur Linux. Mais des projets

spécifiques basés sur Linux peuvent contenir d’autre mode de découverte, par exemple celui indiqué plus haut,

, « the Iscsi Entreprise Target » (IET) project embarque le mode iSNS.

2 Voir : Windows 2008 storage edition sur http://technet.microsoft.com/fr-fr/library/dd573323%28en-

us,WS.10%29.aspx 3 Voir : The iSCSI enterprise target project sur http://iscsitarget.sourceforge.net/

Page 11: ISCSI.v2.0

Comprendre ISCSI

11

Conclusion ISCSI est une alternative intéressante à fibre channel, cela permet d’accéder au monde SAN avec des budgets

plus modestes, mais toutefois, des performances qui le seront également.

Iscsi est orienté réseau est dans bien des cas une alternative intéressante au NAS, certains produits libre

orienté NAS permettent notamment d’être exploité selon cette orientation SAN, c’est le cas de Freenas basé

sur une FreeBSD.

Cette solution peut être, notamment pour les PME une alternative très intéressante à l’intégration d’un serveur

samba dans un domaine, la configuration sera largement simplifiée et il sera aisé d’augmenter les

performances d’accès en créant le SAN entre des interfaces dédiées du serveur et les interfaces du matériel

faisant tourner la cible.

Cela permettra, outre une mise en œuvre simplifiée, d’avoir une logique unique de gestion des disques, ceux

de la cible se gérant comme les autres disques locaux du serveur.

Toutefois, pas de miracle, si le protocole offre de meilleures performances de lecture écriture de par sa

caractéristique « mode bloc », si votre connexion est limitée au travers du cloud, il y aura un gain, mais le

problème restera la connexion.

Un des avantages où la comparaison avec Fibre Channel n’était pas possible jusqu’en 2004, était la capacité

offerte, d’exploiter du stockage en mode bloc au travers de WAN et d’internet. Un critère à retenir à l’heure du

« cloud ».

Pourtant Fibre Channel offre maintenant une alternative permettant de concurrencer iSCSI, il s’agit de FCI

(Fibre Channel over IP), également appelé « Fibre Channel tunneling » ou encore « storage tunneling » à l’instar

d’iSCSI, FCIP traduit les données et codes de contrôle Fibre Channel en des paquets IP permettant ainsi la

transmissions entre SANs Fibre Channel géographiquement distant.

Toutefois un point prétéritant est le fait que cela ne sera engageable que sur une infrastructure FC et non pas

sur d’autres réseaux existants.

Ce qui reste un positif du côté d’iSCSI est son prix avantageux ainsi que les possibilités open sources de

l’engager quand bien même le budget serait modeste.

Les deux concurrents permettent de meilleures performances qu’une communication standard point à point,

ainsi qu’une tolérance aux pannes.

Sources http://www.linux-france.org

http://wikipedia.com

http://www.nexenta.com/corp/index.php?option=com_content&task=view&id=176&Itemid=119

RFC 3720 - Internet Small Computer Systems Interface (iSCSI)

RFC 3721 - Internet Small Computer Systems Interface (iSCSI), Naming and discovery

RFC 3821 - Fibre Channel Over TCP/IP (FCIP)

iSCSI Protocol Concepts and Implementation CISCO SYSTEMS white paper

iSCSI CISCO SYSTEMS white paper

Linux Magazine 97, Le support du protocole iSCSI dans Linux