iSCSI Guide · 6 min read · Feb 07, 2026
Utilisation d'iSCSI sur Fedora 10 (Initiateur et Cible)
Utilisation d’iSCSI sur Fedora 10 (Initiateur et Cible)
Version 1.0
Auteur : Falko Timme
Ce guide explique comment vous pouvez configurer une cible iSCSI et un initiateur iSCSI (client), tous deux exécutant Fedora 10. Le protocole iSCSI est un protocole de réseau de stockage (SAN) qui permet aux initiateurs iSCSI d’utiliser des dispositifs de stockage sur la cible iSCSI (distante) en utilisant un câblage Ethernet normal. Pour l’initiateur iSCSI, le stockage distant ressemble à un disque dur normal, connecté localement.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque Préliminaire
J’utilise ici deux serveurs Fedora 10 :
- server1.example.com (Initiateur) : adresse IP 192.168.0.100
- server2.example.com (Cible) : adresse IP 192.168.0.101
2 Configuration de la Cible (server2)
server2 :
Tout d’abord, nous configurons la cible (server2). Comme les paquets nécessaires ne sont disponibles que dans le dépôt RPMFusion, nous devons d’abord l’activer :
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpmEnsuite, nous pouvons installer les paquets de cible iSCSI :
yum install iscsitarget kmod-iscsitargetIl est possible que cela mette également à jour votre noyau. Si c’est le cas, veuillez redémarrer le système par la suite :
rebootNous pouvons utiliser des volumes logiques inutilisés, des fichiers image, des disques durs (par exemple, /dev/sdb), des partitions de disque dur (par exemple, /dev/sdb1) ou des dispositifs RAID (par exemple, /dev/md0) pour le stockage. Dans cet exemple, je vais créer un volume logique de 20 Go nommé storage_lun1 dans le groupe de volumes VolGroup00 :
lvcreate -L20G -n storage_lun1 VolGroup00(Si vous souhaitez utiliser un fichier image, vous pouvez le créer comme suit :
mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000
Cela crée le fichier image /storage/lun1.img d’une taille de 20 Go.
)
Ensuite, nous éditons /etc/ietd.conf…
vi /etc/ietd.conf… et commentons tout dans ce fichier. À la fin, nous ajoutons le passage suivant :
| [...] Target iqn.2001-04.com.example:storage.lun1 IncomingUser someuser secret OutgoingUser Lun 0 Path=/dev/VolGroup00/storage_lun1,Type=fileio Alias LUN1 #MaxConnections 6 |
Le nom de la cible doit être un nom unique au niveau mondial, la norme iSCSI définit le “Nom Qualifié iSCSI” comme suit : iqn.yyyy-mm.
Maintenant, nous disons à la cible que nous voulons autoriser les connexions au dispositif iqn.2001-04.com.example:storage.lun1 depuis l’adresse IP 192.168.0.100 (server1.example.com) :
vi /etc/initiators.allow| [...] iqn.2001-04.com.example:storage.lun1 192.168.0.100 |
Ensuite, nous créons les liens de démarrage système pour iscsi-target et le démarrons :
chkconfig –levels 235 iscsi-target on
/etc/init.d/iscsi-target start
3 Configuration de l’Initiateur (server1)
server1 :
Sur server1, nous installons l’initiateur :
yum install iscsi-initiator-utilsEnsuite, nous ouvrons /etc/iscsi/iscsid.conf…
vi /etc/iscsi/iscsid.conf… et nous assurons que node.startup est défini sur automatique :
| [...] node.startup = automatic [...] |
Maintenant, nous nous connectons à la cible (server2) et vérifions quels dispositifs de stockage elle a à offrir :
iscsiadm -m discovery -t st -p 192.168.0.101[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Démarrage d’iscsid : [ OK ]
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
iscsiadm -m node[root@server1 init.d]# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
Les paramètres pour le dispositif de stockage iqn.2001-04.com.example:storage.lun1 sur 192.168.0.101:3260,1 sont stockés dans le fichier /var/lib/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/default. Nous devons définir le nom d’utilisateur et le mot de passe pour la cible dans ce fichier ; au lieu d’éditer ce fichier manuellement, nous pouvons utiliser la commande iscsiadm pour le faire pour nous :
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.authmethod –value=CHAP
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.username –value=someuser
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.password –value=secret
Maintenant, nous pouvons nous connecter :
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login[root@server1 init.d]# iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –login
Connexion à [iface : default, cible : iqn.2001-04.com.example:storage.lun1, portail : 192.168.0.101,3260]
Connexion à [iface : default, cible : iqn.2001-04.com.example:storage.lun1, portail : 192.168.0.101,3260] : réussie
[root@server1 init.d]#
(Si vous souhaitez vous déconnecter, vous pouvez exécuter
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout)
Dans la sortie de
fdisk -l vous devriez maintenant trouver un nouveau disque dur (/dev/sdb dans cet exemple) ; c’est notre dispositif de stockage iSCSI :
[root@server1 init.d]# fdisk -l
Disque /dev/sda: 32.2 Go, 32212254720 octets
255 têtes, 63 secteurs/trace, 3916 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant du disque : 0x000d5f46
Dispositif Démarrer Début Fin Blocs Id Système
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disque /dev/sdb: 21.4 Go, 21474836480 octets
64 têtes, 32 secteurs/trace, 20480 cylindres
Unités = cylindres de 2048 * 512 = 1048576 octets
Identifiant du disque : 0x00000000
Le disque /dev/sdb ne contient pas de table de partition valide
[root@server1 init.d]#
Pour utiliser ce dispositif, nous devons le formater :
fdisk /dev/sdb[root@server1 init.d]# fdisk /dev/sdb
Le dispositif ne contient ni table de partition DOS valide, ni étiquette de disque Sun, SGI ou OSF
Création d’une nouvelle étiquette de disque DOS avec l’identifiant de disque 0xa1870fdd.
Les modifications resteront en mémoire uniquement, jusqu’à ce que vous décidiez de les écrire.
Après cela, bien sûr, le contenu précédent ne sera pas récupérable.
Le nombre de cylindres pour ce disque est défini à 20480.
Il n’y a rien de mal à cela, mais cela est plus grand que 1024,
et pourrait, dans certaines configurations, causer des problèmes avec :
1) le logiciel qui s’exécute au moment du démarrage (par exemple, anciennes versions de LILO)
2) le démarrage et le logiciel de partitionnement d’autres OS
(par exemple, DOS FDISK, OS/2 FDISK)
Avertissement : le drapeau invalide 0x0000 de la table de partition 4 sera corrigé par w(rite)
Commande (m pour aide) : <– n
Action de commande
e étendue
p partition primaire (1-4)
<– p
Numéro de partition (1-4) : <– 1
Premier cylindre (1-20480, valeur par défaut 1) : <– ENTRER
Utilisation de la valeur par défaut 1
Dernier cylindre, +cylindres ou +taille{K,M,G} (1-20480, valeur par défaut 20480) : <– ENTRER
Utilisation de la valeur par défaut 20480
Commande (m pour aide) : <– t
Partition sélectionnée 1
Code hexadécimal (type L pour lister les codes) : <– L
0 Vide 1e FAT1 W95 caché 80 Ancien Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / ancien Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 caché C: c7 Syrinx
5 Étendue 41 Démarrage PPC PReP 85 Linux étendu da Données Non-FS
6 FAT16 42 SFS 86 ensemble de volumes NTFS db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 ensemble de volumes NTFS de Dell Utility
8 AIX 4e QNX4.x 2ème part 88 Linux plaintext df BootIt
9 AIX bootable 4f QNX4.x 3ème part 8e Linux LVM e1 Accès DOS
a Gestionnaire de démarrage OS/2 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee GPT
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 FAT12 caché invisible 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Diagnostic Compaq 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 FAT16 caché invisible <3 61 SpeedStor a9 NetBSD f2 DOS secondaire
16 FAT16 caché invisible 63 GNU HURD ou Sys ab Démarrage Darwin fb VMware VMFS
17 HPFS/NTF caché invisible 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b W95 FAT3 caché invisible 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c W95 FAT3 caché invisible 75 PC/IX be Démarrage Solaris ff BBT
Code hexadécimal (type L pour lister les codes) : <– 83
Commande (m pour aide) : <– w
La table de partition a été modifiée !
Appel de ioctl() pour relire la table de partition.
Synchronisation des disques.
[root@server1 init.d]#
Ensuite, la sortie de
fdisk -ldevrait ressembler à ceci :
[root@server1 init.d]# fdisk -l
Disque /dev/sda: 32.2 Go, 32212254720 octets
255 têtes, 63 secteurs/trace, 3916 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant du disque : 0x000d5f46
Dispositif Démarrer Début Fin Blocs Id Système
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disque /dev/sdb: 21.4 Go, 21474836480 octets
64 têtes, 32 secteurs/trace, 20480 cylindres
Unités = cylindres de 2048 * 512 = 1048576 octets
Identifiant du disque : 0xa1870fdd
Dispositif Démarrer Début Fin Blocs Id Système
/dev/sdb1 1 20480 20971504 83 Linux
[root@server1 init.d]#
Maintenant, nous créons un système de fichiers sur /dev/sdb1…
mkfs.ext3 /dev/sdb1… et le montons à des fins de test :
mount /dev/sdb1 /mntVous devriez maintenant voir le nouveau dispositif dans les sorties de…
mount[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 sur / type ext3 (rw)
/proc sur /proc type proc (rw)
sysfs sur /sys type sysfs (rw)
devpts sur /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 sur /boot type ext3 (rw)
tmpfs sur /dev/shm type tmpfs (rw)
none sur /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc sur /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 sur /mnt type ext3 (rw)
[root@server1 ~]#
… et
df -h[root@server1 ~]# df -h
Système de fichiers Taille Utilisé Disponible Utilisé% Monté sur
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /mnt
[root@server1 ~]#
Vous pouvez le démonter comme ceci :
umount /mntPour que le dispositif soit monté automatiquement au démarrage, par exemple dans le répertoire /storage, nous créons ce répertoire…
mkdir /storage… et ajoutons la ligne suivante à /etc/fstab :
vi /etc/fstab| [...] /dev/sdb1 /storage ext3 defaults,auto,_netdev 0 0 |
Pour des raisons de test, vous pouvez maintenant redémarrer le système :
rebootAprès le redémarrage, le dispositif devrait être monté :
mount[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 sur / type ext3 (rw)
/proc sur /proc type proc (rw)
sysfs sur /sys type sysfs (rw)
devpts sur /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 sur /boot type ext3 (rw)
tmpfs sur /dev/shm type tmpfs (rw)
none sur /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc sur /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 sur /storage type ext3 (rw,_netdev)
[root@server1 ~]#
df -h[root@server1 ~]# df -h
Système de fichiers Taille Utilisé Disponible Utilisé% Monté sur
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /storage
[root@server1 ~]#
4 Liens
- Open-iSCSI : http://www.open-iscsi.org/
- iSCSI Enterprise Target : http://iscsitarget.sourceforge.net/
- Fedora : http://fedoraproject.org/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.