Le SCSI est une connectique utilisée pour brancher des disques durs SCSI dans un serveur.
Pour ce qui est du iSCSI, il s'agit d'émuler le SCSI via le réseau TCP/IP. Le iSCSI permet donc d'utiliser un disque dur via le réseau comme s'il s'agissait d'un vrai disque dur.
Avant de commencer, vous devez définir une adresse IP sur la machine où vous installerez le serveur iSCSI pour ne pas que l'IP change automatiquement.
Pour cela, référez-vous à un de ces tutoriels : Debian - Définir une adresse IP privée statique ou Ubuntu - Définir une adresse IP privée statique
Pour installer un serveur iSCSI, vous devrez installer les paquets :
- iscsitarget : les outils pour gérer le serveur iSCSI
- iscsitarget-dkms : son noyau (kernel)
Bash
apt-get install iscsitarget iscsitarget-dkms
Pendant l'installation, vous verrez cette ligne s'afficher :
Plain Text
[....] iscsitarget not enabled in "/etc/default/iscsitarget", not starting... ..[ (warning).
Une fois l'installation terminée, activez le serveur iSCSI en passant la variable "ISCSITARGET_ENABLE" à true.
Bash
vim /etc/default/iscsitarget
Plain Text
ISCSITARGET_ENABLE=true
Grâce à iscsitarget, vous pourrez partager :
- des disques durs : /dev/sd*
- des partitions : /dev/sd**
- des volumes LVM : /dev/vg*/my_lv
- des volumes RAID : /dev/md*
Dans notre cas, nous allons partager un volume LVM.
Si vous ne savez pas comment créer un volume logique en LVM, consultez notre tutoriel "Installer et utiliser le LVM sous Linux" et arrêtez-vous à la fin du point 2.4 du tuto.
La configuration des partages iSCSI doit être indiquée dans le fichier : /etc/iet/ietd.conf
Bash
vim /etc/iet/ietd.conf
Dans ce fichier, vous trouverez de nombreux commentaires, ainsi que des exemples qui sont commentés par défaut.
Dans ce tutoriel, nous allons créer un simple partage iSCSI à partir d'un volume logique créé en LVM.
Notez que le volume logique à partager via iSCSI ne doit pas être monté.
Si il est déjà monté, utilisez la commande "umount" pour le démonter.
Pour créer un simple partage iSCSI, vous devrez indiquer :
- un Target : il s'agit de l'identifiant iSCSI du partage.
La norme RFC 3720 du iSCSI indique qu'il est préférable d'utiliser la syntaxe : Target iqn.yyyy-mm.<reversed domain name>[:identifier]
yyyy-mm : correspond à la date de création du partage iSCSI.
<reversed domain name> : correspond à votre nom de domaine, mais inversé. (Vous pouvez l'inventer si vous le souhaitez)
[:identifier] : correspond au nom du partage iSCSI.
- IncomingUser : les identifiants de connexion au partage iSCSI. Il s'agit de l'authentification CHAP.
- Lun : il s'agit des informations concernant le volume à partager. Chemin + type de partage.
Dans notre cas, nous allons ajouter ce partage iSCSI :
Plain Text
Target iqn.2016-09.lan.informatiweb:mon_partage IncomingUser informatiweb my_password Lun 0 Path=/dev/iwvg/iw_vol1,Type=fileio
Ensuite, redémarrez le serveur iSCSI en tapant cette commande :
Bash
/etc/init.d/iscsitarget restart
Pour vérifiez que vos partages sont configurés correctement, vous pouvez utiliser la commande :
Bash
cat /proc/net/iet/volume
Si vous obtenez un résultat similaire à ceci, c'est que votre configuration est bonne.
Plain Text
tid:1 name:iqn.2016-09.lan.informatiweb:mon_partage lun:0 state:0 iotype:fileio iomode:wt blocks:104652800 blocksize:512 path:/dev/iwvg/iw_vol1
Avant de commencer, nous vous recommandons de définir une adresse IP statique pour la machine sur laquelle vous installerez le client iSCSI.
En effet, dans le cas contraire, la connexion au serveur iSCSI risque de ne pas s'effectuer correctement. Ce qui provoquera aussi une erreur pour le montage des partages iSCSI au démarrage via fstab.
Pour installer un client iSCSI, vous devez installer le paquet open-iscsi.
Bash
apt-get install open-iscsi
Par défaut, le client iSCSI ne démarrera pas automatiquement.
Pour que celui-ci démarre automatiquement, vous devez modifier la ligne "node.startup" du fichier "/etc/iscsi/iscsid.conf".
Bash
vim /etc/iscsi/iscsid.conf
Changez la ligne "node.startup" comme ceci :
Plain Text
node.startup = automatic
Puis, redémarrez le service.
Bash
/etc/init.d/open-iscsi restart
Si le serveur iSCSI nécessite une authentification "CHAP", vous devrez modifier le fichier "/etc/iscsi/iscsid.conf" pour que votre client iSCSI puisse se connecter aux partages ISCSI de votre serveur.
Notez que vous trouverez de nombreux commentaires intéressants dans ce fichier.
Bash
vim /etc/iscsi/iscsid.conf
Dans ce fichier, ajoutez ceci :
Plain Text
node.session.auth.authmethod = CHAP node.session.auth.username = informatiweb node.session.auth.password = my_password discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = informatiweb discovery.sendtargets.auth.password = my_password
Ensuite, pour détecter les partages disponibles sur votre serveur iSCSI, utilisez la commande : iscsiadm.
Note : 10.0.0.10 correspond à l'adresse IP de notre serveur iSCSI.
Bash
iscsiadm -m discovery -t st -p 10.0.0.10
Cette commande vous affichera un résultat similaire à ceci :
Plain Text
10.0.0.10:3260,1 iqn.2016-09.lan.informatiweb:mon_partage
Notez que l'exécution de la commande "iscsiadm -m discovery ..." aura généré un fichier "iqn.../default" dans le dossier "/etc/iscsi/nodes/".
Dans ce fichier, vous trouverez toute la configuration pour cet iqn.
La configuration présente dans ce fichier a été copiée depuis le fichier "iscsid.conf" lors de l'exécution de la commande discovery.
Il est donc important de configurer le fichier "iscsid.conf" AVANT de lancer le discovery.
Ensuite, redémarrez votre client iSCSI.
Bash
/etc/init.d/open-iscsi restart
Si vous trouvez une ligne similaire à celle-ci, c'est que votre configuration est bonne :
Plain Text
Login to [iface: default, target: iqn.2016-09.lan.informatiweb:mon_partage, portal: 10.0.0.10,3260] successful.
Une fois connecté au serveur iSCSI, un nouveau disque dur sera disponible.
Pour le retrouver, vous pouvez utiliser la commande :
Bash
iscsiadm -m session -P 3
Cette commande vous affichera des informations concernant les sessions iSCSI établies et notamment ceci :
Plain Text
Target: iqn.2016-09.lan.informatiweb:mon_partage ... ***** CHAP: ***** username: informatiweb password: ******** username_in: <empty> password_in: ******** ... ************************ Attached SCSI devices: ************************ Host Number: 12 State: running scsi12 Channel 00 Id 0 Lun: 0 Attached scsi disk sdb State: running
A la fin de ces informations, vous verrez que ce partage iSCSI sera utilisable comme un disque dur SCSI (/dev/sdb).
Plain Text
Attached scsi disk sdb State: running
Pour ce tutoriel, nous allons créer une seule partition primaire sur tout le disque grâce à fdisk.
Pour plus d'infos concernant le partitionnement d'un disque dur avec fdisk, référez-vous à notre tutoriel : Partitionner son disque dur avec fdisk.
Ensuite, pour stocker des données sur ce partage iSCSI, vous avez 2 possibilités :
- monter une partition du "disque dur" (le disque obtenu via la connexion iSCSI) dans un dossier avec la commande "mount".
- ou effectuer le montage au démarrage du système grâce à fstab.
Pour monter la 1ère partition du "disque dur" dans un dossier, utilisez ces commandes :
Bash
mkdir /mnt/my_iscsi_disk mount /dev/sdb1 /mnt/my_iscsi_disk
Pour monter automatiquement le disque dur à chaque démarrage, créez le dossier dans lequel le montage devra être effectué, puis modifiez le fichier "/etc/fstab".
Bash
mkdir /mnt/my_iscsi_disk vim /etc/fstab
Et ajouter ceci :
Plain Text
/dev/sdb1 /mnt/my_iscsi_disk ext4 _netdev 0 0
Remarquez que l'on utilise l'option "_netdev" pour que le montage s'effectue une fois que le réseau est disponible.
Maintenant, la partition "/dev/sdb1" sera montée à chaque démarrage de la machine.
Néanmoins, pour éviter de redémarrer maintenant, vous pouvez utiliser cette commande :
Plain Text
mount -a
Lorsque vous redémarrerez votre machine cliente, le montage se fera automatiquement à chaque démarrage sans problème.
Linux 21/7/2017
Linux 12/12/2014
Linux 12/3/2015
Linux 14/2/2015
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire