Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
iscsi [Le 05/02/2013, 15:01] – [Script automatique pour PC diskless (PXE boot en Live)] Maisondoufiscsi [Le 16/09/2026, 16:06] (Version actuelle) – déplacemenet explication depuis la page /partage | ne pas rayer, supprimer, merci ! | suppr scripts non maintenus HS sur un wiki krodelabestiole
Ligne 1: Ligne 1:
-{{tag> matériel réseau}} +{{tag>partage matériel réseau}} 
-----+
 ====== ISCSI ====== ====== ISCSI ======
  
 <note important>Cette configuration a été effectuée sous un serveur local disposant d'[[:Precise|ubuntu 12.04.1 LTS]], il se peut qu'elle diffère pour des versions antérieures</note> <note important>Cette configuration a été effectuée sous un serveur local disposant d'[[:Precise|ubuntu 12.04.1 LTS]], il se peut qu'elle diffère pour des versions antérieures</note>
 +
 +**[[:ISCSI]]**, développé par IBM, permet le partage de volumes physiques (disques, partitions) ou virtuels (image disque créée avec l'outil ''[[man>dd]]'') d'un serveur vers un poste client\_; c'est ensuite au poste client de prendre en charge le formatage et la gestion du disque physique ou virtuel, tel un simple disque SCSI branché directement sur la machine cliente. Cette technique a l'avantage de soulager un serveur et offre de meilleurs débits que **SMB** et **NFS**, et permet d'outrepasser les DRM de certaines applications [[wpfr>logiciel propriétaire|propriétaires]] interdisant leur exécution sur un disque réseau. Néanmoins, leur utilisation est exclusive (un disque ne peut être connecté qu'à un client à la fois), et vous perdrez le bénéfice qu'accordent les [[:système de fichiers|systèmes de fichiers]] [[:ext4]] et [[:Btrfs]] sur un partage **[[:SMB]]** ou **[[:NFS]]**, si vous formatez le disque partagé au travers du protocole ISCSI, en NTFS ou FAT32 (nécessaire pour [[:Steam]] sous Windows, par exemple, qui rencontre des problèmes avec **SMB** et **NFS**.)
  
 Un SAN, qu'est ce que c'est ? :-P Un SAN, qu'est ce que c'est ? :-P
Ligne 19: Ligne 21:
 ===== Configuration du serveur et de ses disques ===== ===== Configuration du serveur et de ses disques =====
  
-La configuration est également assez simple une fois le concept saisi, deux choix s'offrent à vous, dédier un disque complet à l'utilisation de ISCSI pour un partage réseau en dur, ou bien dédier un espace choisit via la création d'un fichier image d'un disque dur.+La configuration est également assez simple une fois le concept saisi, deux choix s'offrent à vous, dédier un disque complet à l'utilisation de ISCSI pour un partage réseau en dur, ou bien dédier un espace choisi via la création d'un fichier image d'un disque dur.
  
 ==== Installation du service ==== ==== Installation du service ====
Ligne 30: Ligne 32:
 ==== Cas d'un disque émulé ==== ==== Cas d'un disque émulé ====
  
-Voici la commande nécessaire à la création d'un disque virtuel de 40Go, vous devrez modifier fs.iscsi.disk par le chemin et le nom du fichier que vous aurez choisit, et la valeur 40000 correspondra à la taille du disque choisit.+Voici la commande nécessaire à la création d'un disque virtuel de 40Go, vous devrez modifier fs.iscsi.disk par le chemin et le nom du fichier que vous aurez choisi, et la valeur 40000 correspondra à la taille du disque choisie.
  
 <code>dd if=/dev/zero of=fs.iscsi.disk bs=1M count=40000</code> <code>dd if=/dev/zero of=fs.iscsi.disk bs=1M count=40000</code>
Ligne 85: Ligne 87:
 <code>sudo iscsiadm --mode node --targetname steam:fs.iscsi.steam \ --portal 192.168.0.1 --login</code> <code>sudo iscsiadm --mode node --targetname steam:fs.iscsi.steam \ --portal 192.168.0.1 --login</code>
  
-Si l'opération s'est bien déroulée, toujours avec l'exemple du disque virtuel dédié à Steam,  s'affiche alors quelque chose comme : +Si l'opération s'est bien déroulée, toujours avec l'exemple du disque virtuel dédié à Steam,  s'affiche alors quelque chose comme :
 <code>Logging in to [iface: default, target: steam:fs.iscsi.steam, portal: 192.168.0.1,3260] (multiple)</code> <code>Logging in to [iface: default, target: steam:fs.iscsi.steam, portal: 192.168.0.1,3260] (multiple)</code>
  
 Remarquez le jeu de mot... (Steam/Valve/Portal ! m( ) Remarquez le jeu de mot... (Steam/Valve/Portal ! m( )
  
-Voilà, votre disque virtuel distant SCSI est monté sur votre machine cliente Linux !+Voilà, votre disque virtuel distant SCSI est disponible en tant que périphérique (dans /dev) sur votre machine cliente Linux !
  
-==== Script automatique pour PC diskless (PXE boot en Live) ==== +==== Montage automatique au démarrage ====
-Lors d'un démarrage en mode [[:netboot_live|Netboot Live]], votre PC client est totalement dénudé.\\ +
-Afin de réaliser l'installation de 'open-iscsi', d'interroger le serveur et de pouvoir choisir le disque à connecter, ce scripte vous permettra d'établir ou de libérer la connexion au disque iSCSI. +
-<code>#! /bin/sh +
-# gestion automatique iSCSI+
  
-if [ x$1 = x ]; 
-then 
-  echo "You have to give the server (IP or URL) or -u to disconnect disks" 
-  exit 
-fi 
- 
-installed=`dpkg -l "open-iscsi*" | grep ii | cut -d ' ' -f 1` 
-if [ "x$installed" = "x" ]; 
-then 
-   apt-get install -y open-iscsi open-iscsi-utils 
-fi 
- 
-if [ "$1" != "-u" ]; 
-then 
-  info=`iscsiadm --mode discovery --type sendtargets --portal $1` 
-  pos=2 
-  while [ 1 ]; 
-  do 
-    volume=`echo $info | cut -d ' ' -f $pos` 
-    if [ "$volume" = "" ]; then break;fi 
-    echo "`expr $pos / 2` - $volume" 
-    pos=`expr $pos + 2` 
-  done 
-  echo -n "\nChoose the disk number : "; read n 
- 
-  bon=`echo "123456789" | grep $n` 
-  if [ "$bon" = "" ]; then echo "Error, you do type a number"; exit;fi 
-  n=`expr $n + $n` 
-  if [ $n -ge $pos ]; then echo "Error, bad disks number"; exit;fi 
-  disk=`echo $info | cut -d ' ' -f $n` 
-  session=`iscsiadm -m session | grep $disk` 
-  if [ "$session" != "" ]; then echo "Error, iSCSI disk already connected"; exit;fi 
- 
-  iscsiadm --mode node --targetname $disk \ --portal $1 --login 
-  iscsiadm -m session 
-else 
-  sion=`iscsiadm -m session` 
-  if [ "$sion" = "" ]; then exit;fi 
-  sion=`iscsiadm -m session | cut -d ' ' -f 4` 
-  pos=1 
-  for i in $sion; 
-  do  
-     echo "$pos - $i" 
-     pos=`expr $pos + 1` 
-  done 
-  echo -n "\nChoose the disk number : "; read n 
-  bon=`echo "123456789" | grep $n` 
-  if [ "$bon" = "" ]; then echo "Error, you do type a number"; exit;fi 
-  if [ $n -ge $pos ]; then echo "Error, bad disks number"; exit;fi 
- 
-  name=`echo $sion | cut -d ' ' -f $n` 
-  iscsiadm -m node -u -T $name 
-fi 
-</code> 
- 
-La syntaxe de lancement est très simple :  
-  * <code>sudo <SCRIPT> <IP_DU_SERVEUR></code> pour connecter un disque 
-  * <code>sudo <SCRIPT> -u </code>pour déconnecter un disque 
- 
- 
-==== Montage automatique au démarrage ==== 
 Si vous voulez que les disques distants soient automatiquement montés au démarrage de votre système, il faut [[:tutoriel:comment_modifier_un_fichier|éditer avec les droits d'administration]] le fichier **/etc/iscsi/iscsid.conf** et dé-commenter ((enlever le dièse "#")) Si vous voulez que les disques distants soient automatiquement montés au démarrage de votre système, il faut [[:tutoriel:comment_modifier_un_fichier|éditer avec les droits d'administration]] le fichier **/etc/iscsi/iscsid.conf** et dé-commenter ((enlever le dièse "#"))
 <file>node.startup = automatic</file> <file>node.startup = automatic</file>
Ligne 169: Ligne 106:
  
 ---- ----
-//Contributeurs:FIXME//+//[[:Contributeurs]] : billou, Maisondouf.//