ISCSI : Mise en place d'un serveur iSCSI

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
ISCSI

1 Introduction

iSCSI (internet SCSI) est un protocole de la couche application permettant le transport de commandes SCSI sur un réseau TCP/IP.

Cette documentation a été réalisée sous Red Hat 5 et est compatible Red Hat 6

2 Serveur

2.1 Installation

Pour installer un serveur iscsi :

Command yum
yum install scsi-target-utils

2.2 Création des partitions

Créez ensuite vos partitions, puis faites les détecter comme par exemple :

Command partx
partx -a /dev/sda

ou

Command partprobe
partprobe /dev/sda

Utilisez de préférence partx.

Note : pour la suite, je vous conseille fortement d'utiliser les UUID à la place des paths des device (/dev/xxx). Dans cette documentation, les paths des device sont utilisés pour plus de simplicité

2.3 Configuration

Nous allons éditer le fichier de configuration du serveur et décommenter la partie "target" :

Configuration File /etc/tgt/targets.conf
<target iqn.2012-02.fr.deimos.www:iscsi>        # List of files to export as LUNs
        #backing-store /usr/storage/disk_1.img
        backing-store /dev/sda1 
        # Authentication :
        # if no "incominguser" is specified, it is not used
        #incominguser backup secretpass12
 
        # Access control :
        # defaults to ALL if no "initiator-address" is specified
        #initiator-address 192.168.1.2
        initiator-address 192.168.0.1</target>

  • Voici comment nommer la target ISCSI qui doit être unique : ign.<date>.<reverse_dns>.<strings>[:<substring>]
    • date : année + mois (yyyy-mm)
    • reverse_dns : dns inversé (fr.deimos.www)
    • strings : nom à donner pour repérer ce device (myiscsi)
    •  :<substring> : optionnel, permet de rajouter un nom
  • backing-store : le device disque ou l'image disque à utiliser
  • initiator-address : les adresses clientes autorisées pour monter ce device

On démarre et met en persistant le service :

Command
chkconfig tgtd on
service !:1 start

On vérifie la configuration comme ceci :

Command tgt-admin
> tgt-admin -sTarget 1: iqn.2012-02.fr.deimos.www:iscsi
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: deadbeaf1:0
            SCSI SN: beaf10
            Size: 0 MB
            Online: Yes
            Removable media: No
            Backing store: No backing store
        LUN: 1
            Type: disk
            SCSI ID: deadbeaf1:1
            SCSI SN: beaf11
            Size: 5369 MB
            Online: Yes
            Removable media: No
            Backing store: /dev/sda1
    Account information:
    ACL information:
        192.168.0.1

Voici comment obtenir des informations sur les devices iscsi :

  • /sys/class/scsi_host : tous les adapteurs iscsi détactés
  • /sys/block : liste les périphériques

3 Client

3.1 Installation

Les clients sont appelés "Initiator" et la target est le destinataire (baie de disques/serveur).
Pour installer le client :

Command yum
yum install iscsi-initiator-utils

Puis nous allons démarrer le service :

Command
chkconfig iscsi on
service !:1 start

3.2 Utilisation

3.2.1 Montage

Dans un premier temps, nous allons faire un "discovery" pour voir les devices qui nous sont proposés :

Command iscsiadm
> iscsiadm --mode discoverydb --type sendtargets --portal <serveur> --discoveriqn.2012-02.fr.deimos.www:iscsi

  • <serveur> : entrez l'adresse IP du serveur (et pas de DNS !!!)

Ensuite nous allons nous logger dessus pour qu'à chaque reboot, le montage du device se fasse :

Command iscsiadm
iscsiadm --mode node --targetname <iqn.2012-02.fr.deimos.www:iscsi> --portal 192.168.1.1:3260 --login

  • iqn.2012-02.fr.deimos.www:iscsi : l'IQN du serveur à utiliser
  • <serveur> : entrez l'adresse IP du serveur (et pas de DNS !!!)

Une fois logger, vous pouvez récupérer les informations sur le device dans les logs :

Command tail
tail -20 /var/log/messages | grep "/dev"

Si vous avez besoin d'avoir un peu plus d'informations, utilisez le mode verbeux :

Command iscsiadm
iscsiadm -m node -P 1

Ensuite formatez la partition en question dans le format souhaité. Ajoutez une ligne dans fstab avec l'option "_netdev", sinon la machine ne pourra pas rebooter à cause du script rc.sysinit. On vient donc lui spécifier que ce device n'utilise pas le réseaux :

Configuration File /etc/fstab
/dev/sda1 /mnt/iscsi  ext3   defaults,auto,_netdev 0 0

3.2.2 Démontage

Pour démonter temporairement un device iscsi (jusqu'au prochain reboot) :

Command iscsiadm
iscsiadm -m node -T <iqn.2012-02.fr.deimos.www:iscsi> -p <server> -u

et si vous souhaitez le supprimer définitivement :

Command iscsiadm
iscsiadm -m node -T <iqn.2012-02.fr.deimos.www:iscsi> -p <server> -o delete

4 Ressources

Using iSCSI On Debian Lenny (Initiator And Target)