Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
iscsi [Le 09/02/2013, 01:17] – [Script automatique pour PC diskless (PXE boot en Live)] maisondouf | iscsi [Le 06/01/2017, 11:40] (Version actuelle) – [Installation manuelle] 193.52.40.65 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> matériel réseau}} | ||
+ | ---- | ||
+ | ====== ISCSI ====== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Un SAN, qu'est ce que c'est ? :-P | ||
+ | |||
+ | Un SAN, tout comme un NAS usant des protocoles NFS ou SAMBA, vous permet de partager de l' | ||
+ | La nette différence résulte dans le fait que c'est le système client qui prend en charge le formatage et le système de fichiers de ce dernier, sans compter que les performances seront généralement meilleures que sous les deux autres protocoles, notamment sur de multiples petits fichiers. ;-) | ||
+ | |||
+ | Selon [[http:// | ||
+ | |||
+ | Autres points importants, cette technique vous permet de soulager votre serveur en terme de ressources demandées (au détriment du poste client toutefois), mais surtout de mapper en dur cet espace disque comme s'il faisait partie intégrante de la machine client.\\ | ||
+ | Ainsi certains logiciels comme le client [[:Steam]] sous Windows, développé pour empêcher l' | ||
+ | Cette technique est aussi valable pour d' | ||
+ | |||
+ | |||
+ | ===== Configuration du serveur et de ses disques ===== | ||
+ | |||
+ | La configuration est également assez simple une fois le concept saisi, deux choix s' | ||
+ | |||
+ | ==== Installation du service ==== | ||
+ | |||
+ | L' | ||
+ | Ce qui peut se résumer avec l' | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== 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 choisi, et la valeur 40000 correspondra à la taille du disque choisie. | ||
+ | |||
+ | < | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | Target nom-libre: | ||
+ | Lun 0 Path=/ | ||
+ | </ | ||
+ | |||
+ | ==== Cas pour un disque dur ou une partition en dur ==== | ||
+ | [[: | ||
+ | < | ||
+ | Target nom-libre: | ||
+ | Lun 0 Path=/ | ||
+ | </ | ||
+ | En adaptant la partition /// | ||
+ | |||
+ | ==== Configuration finale ==== | ||
+ | Enfin, [[: | ||
+ | |||
+ | < | ||
+ | |||
+ | deviendra ainsi | ||
+ | |||
+ | < | ||
+ | |||
+ | Il ne reste plus qu'à redémarrer le [[: | ||
+ | < | ||
+ | Devra vous indiquer : | ||
+ | |||
+ | < | ||
+ | * Removing iSCSI enterprise target devices: | ||
+ | * Starting iSCSI enterprise target service | ||
+ | [ OK ] | ||
+ | </ | ||
+ | |||
+ | Enfin, vous pouvez vérifier que votre disque a bien été pris en compte via cette commande : | ||
+ | |||
+ | < | ||
+ | |||
+ | <note important> | ||
+ | Par exemple : < | ||
+ | |||
+ | ===== Configuration du poste client GNU/Linux ===== | ||
+ | ==== Installation manuelle ==== | ||
+ | Sur le poste client, [[: | ||
+ | < | ||
+ | |||
+ | Par exemple, sur un disque virtuel étant dédié à [[:Steam]], cela peut donner le résultat : | ||
+ | < | ||
+ | |||
+ | Ensuite pour lier le disque virtuel au couple machine/ | ||
+ | < | ||
+ | |||
+ | Si l' | ||
+ | < | ||
+ | |||
+ | Remarquez le jeu de mot... (Steam/ | ||
+ | |||
+ | 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 [[: | ||
+ | < | ||
+ | |||
+ | ==== Script automatique pour PC diskless (PXE boot en Live) ==== | ||
+ | Lors d'un démarrage en mode [[: | ||
+ | Ce script va vous permettre de réaliser l' | ||
+ | Il permet aussi de déconnecter un disque. | ||
+ | === Version terminal === | ||
+ | < | ||
+ | # 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 " | ||
+ | if [ " | ||
+ | then | ||
+ | | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | then | ||
+ | info=`iscsiadm --mode discovery --type sendtargets --portal $1` | ||
+ | pos=2 | ||
+ | while [ 1 ]; | ||
+ | do | ||
+ | volume=`echo $info | cut -d ' ' -f $pos` | ||
+ | if [ " | ||
+ | echo "`expr $pos / 2` - $volume" | ||
+ | pos=`expr $pos + 2` | ||
+ | done | ||
+ | echo -n " | ||
+ | bon=`echo " | ||
+ | if [ " | ||
+ | n=`expr $n + $n` | ||
+ | if [ $n -ge $pos ]; then echo " | ||
+ | disk=`echo $info | cut -d ' ' -f $n` | ||
+ | session=`iscsiadm -m session | grep $disk` | ||
+ | if [ " | ||
+ | |||
+ | iscsiadm --mode node --targetname $disk \ --portal $1 --login | ||
+ | iscsiadm -m session | ||
+ | else | ||
+ | sion=`iscsiadm -m session` | ||
+ | if [ " | ||
+ | sion=`iscsiadm -m session | cut -d ' ' -f 4` | ||
+ | pos=1 | ||
+ | for i in $sion; | ||
+ | do | ||
+ | echo "$pos - $i" | ||
+ | | ||
+ | done | ||
+ | echo -n " | ||
+ | bon=`echo " | ||
+ | if [ " | ||
+ | if [ $n -ge $pos ]; then echo " | ||
+ | |||
+ | name=`echo $sion | cut -d ' ' -f $n` | ||
+ | iscsiadm -m node -u -T $name | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Copier tout ce code dans un fichier, la syntaxe de lancement est très simple : | ||
+ | * < | ||
+ | * < | ||
+ | |||
+ | === version avec interface graphique === | ||
+ | |||
+ | < | ||
+ | # gestion automatique iSCSI | ||
+ | |||
+ | installed=`dpkg -l " | ||
+ | |||
+ | if [ " | ||
+ | then | ||
+ | zenity --question --title " | ||
+ | if [ $? = 0 ] | ||
+ | then | ||
+ | apt-get install -y open-iscsi open-iscsi-utils | ||
+ | else | ||
+ | echo " | ||
+ | fi | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | if [ x$1 = x ]; | ||
+ | then | ||
+ | zenity --error --title " | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | then | ||
+ | info=`iscsiadm --mode discovery --type sendtargets --portal $1` | ||
+ | pos=2 | ||
+ | liste="" | ||
+ | while [ 1 ]; | ||
+ | do | ||
+ | volume=`echo $info | cut -d ' ' -f $pos` | ||
+ | if [ " | ||
+ | list=`echo "$list $volume" | ||
+ | pos=`expr $pos + 2` | ||
+ | done | ||
+ | | ||
+ | disk=`zenity --list --title " | ||
+ | if [ $? != 0 ]; then exit; fi | ||
+ | |||
+ | session=`iscsiadm -m session | grep $disk` | ||
+ | if [ " | ||
+ | |||
+ | iscsiadm --mode node --targetname $disk \ --portal $1 --login | ||
+ | iscsiadm -m session | ||
+ | else | ||
+ | sion=`iscsiadm -m session` | ||
+ | if [ " | ||
+ | sion=`iscsiadm -m session | cut -d ' ' -f 4` | ||
+ | |||
+ | name=`zenity --list --title " | ||
+ | if [ $? != 0 ]; then exit; fi | ||
+ | |||
+ | iscsiadm -m node -u -T $name | ||
+ | fi | ||
+ | </ | ||
+ | Sauvegardez ce scripte dans un fichier par exemple " | ||
+ | < | ||
+ | sudo ./ | ||
+ | ===== Poste client Windows ===== | ||
+ | |||
+ | Concernant les machines sous Windows, ça n'a pas lieu d' | ||
+ | |||
+ | À 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. | ||
+ | |||
+ | < | ||
+ | |||
+ | C'est totalement faux, on peut bien effectuer la manip sans soucis sur Windows 7 pro, dans les composants logiciels ! | ||
+ | |||
+ | ---- | ||
+ | // | ||
+ | // | ||