Iscsi

De Wiki doc

Révision datée du 11 janvier 2017 à 14:54 par Ycharbi (discussion | contributions) (Page créée avec « Category:service_partage Le protocole ISCSI permet de partager un disque dur (sous forme physique ou logique) sur le réseau en transportant les commandes SCSI dans de... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Le protocole ISCSI permet de partager un disque dur (sous forme physique ou logique) sur le réseau en transportant les commandes SCSI dans des paquets IP. On peut ce servir d'un disque partagé via ISCSI pour démarrer un système depuis le réseau, faire des test ou simplement ajouter un périphérique de stockage sur sa machine.

Dans ce tuto, nous verrons :

  • La mise en place d'un serveur ISCSI
  • La mise en place d'un client ISCSI

Pré-requis :

  • Debian 8
  • un périphérique de type bloc (disque dur, SSD , clé USB, fichier image disque...) à partager

Port utilisé :

  • 3260/tcp


Partie serveur

Seul la mise en place d'un partage logique (un fichier créé avec dd) sera expliqué, la procédure avec un vrai disque n'étant pas fondamentalement différente.

Installation des paquets

# apt update && apt install iscsitarget

Création d'un fichier disque

Création du volume à partager sous forme de fichier à l'aide de dd

# dd if=/dev/zero of=fs.iscsi.disk bs=1M count=10000

On peut mettre ce fichier de 10Go dans un répertoire pour pas que ça soit le foutoir

# mkdir /root/iscsi && mv fs.iscsi.disk !$

Partage du disque sur le réseau

# vim /etc/iet/ietd.conf

Ajouter ceci

 Target iqn.2017-01:fs.iscsi.disk
	 Lun 0 Path=/root/iscsi/fs.iscsi.disk,Type=fileio

Si on partage une partition de disque dur physique, mettre ça

 Target iqn.2010-01:sdb2
	 Lun 0 Path=/dev/sdb2,Type=fileio

Activation du service

# vim /etc/default/iscsitarget
ISCSITARGET_ENABLE=true

Redémarrer le service

# /etc/init.d/iscsitarget restart

Afficher le contenu du partage

# cat /proc/net/iet/volume

la commande devrait renvoyer ceci

 tid:1 name:iqn.2010-01:sdb2
	 lun:0 state:0 iotype:fileio iomode:wt path:/root/iscsi/fs.iscsi.disk

Partie client

Installation des paquets

# apt install open-iscsi

Lister les volume en partage sur une IP donnée

# iscsiadm -m discovery -t sendtargets -p IP_DU_SERVEUR

Le résultat de la commande doit être celui-ci :

IP_DU_SERVEUR:3260,1 iqn.2010-01:fs.iscsi.disk

Connexion au volume

# iscsiadm -m node -T iqn.2010-01:fs.iscsi.disk -p IP_DU_SERVEUR --login

La commande doit renvoyer ceci :

Logging in to [iface: default, target: iqn.2010-01:fs.iscsi.disk, portal: IP_DU_SERVEUR,3260] (multiple)
Login to [iface: default, target: iqn.2010-01:fs.iscsi.disk, portal: IP_DU_SERVEUR,3260] successful

Le log /var/log/messages indique qu'un nouveau disque a été détecté et donne son nom (sur ma VM qui a comme disque principal vda, le volume ISCSI s'appel sda. Il y a des chances pour que sur une machine physique ce soit sdb...)

Il suffit maintenant de créer une table de partition, une partition avec un formatage et de monter cette partition comme s'il s'agissait d'un vrai disque dur, comme expliqué dans notre documentation sur le partitionnement d'un disque dur sous Linux.

Démonter le volume

# iscsiadm -m node -T iqn.2010-01:fs.iscsi.disk -p IP_DU_SERVEUR --logout

Source

http://blog.inforeseau.com/2011/01/configurer-iscsi-client-serveur-sous-gnulinux-stockage-reseau-ou-san-personnel-sur-ip