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
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 targetcliActiver le service au boot :
# systemctl enable targetLancer 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.
/; 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.
/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.
/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 0On 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.jsonLa configuration est sauvée dans un fichier json ! On autorise le port tpc/3260 pour iscsi :
# firewall-cmd --permanent --add-port=3260/tcp SuccessRecharge 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 = pwdDémarrer le service iscsi service:
# systemctl start iscsiImportant : 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:isoLancer 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 iscsiT
# lsblk | egrep "NAME|sdc" NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:0 0 10G 0 diskDump 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