GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer la cible iSCSI à l'aide de targetcli dans CentOS / RHEL 7

Internet Small Computer System Interface (iSCSI) est une norme basée sur IP pour connecter des périphériques de stockage. iSCSI utilise des réseaux IP pour encapsuler les commandes SCSI, permettant aux données d'être transférées sur de longues distances. iSCSI fournit un stockage partagé entre plusieurs systèmes clients. Les périphériques de stockage sont attachés aux serveurs (cibles). Les systèmes clients (initiateurs) accèdent aux périphériques de stockage distants via des réseaux IP. Pour les systèmes clients, les périphériques de stockage semblent être connectés localement. iSCSI utilise l'infrastructure IP existante et ne nécessite aucun câblage supplémentaire, comme c'est le cas avec les réseaux de stockage Fibre Channel (FC).

Installation de targetcli

1. RHEL/CentOS 7 utilise le sous-système cible du noyau Linux-IO (LIO) pour iSCSI. En plus d'iSCSI, LIO prend en charge un certain nombre de structures de stockage, notamment Fibre Channel over Ethernet (FCoE), l'accès iSCSI sur les réseaux Mellanox InfiniBand (iSER) et l'accès SCSI sur les réseaux Mellanox InfiniBand (SRP). Dans RHEL 7, toutes les structures de stockage sont gérées avec le targetcli utilitaire.

Pour configurer le système RHEL en tant que serveur iSCSI, commencez par installer le package logiciel targetcli :

# yum install targetcli

2. L'installation du package logiciel targetcli installe également le python-rtslib package, qui fournit le /usr/lib/systemd/system/target.service dossier. Avant d'utiliser l'utilitaire targetcli pour créer, supprimer et afficher des cibles de stockage, utilisez la commande systemctl pour activer et démarrer le service cible sur le serveur iSCSI.

# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
# systemctl start target

Ajout de l'appareil

1. Ajoutez le disque /dev/xvdf en tant que périphérique iSCSI sous Backstores /backstores/block. Les backstores sont des ressources de stockage locales que la cible du noyau utilise pour "sauvegarder" les périphériques SCSI qu'elle exporte.

# targetcli 
...

/> cd /backstores/block/
/backstores/block> create disk0 /dev/xvdf
Created block storage object disk0 using /dev/xvdf.

2. Vérifiez le nouveau périphérique en utilisant "ls" sous le répertoire /backstores/block de la ligne de commande targetcli.

Créer un nouveau IQN

1. L'exemple suivant utilise la commande create pour créer un IQN (iSCSI Qualified Name) avec une cible. Utilisez la commande create sans aucun argument pour créer une cible iSCSI en utilisant un nom de cible par défaut. Par défaut, la cible est identifiée par un identifiant « iqn ». Il s'agit d'un nom qualifié iSCSI (IQN), qui identifie de manière unique une cible.

/>/> cd /iscsi 
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi>

2. Vérifiez l'IQN nouvellement créé à l'aide de la commande ls sous le répertoire /iscsi.

Configuration de l'ACL

Les listes de contrôle d'accès (ACL) limitent l'accès aux LUN à partir de systèmes distants. Vous pouvez créer une ACL pour chaque initiateur afin d'appliquer l'authentification lorsque l'initiateur se connecte à la cible. Cela vous permet de donner à un initiateur spécifique un accès exclusif à une cible spécifique.

2. Avant de pouvoir créer une ACL, vous devrez connaître le nom de l'initiateur auprès de votre client (iscsi-initiator). Utilisez la commande ci-dessous sur le client pour obtenir le nom de l'initiateur.

[root@initiator ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:aabb51a64012

2. L'exemple suivant utilise la commande create pour créer une ACL pour un initiateur. À partir du shell targetcli, commencez par utiliser la commande cd pour accéder au répertoire acls dans la hiérarchie [target/TGP]. Utilisez le nom de l'initiateur que vous venez d'obtenir à partir de la commande ci-dessus.

/> cd /iscsi/iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721/tpg1/acls 
/iscsi/iqn.20...721/tpg1/acls> create iqn.1994-05.com.redhat:aabb51a64012
Created Node ACL for iqn.1994-05.com.redhat:aabb51a64012

3. Vérifiez la nouvelle ACL que vous venez de configurer.

Création d'un groupe de portails cibles (TPG)

Un groupe de portail cible (TPG) par défaut est créé lorsque vous créez un nouvel IQN. Un portail réseau est une paire adresse IP:port. Une cible iSCSI est accessible par des systèmes distants via le portail réseau. Le portail par défaut de 0.0.0.0:3260 permet au serveur iSCSI d'écouter toutes les adresses IPv4 sur le port 3260. Vous pouvez supprimer le portail par défaut et configurer les portails selon vos besoins. Les adresses IPv4 et IPv6 sont prises en charge.

1. Comme vous pouvez le voir dans la commande ci-dessous, le TGP par défaut est déjà créé.

/> cd /iscsi/iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> ls

2. Pour permettre aux systèmes distants d'accéder à une cible iSCSI sur le port 3260, désactivez le service firewalld sur le serveur iSCSI ou configurez firewalld pour approuver le port 3260/tcp. L'exemple suivant utilise firewall-cmd pour ouvrir le port 3260/tcp pour le service firewalld.

# firewall-cmd --permanent --add-port=3260/tcp

Si vous incluez l'option –permanent lors de l'ajout d'un port, utilisez la commande firewall-cmd pour recharger la configuration.

# firewall-cmd –reload

Ajout de disques iSCSI au TPG

1. Nous devons maintenant ajouter le disque (disk0) que nous avons créé précédemment dans cet article au TPG par défaut.

/> cd /iscsi/iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721/tpg1/luns 
/iscsi/iqn.20...721/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.1994-05.com.redhat:aabb51a64012

2. Vérifiez votre configuration.

Enregistrer la configuration

La dernière étape consiste à enregistrer la configuration à l'aide de la commande "saveconfig". Assurez-vous d'exécuter la commande à partir du répertoire "/", sinon elle échouera.

/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

Configuration de l'initiateur iSCSI

1. Sur votre initiateur iscsi, exécutez une découverte sur la cible pour vérifier que votre iqn est disponible.

iscsiadm --mode discoverydb --type sendtargets --portal [ip-of-target] --discover
[ip-of-target]:3260,1 iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721

2. Connectez-vous à la cible

# iscsiadm --mode node --targetname iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721 --portal [ip-of-target] --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721, portal: [ip-of-target],3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.geeklab.x8664:sn.81b9fd11a721, portal: [ip-of-target],3260] successful.

3. Vérifiez si vous pouvez voir le nouveau stockage iSCSI.

# cat /proc/scsi/scsi 
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: LIO-ORG  Model: disk0            Rev: 4.0 
  Type:   Direct-Access                    ANSI  SCSI revision: 05


Cent OS
  1. CentOS / RHEL 6,7 :Comment configurer les pages énormes

  2. CentOS / RHEL 7 :Comment configurer le balisage VLAN à l'aide de nmcli

  3. Comment résoudre les problèmes iSCSI dans CentOS / RHEL 6,7

  4. CentOS / RHEL 6,7 :Comment supprimer une cible iSCSI sur l'initiateur (client iSCSI)

  5. Comment configurer l'initiateur iSCSI (client) dans CentOS / RHEL 7

Comment configurer une adresse IP statique dans CentOS 7 / RHEL 7

Comment configurer une adresse IP statique dans CentOS 8 / RHEL 8

Comment installer et configurer Ansible sur CentOS 8 / RHEL 8

CentOS / RHEL 7 :Comment configurer kdump à l'aide de l'interface graphique

Comment configurer le serveur VNC sur CentOS/RHEL 6

Comment configurer le client LDAP sur CentOS/RHEL 6 à l'aide de SSSD