ISCSI : Mise en place d'un serveur iSCSI
Contents
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 :
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 :
partx |
partx -a /dev/sda |
ou
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" :
- 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 :
chkconfig tgtd on service !:1 start |
On vérifie la configuration comme ceci :
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 :
yum |
yum install iscsi-initiator-utils |
Puis nous allons démarrer le service :
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 :
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 :
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 :
tail |
tail -20 /var/log/messages | grep "/dev" |
Si vous avez besoin d'avoir un peu plus d'informations, utilisez le mode verbeux :
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 :
/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) :
iscsiadm |
iscsiadm -m node -T <iqn.2012-02.fr.deimos.www:iscsi> -p <server> -u |
et si vous souhaitez le supprimer définitivement :
iscsiadm |
iscsiadm -m node -T <iqn.2012-02.fr.deimos.www:iscsi> -p <server> -o delete |