Targetcli – Configurer des cibles ISCSI

Ludovic QUENEC'HDU
Ludovic QUENEC'HDU Ajouter un commentaire 6e lecture en min

RHEL7: Configuration Client/Serveur ISCSI

Présentation

Dans le monde ISCSI, il y a deux types d’agent :
  • L’ iSCSI target le serveur de stockage
  • L’iSCSI initiator le client qui se connecte sur les cibles iscsi
On dispose donc de deux machines.

Configuration des cibles iSCSI « target »

Avec Red hat 7, L’outil targetcli permet de mettre en oeuvre des cibles Étape à suivre pour mettre en oeuvre le serveur Installer targetcli :
# yum install -y targetcli
Activer le service au boot :
# systemctl enable target
Lancer le Shell Targetcli:
# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/;
Deux options pour le stockage:
  • On crée un stockage de type fileio, un fichier dans un répertoire . ce fichier se nomme shareIso et fait 10G in repertoire /store :
    /; backstores/fileio/ create shareIso  
    /store/shareIso .img 10G
    Created fileio shareIso with size 1048576000
     
  • On crée un stockage à partir d’un Volume logique (# lvcreate –name lv_vm_rhel –size 100G vg_iscsi):
  • /; backstores/block/ create block1 /dev/vg_iscsi/ lv_vm_rhel
    Created block storage object block1 using /dev/vg_iscsi/ lv_vm_rhel.
On crée ensuite deux IQN (Iscsi Qualified Name) nommés iqn.2016-01.lan.alphorm avec pour nom de cibles rhel et iso associés au TPG 1 (Target Portal Group) :
/; iscsi/ create  iqn.2016-01.lan.alphorm:rhel
Created target iqn.2016-01.lan.alphorm:rhel.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
 
/; iscsi/ create  iqn.2016-01.lan.alphorm:iso
Created target iqn.2016-01.lan.alphorm:iso.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
L’arborescence pour l’iqn iqn.2016-01.lan.alphorm:rhel est maintenant créée
/; cd iscsi/iqn.2016-01.lan.alphorm:rhel/tpg1
/iscsi/iqn.20...horm:rhel/tpg1; ls
o- tpg1 ................................................. [no-gen-acls, no-auth]
  o- acls ............................................................ [ACLs: 0]
  o- luns ............................................................ [LUNs: 0]
  o- portals ...................................................... [Portals: 1]
    o- 0.0.0.0:3260 ....................................................... [OK]
3 objets disponibles en dessous de tpg1L
  • les LUNSs
  • Les listes de controle d’access –
  • Le portal.
Création d’un portal
/iscsi/iqn.20...phorm:rhel/tpg1; portals/ create
Using default IP port 3260
Binding to INADDR_ANY (0.0.0.0)
Created network portal 0.0.0.0:3260.
Création des LUNs
  • Fileio backstore:
    /iscsi/iqn.20...phorm:iso/tpg1; luns/ create /backstores/fileio/shareIso
     Created LUN 0.
  • Block backstore:
    /iscsi/iqn.20...phorm:rhel/tpg1; luns/ create /backstores/block/block1
     Created LUN 0.
On positionne des acls sur l’iqn , iqn.2016-01.lan.alphorm:rhel :
/iscsi/iqn.20...phorm:rhel/tpg1; acls/ create iqn.2016-01.lan.alphorm:client
Created Node ACL for iqn.2016-01.lan.alphorm:client
Created mapped LUN 0
On peut mettre l’authentification CHAP
/iscsi/iqn.20...phorm;rhel/tpg1; cd acls/iqn.2016-01.lan.alphorm:client/
/iscsi/iqn.20...alphorm:client; set auth userid=user
Parameter userid is now 'usr'.
/iscsi/iqn.20...alphorm:client; set auth password=pwd
Parameter password is now 'pwd'.
Now, to check the configuration, type:
/iscsi/iqn.20...alphorm:iso; cd ../..
/iscsi/iqn.20...orm:iso/tpg1; ls
o- tpg1 ................................................. [no-gen-acls, no-auth]
  o- acls ............................................................ [ACLs: 1]
  | o- iqn.2016-01.lan.alphorm:client ......................... [Mapped LUNs: 1]
  |   o- mapped_lun0 ............................. [lun0 fileio/shareiso (rw)]
  o- luns ............................................................ [LUNs: 1]
  | o- lun0 .......................... [fileio/shareiso (/store/shareiso.img)]
  o- portals ...................................................... [Portals: 1]
    o- 0.0.0.0:3260 ....................................................... [OK]
On peut sortir de targetcli, la configuration est terminée :
/iscsi/iqn.20...alphorm:iso/tpg1; exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
La configuration est sauvée dans un fichier json ! On autorise le port tpc/3260 pour iscsi :
# firewall-cmd --permanent --add-port=3260/tcp
Success
Recharge le configuratioin du firewall :
# firewall-cmd --reload
Success

Configuration du client – iSCSI initiator

Installation du service initiateur iscsi
# yum install -y iscsi-initiator-utils
Éditer le fichier /etc/iscsi/initiatorname.iscsi et ajouter l’iqn du client
InitiatorName=iqn.2016-01.lan.alphorm:client
Éditer le fichier the /etc/iscsi/iscsid.conffile et ajouter les lignes suivantes :
node.session.auth.authmethod = CHAP
node.session.auth.username = user
node.session.auth.password = pwd
Démarrer le service iscsi service:
# systemctl start iscsi
Important : le service iscsim n’est pas confondre avec iscsd. LeService ISCSI doit être démarrer pour démonter les cibles lors du reboot de la machine Découverte des cibles avec iscsiadm (le portal 192.168.10.100):
# iscsiadm --mode discovery --type sendtargets --portal 192.168.10.100
192.168.10.100:3260,1 iqn.2016-01.lan.alphorm:rhel
192.168.10.100:3260,1 iqn.2106-01.lana.alphorm:iso
Lancer iscsiadm em mode node pour se loguer sur les cibles :
# iscsiadm --mode node --targetname iqn.2016-01.lan.alphorm:rhel --portal 192.168.10.100 --login
Logging in to [iface: default, target: iqn.2016-01.lan.alphorm:rhel  portal: 192.168.10.100,3260] (multiple)
Login to [iface: default, target: iqn.2016-01.lan.alphorm:iso, portal: 192.168.10.100,3260] successful.
Afficher les périphériques bloc :
# lsblk --scsi
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  2:0:0:0    disk LIO-ORG  shareiso       4.0  iscsi
T
# lsblk | egrep "NAME|sdc"
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdc                  8:0    0  10G  0 disk
Dump de la session (3=max output, 0=min output):
# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.0.873-28
Target: iqn.2016-06.lan.alphorm:rhel (non-flash)
	Current Portal: 192.168.10.100:3260,1
	Persistent Portal: 192.168.10.100:3260,1
		**********
		Interface:
		**********
		Iface Name: default
		Iface Transport: tcp
		Iface Initiatorname: iqn.2014-08.lan.alphorm:client
		Iface IPaddress: 192.168.10.10
		Iface HWaddress: 
		Iface Netdev: 
		SID: 1
		iSCSI Connection State: LOGGED IN
		iSCSI Session State: LOGGED_IN
		Internal iscsid Session State: NO CHANGE
		*********
		Timeouts:
		*********
		Recovery Timeout: 120
		Target Reset Timeout: 30
		LUN Reset Timeout: 30
		Abort Timeout: 15
		*****
		CHAP:
		*****
		username: user
		password: ********
		username_in: 
		password_in: ********
		************************
		Negotiated iSCSI params:
		************************
		HeaderDigest: None
		DataDigest: None
		MaxRecvDataSegmentLength: 262144
		MaxXmitDataSegmentLength: 262144
		FirstBurstLength: 65536
		MaxBurstLength: 262144
		ImmediateData: Yes
		InitialR2T: Yes
		MaxOutstandingR2T: 1
		************************
		Attached SCSI devices:
		************************
		Host Number: 2	State: running
		scsi2 Channel 00 Id 0 Lun: 0
			Attached scsi disk sda		State: running
 
Partager cet article
Par Ludovic QUENEC'HDU Expert en Virtualisation et Sécurité Informatique au Service de Grands Comptes et du Logiciel Libre
Ludovic QUENECHDU est un véritable virtuose de la virtualisation et de la sécurité informatique. Depuis son indépendance professionnelle en 2000, il a apporté son expertise à de prestigieux clients tels que Cameroun Telecom, Merryl Lynch, Ernst & Young, AXA, et bien d'autres. En parallèle, Ludovic s'engage régulièrement dans le démarrage de petites entreprises, notamment dans le domaine du logiciel libre, une passion qu'il chérit pour ses valeurs de partage et d'échange. Son parcours professionnel et sa passion pour la technologie en font un acteur incontournable de l'industrie informatique.
Laisser un commentaire