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édentes Révision précédente
Prochaine révision
Révision précédente
iscsi [Le 28/01/2013, 08:19]
fabux Mise en forme
iscsi [Le 06/01/2017, 11:40] (Version actuelle)
193.52.40.65 [Installation manuelle]
Ligne 19: Ligne 19:
 ===== 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 30:
 ==== 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 90: Ligne 90:
 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 ! 
 + 
 +==== 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 "#"​)) 
 +<​file>​node.startup = automatic</​file>​
  
 ==== Script automatique pour PC diskless (PXE boot en Live) ==== ==== Script automatique pour PC diskless (PXE boot en Live) ====
 Lors d'un démarrage en mode [[:​netboot_live|Netboot Live]], votre PC client est totalement dénudé.\\ 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, deux petits [[:​tutoriel:​script_shell|scripts]] sont téléchargeables directement:​ +Ce script va vous permettre ​de réaliser l'​installation de '​open-iscsi',​ d'​interroger le serveur et de pouvoir choisir le disque à connecter. 
-  * En version [[http://​home.maisondouf.fr/​download/​Linux-Tools/​iscsi_client.sh|purement terminal]].\\ FIXME Par exemple dans un [[:​terminal]] vous pouvez saisir <​code>​wget http://home.maisondouf.fr/​download/​Linux-Tools/​iscsi_client.sh</​code>​ +Il permet aussi de déconnecter ​un disque
-  * En version [[http://​home.maisondouf.fr/​download/​Linux-Tools/​iscsi_client_z.sh|graphique avec Zenity]].\\ FIXME Par exemple dans un [[:terminal]] vous pouvez saisir ​<​code>​wget http://home.maisondouf.fr/​download/​Linux-Tools/​iscsi_client_z.sh</​code>​+=== Version ​terminal ​=== 
 +<​code>​#! /bin/sh 
 +# gestion automatique iSCSI
  
-La syntaxe de lancement est très simple :  +if [ x$1 = x ]; 
-  * <​code>​sudo <​SCRIPT>​ <​IP_DU_SERVEUR></​code>​ pour connecter un disque +then 
-  ​* <​code>​sudo <​SCRIPT> ​-u </​code>​pour déconnecter un disque+  ​echo "You have to give the server (IP or URL) or -u to disconnect disks"​ 
 +  exit 
 +fi
  
-<note tip>​FIXME Si l'​un ​d'entre vous a une solution d'hébergement pour ces scripts, qu'il s'​empresse de les transférer et de changer les liens, Merci\\ +installed=`dpkg -"​open-iscsi*"​ | grep ii | cut -d ' ' ​-f 1` 
-//Et bien sur, d'apporter des améliorations si le cœur lui en dit...//</​note>​+if [ "​x$installed"​ = "​x"​ ]; 
 +then 
 +   ​apt-get install -open-iscsi open-iscsi-utils 
 +fi
  
-==== Montage automatique au démarrage ==== +if [ "​$1"​ !"​-u"​ ]; 
-Si vous voulez que les disques distants soient automatiquement montés au démarrage de votre systèmeil 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 ​"#")) +then 
-<​file>​node.startup ​automatic</​file>​+  info=`iscsiadm --mode discovery --type sendtargets --portal $1` 
 +  pos=
 +  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 "Erroryou 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>​
 +
 +
 +
 +Copier tout ce code dans un fichier, la syntaxe de lancement est très simple : 
 +  * <​code>​sudo sh <​SCRIPT>​ <​IP_DU_SERVEUR></​code>​ pour connecter un disque
 +  * <​code>​sudo sh <​SCRIPT>​ -u </​code>​pour déconnecter un disque
 +
 +=== version avec interface graphique ===
 +
 +<​code>#​! /bin/sh
 +# gestion automatique iSCSI
 +
 +installed=`dpkg -l "​open-iscsi*"​ | grep ii | cut -d ' ' -f 1`
 +
 +if [ "​x$installed"​ = "​x"​ ];
 +then
 +  zenity --question --title "​Manager not here" --text="​open-iscsi is not installed\nWould you proceed to this now ?"
 +  if [ $? = 0 ]
 +  then
 +    apt-get install -y open-iscsi open-iscsi-utils
 +  else
 +    echo "​Operation aborted"​
 +  fi
 +  exit
 +fi
 +
 +if [ x$1 = x ];
 +then
 +  zenity --error --title "​Syntax"​ --text="​You have to give the server (IP or URL)\n or -u to disconnect disks"
 +  exit
 +fi
 +
 +if [ "​$1"​ != "​-u"​ ];
 +then
 +  info=`iscsiadm --mode discovery --type sendtargets --portal $1`
 +  pos=2
 +  liste=""​
 +  while [ 1 ];
 +  do
 +    volume=`echo $info | cut -d ' ' -f $pos`
 +    if [ "​$volume"​ = ""​ ]; then break;fi
 +    list=`echo "$list $volume"​`
 +    pos=`expr $pos + 2`
 +  done
 +  ​
 +  disk=`zenity --list --title "​Choose an iSCSI disk" --column="​Target"​ $list`
 +  if [ $? != 0 ]; then exit; fi
 +
 +  session=`iscsiadm -m session | grep $disk`
 +  if [ "​$session"​ != ""​ ]; then zenity --error --title "​Error"​ --text="​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 zenity --error --title "​Error"​ --text="​No connected disk";​exit;​fi
 +  sion=`iscsiadm -m session | cut -d ' ' -f 4`
 +
 +  name=`zenity --list --title "​Choose an iSCSI disk" --column="​Target"​ $sion`
 +  if [ $? != 0 ]; then exit; fi
 +
 +  iscsiadm -m node -u -T $name
 +fi
 +</​code>​
 +Sauvegardez ce scripte dans un fichier par exemple "​iscsi-ctrl",​ rendez le exécutable et lancez le via '​sudo'​
 +<​code>​chmod +x iscsi-ctrl
 +sudo ./​iscsi-ctrl</​code>​
 ===== Poste client Windows ===== ===== Poste client Windows =====
  
Ligne 114: Ligne 229:
  
 À noter qu'il y a eu des régressions entre Windows 7 et Windows 8, par exemple sous Windows 7 pro, il était possible de configurer sans problème le partage de fichiers via NFS, ce qui est absent de Windows 8 pro, et présent uniquement dans la version Entreprise. À noter qu'il y a eu des régressions entre Windows 7 et Windows 8, par exemple sous Windows 7 pro, il était possible de configurer sans problème le partage de fichiers via NFS, ce qui est absent de Windows 8 pro, et présent uniquement dans la version Entreprise.
 +
 +<​del>​Il est nécessaire d'​avoir au minimum la version Business (ou Enterprise) pour Windows 7 également.</​del>​
 +
 +C'est totalement faux, on peut bien effectuer la manip sans soucis sur Windows 7 pro, dans les composants logiciels !
  
 ---- ----
-//​Contributeurs:​FIXME//+//​Contributeurs:​billou// 
 +//​Contributeurs:​Maisondouf//​ 
  • iscsi.1359357545.txt.gz
  • Dernière modification: Le 28/01/2013, 08:19
  • par fabux