LINUX:ISCSI

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour à la gestion des disques

retour au menu de la Haute disponibilité


But

ISCSI est un protocole réseau qui permet d'utiliser à distance une partition de disque d'une machine "target" sur une autre machine "initiator" comme si ce disque était connecté localement.

Ce protocole est utilisé dans les SAN qui mettent à disposition un ensemble de disques durs à utiliser comme on le désire mais à distance.


Il ne faut le confondre avec les protocoles de partages de fichiers tels SMB (samba) et NFS. Un NAS est une machine qui offre des espaces de partage de fichiers.


Principe

Le protocole ISCSI travaille en mode Client-Serveur. Il est donc constitué de deux composantes:

  • Target : la machine qui met à disposition certain de ses disques
  • Initiator : la machine qui va utiliser les disques mis à disposition par le serveur

Nous allons expliquer la configuration de ces deux pièces: target et initiator.


Matériel et adressage IP

Dans notre exemple, nous utilisons deux serveurs ("target") et un client ("initiator"). Le schéma ci-dessous nous montre l'adressage IP et le nom de ces trois machines. Nous avons mis deux serveurs (target) ISCSI pour illustrer l'intérêt du terme "initiator-name" abordé ci-dessous.

LINUX:Iscsi.pdf


Serveur ou Target

Ces opérations sont à effectuer sur les deux serveurs.


Installation

Un paquet est à installer:

dnf install scsi-target-utils

Notons qu'il existe d'autres méthodes de gestion.


Préparation du disque dur

Nous avons ajouté un disque dur de 160Gb que nous nommons "/dev/sdb". Nous y faisons une seule partition de type Linux: "/dev/sdb1".


Configuration

Les fichiers de configuration se retrouvent dans le répertoire "/etc/tgt".

  • le fichier "tgtd.conf" fait référence au fichier "targets.conf" et aux fichiers de type ".conf" se trouvant dans le sous-répertoire "/etc/tgt/conf.d",
  • le fichier "targets.conf" contient les paramètres généraux.
  • Dans le sous-répertoire "/etc/tgt/conf.d", on crée le fichier, que l'on nommera "diskb.conf", contenant les paramètres permettant de mettre à disposition la partition "/dev/sdb1" aux clients ISCSI distants.

Voici son contenu:


<target iqn.2023-02.dom.home.sv2:sv2.target1>
   backing-store /dev/sdb1
   initiator-name iqn.2023-02.dom.home.sv:sv.initiator01
   incominguser diskuser epenmarron
   initiator-address 192.168.1.73
   initiator-address 192.168.1.74
</target>

Explications des options:

  • target <nom du target> : définit le nom du target sous lequel les clients ISCSI verront ce device. Normalement ce nom suit une structure de nommage: "iqn.<année>-<mois>.<nom de domaine en ordre inverse>:<intitulé personnel>"
  • backing-store <nom de device disque> : définit le nom du device disque; il peut être une partition disque ou LVM
  • initiator-name <nom de l'initiator> : définit le nom de l'initiator, sorte de groupe de targets, ayant des options, permettant à un groupe de clients ISCSI d'y accéder; la structure de ce nom suit le même principe que le nom du target
  • incominguser <nom d'utilisateur> <mot de passe> : définit les paramètres d'authentification des clients ISCSI; lors d'une connexion, le client devra fournir de nom de cet utilisateur et son mot de passe pour cet "initiator-name".
  • initiator-address <adresse IP> : définit l'adresse IP d'un client ISCSI qui peut y accéder

Il existe bon nombre d'autres options. Les trois dernières sont facultatives mais ajoute un aspect de sécurité.






retour à la gestion des disques

retour au menu de la Haute disponibilité