Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

La technologie iSCSI sous Linux et Windows Server.

Par Guillaume DI FRANCESCO Publié le 14/04/2016 à 11:08:18 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Dans le cadre d'une infrastructure étendue, la présence d'espace de stockage disponible sur n'importe quel machine peut être bénéfique, que ce soit pour des machines virtuelles, pour des serveurs ou des machines clientes.

Le but de cet article est de voir, dans un premier temps, comment le protocole iSCSI se configure en tant que target sur une première machine et, dans un second temps, comment y accéder depuis une seconde machine. Nous reproduirons cette configuration, d'une part, sur une première infrastructure Linux (CentOS 7) et, d'autre part, sur une seconde sous Windows Server 2012 R2.

Deux machines seront donc utilisées. L'une servira de target iSCSI avec une adresse IP en 192.168.1.10, l'autre sera un initiator adressé en 192.168.1.20. Ces adressages valent pour les deux technologies utilisées.

Target iSCSI - Linux.

Avant de commencer la configuration de notre target, deux pré-requis doivent être respectés. Dans un premier temps, l'installation des paquets nécessaires à la définition de la target SCSI. Ici, nous installerons donc le paquet scsi-target-utils.

[[email protected] ~]# yum install scsi-target-utils

Dans un second temps, le service gérant notre target iSCSI doit être démarré. Ceci se fait via la commande suivante :

[[email protected] ~]# service tgtd start
Démarrage de SCSI target deamon :                                [  OK  ]

Notons que nous pouvons dès à présent autoriser le démarrage du démon iSCSI dès l'ouverture de la machine en utilisant les commandes suivantes :

sudo /sbin/chkconfig --add tgtd
sudo /sbin/chkconfig tgtd on

Ces deux prérequis étant fait, nous pouvons démarrer la configuration de notre machine. Pour ce faire, nous allons devoir créer un fichier targets.conf dans le dossier /etc/tgt.

[[email protected] ~]# cd /etc/tgt/
[[email protected] tgt]#touch targets.conf

Ensuite, nous allons devoir spécifier les caractéristiques de notre stockage iSCSI à l'intérieur de ce fichier de configuration.

[[email protected] tgt]#nano /etc/tgt/targets.conf

<target iqn.2015-11-com.supinfo:sdb1>
    backing-store /dev/sdb1
    initiator-address 192.168.1.20
    incominguser supinfo sup_password
</target>

Analysons le fichier de configuration précédent :

  • Le nom du partage est un iSCSI Qualified Name (IQN). Celui-ci se présente sous la forme "iqn.yyyy-mm.domain:storage" où l'on peut retrouver :

    • yyyy : L'année de création de l'iSCSI.

    • mm : Le mois de création de l'iSCSI.

    • domain : Le nom de domaine à l'envers. Par exemple, pour le domaine "supinfo.com", il faudra entrer "com.supinfo".

    • storage : Le nom de l'espace de stockage utilisé.

  • Le point de stockage est la partition sdb1. C'est la partition du disque qui va héberger les données du stockage iSCSI.

  • Le paramètre initiator-address permet de spécifier si tout les initiators auront le droit de se connecter à notre target. Dans le cas contraire, nous pouvons spécifier une adresse IP précise pour autoriser un simple initiator à entrer en contact avec notre machine.

  • Incominguser permet de spécifier quel compte utilisateur peut décider de joindre cet iSCSI.

Ainsi, notre partage se nomme "iqn.2015-11-com.supinfo:sdb1", pointe vers la partition sdb1, accepte un unique initiator ayant l'adresse ip 192.168.1.20 et utilisant le compte supinfo.

Une fois ce fichier de configuration terminé, une redémarrage du service est nécessaire :

[[email protected] ~]# service tgtd start

Nous pouvons vérifier la présence et le fonctionnement de notre iSCSI en utilisant la commande suivante :

[[email protected] ~]# tgt-admin -s
Target 1: iqn.2015-11-com.supinfo:sdb1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET    00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing stor flags:
        LUN: 1
            Type: disk
            SCSI ID: IET    00010001
            SCSI SN: beaf11
            Size: 8587 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb1
            Backing store flags:
    Account information:
    supinfo
    ACL information:
    192.168.1.20

Ainsi, par le résultat de cette commande, nous pouvons voir que notre partage iSCSI est représenté par le LUN 1 (Logical Unit Number) et qu'il est en ligne, ce qui signifie qu'il est prêt à être utilisé.

Initiator iSCSI - Linux.

Maintenant que le partage iSCSI est crée, nous pouvons essayer de nous connecter dessus via notre initiator. Notons que les prérequis sont identiques aux précédents.

[[email protected] ~]# yum install iscsi-initiator-utils

A l'instar de la target iSCSI, un fichier de configuration est à modifier; celui-ci se trouve dans le dossier /etc/iscsi/iscsid.conf.

[[email protected] ~]# nano /etc/iscsi/iscsid.conf

node.session.auth.authmethod = CHAP

node session.auth.username = supinfo
node session.auth.password = password

node.startup = automatic

Ce fichier de configuration, assez simple, indique que la méthode d'authentification utilisée par l'initiator sera en CHAP (Challenge-Handshake Authentication Protocol). Par ailleurs, conformément à la configuration précédente de la target, nous avons inséré le nom ainsi que le mot de passe de l'utilisateur pouvant se connecter au partage iSCSI.

Précions que le paramètre "node.startup" sert uniquement à attacher automatiquement la target iSCSI dès qu'elle est disponible. Nous l'avons donc ajouté par commodité.

Désormais, il est temps d'essayer de contacter le-dit partage. Ainsi, nous allons utiliser la commande iscsiadm en indiquant l'adresse IP de notre partage.

[[email protected] ~]# iscsiadm -m discovery -t st -p 192.168.1.10
192.168.1.10, iqn.2015.11-com.supinfo:sdb1

Une fois cette découverte faite, nous pouvons essayer de nous connecter au partage. Nous allons réutiliser la commande iscsiadm en précisant le nom de notre target et son adresse IP.

[[email protected] ~]# iscsiadm -m node --login

Logging in to [iface: default, target: iqn.2015-11-com.supinfo:sdb1; portal: 192.168.1.10,3260] (multiple)
Login to [iface: default, target: iqn.2015-11-com.supinfo:sdb1; portal: 192.168.1.10,3260] successful.

Une petite vérification de cette nouvelle connexion peut d'ailleurs être lancée toujours via la commande iscsiadm.

[[email protected] ~]# iscsiadm -m session -o show
tcp: [5] 192.168.1.10:3260,1 iqn.2015-11-com.supinfo:sdb1

Si le résultat de cette commande affiche l'adresse IP ainsi que l'IQN du partage, celui-ci est donc accessible et opérationnel. Il ne reste plus qu'à déterminer où se situe cette nouvelle partition en utilisant la commande cat /proc/partitions.

[[email protected] ~]# cat /proc/partitions
major minor  #blocks  name

   8        0   11672736 sda
   8        1     512000 sda1
   8        2   11159552 sda2
   8       16    8388608 sdb
 253        0    9994240 dm-0
 253        1    1163264 dm-1

Par la commande suivante, nous voyons donc que notre partition iSCSI est bien listé parmi les autres partitions.

Target iSCSI - Windows Server 2012.

Considérons désormais une machine tournant sous Windows Server 2012 R2. Afin de créer notre target iSCSI, dirigeons nous vers la MMC (Microsoft Management Console) et ajoutons un nouveau rôle à notre serveur.

Figure 1. 


Nous désirons ajouter un rôle simple, nous sélectionnons donc la première option.

Figure 2. 


Nous sélectionnons notre serveur.

Figure 3. 


Nous souhaitons installer les services permettant de gérer notre target iSCSI. Pour cela, nous installerons les rôles suivants :

  • File Server.

  • iSCSI Target Server.

  • iSCSI Target Storage Provider.

Figure 4. 


Différentes fonctionnalités sont nécessaires pour le fonctionnement de l'iSCSI ; nous laisserons les configurations par défaut ici.

Figure 5. 


Bref récapitulatif des configurations précédentes.

Figure 6. 


L'installation est maintenant terminée, nous allons pouvoir commencer la configuration de notre espace réseau. Ainsi, toujours dans la MMC, un onglet iSCSI est désormais accessible.

Figure 7. 


Un nouvel utilitaire s'ouvre dans lequel nous allons pouvoir définir les paramètres de base de notre iSCSI.

Commençons pas l'emplacement de celui-ci. Ici, nous allons utiliser le disque E: pour stocker nos données.

Figure 8. 


Nous lui attribuons un nom...

Figure 9. 


... et une taille. Trois choix s'offrent à nous :

  • Taille fixe : La taille du disque virtuel est fixe et ne pourra être changée ultérieurement. Ce type de disque fournit de meilleures performances sur les applications les plus gourmandes en activité de disque.

  • Dynamiquement alloué : Contrairement au premier type, celui-ci convient à des applications plus standards.

  • Différentiel : Correspond à un schéma ou un disque master est assigné à notre partage iSCSI. Ainsi, tout les changement apportés à notre disque master seront stockés sur notre partage, permettant de revenir plus facilement à un état antérieur.

Dans notre cas, nous choisirons un disque à taille fixe.

Figure 10. 


Nous donnons un nom à notre target.

Figure 11. 


Désormais, nous allons devoir choisir quelles machines vont être autorisés à accéder à ce partage.

Figure 12. 


Ici, nous allons spécifier le nom de notre Initiator que nous créerons dans la prochaine section. Plusieurs méthodes de connexions sont disponibles, nous utiliserons ici celle ne nécessitant que l'IQN de notre partage.

Figure 13. 


De même que sous Linux, nous allons ajouter une sécurité à notre partage en implémentant un système de mot de passe.

Figure 14. 


L'installation se déroule et se termine.

Figure 15. 


Une fois l'installation terminée, nous pouvons voir plusieurs informations ainsi que le statut de notre partage.

Figure 16. 


Notre partage iSCSI est maintenant créé! Il est temps de se connecter à lui depuis notre seconde machine.

Initiator iSCSI - Windows Server 2012.

Configurons maintenant notre initiator. Pour cela, nous devons passer par l'onglet "Outils" du MMC de notre second serveur Windows 2012 R2.

Figure 17. 


Dans l'onglet configuration de l'initiateur iSCSI, nous allons, dans un premier temps, renseigner le nom de notre initiator et, dans un second temps, les identifiants de connexion.

Figure 18. 


Une fois ces configurations faites, nous pouvons donc tenter une connexion à notre target. Pour cela, rentrons l'adresse IP de notre target (192.168.1.10) et cliquons sur "Quick connect"; l'IQN de celle-ci sera affiché dans la liste juste en dessous.

Figure 19. Spécification de l'addresse IP.

Spécification de l'addresse IP.

Figure 20. Vérification de la connexion.

Vérification de la connexion.

Une fois la connexion établie, retournons dans la MMC, dans l'onglet "Disk". Nous pouvons voir que le partage iSCSI est maintenant affiché.

Figure 21. 


Afin d'utiliser le partage, nous allons mettre celui-ci en ligne en effectuant un clic-droit.

Figure 22. 


La création d'un nouveau volume est nécessaire afin de pouvoir utiliser notre partage.

Figure 23. 


De la même manière que lors de la création de la target, nous allons devoir renseigner plusieurs informations :

Figure 24. Sélection du serveur et du disque de stockage.

Sélection du serveur et du disque de stockage.

Figure 25. Volume de notre disque iSCSI; ici l'ensemble du disque.

Volume de notre disque iSCSI; ici l'ensemble du disque.

Figure 26. Lettre d'accès au partage.

Lettre d'accès au partage.

Figure 27. Définition du système de fichier.

Définition du système de fichier.

Figure 28. Vérification des paramètres.

Vérification des paramètres.

Suite à ces configurations, nous pouvons remarquer que notre partage iSCSI est directement accessible depuis l'explorateur Windows.

Figure 29. 


Ainsi, la configuration de notre partage iSCSI sur notre seconde machine est terminée.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels