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

Configurer la cible et l'initiateur iSCSI sur CentOS 7/RHEL7

iSCSI signifie Internet Small Computer Systems Interface, stockage basé sur IP, fonctionne au-dessus du protocole Internet en transportant des commandes SCSI sur le réseau IP. iSCSI transporte des données de niveau bloc entre un initiateur iSCSI sur une machine cliente et une cible iSCSI sur un périphérique de stockage (serveur).

Le stockage iSCSI est utilisé comme stockage partagé dans le cluster Redhat , VMware vSphere, Redhat Enterprise Virtualization Manager, Ovirt, etc.

Environnement

Serveur : serveur.itzgeek.local

Adresse IP : 192.168.12.20

SE : CentOS Linux version 7.4.1708 (Core)

Client : node1.itzgeek.local

Adresse IP : 192.168.12.11

SE : CentOS Linux version 7.4.1708 (Core)

Configuration du stockage

Ici, nous allons créer 5 Go de disque LVM sur le serveur cible à utiliser comme stockage partagé pour les clients. Listons les disques disponibles attachés au serveur cible en utilisant la commande ci-dessous. Si vous souhaitez utiliser tout le disque pour LVM, ignorez l'étape de partitionnement du disque .

[root@server ~]# fdisk -l | grep -i sd

Sortie :

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
 /dev/sda1   *        2048     1026047      512000   83  Linux
 /dev/sda2         1026048   209715199   104344576   8e  Linux LVM
 Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors

À partir de la sortie ci-dessus, vous pouvez voir que mon système dispose d'un disque de 10 Go (/dev/sdb ). Nous allons créer une partition de 5 Go sur le disque ci-dessus et l'utiliser pour LVM.

[root@server ~]# fdisk /dev/sdb
 Welcome to fdisk (util-linux 2.23.2).
 Changes will remain in memory only, until you decide to write them.
 Be careful before using the write command.
 Device does not contain a recognized partition table
 Building a new DOS disklabel with disk identifier 0x173dfa4d.
 Command (m for help): n  --> New partition
 Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
 Select (default p): p --> Pimary partition
 Partition number (1-4, default 1): 1 - -> Partition number
 First sector (2048-20971519, default 2048): --> Just enter
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G  --> Enter the size
 Partition 1 of type Linux and of size 5 GiB is set
 Command (m for help): t  --> Change label
 Selected partition 1
 Hex code (type L to list all codes): 8e --> Change it as LVM label
 Changed type of partition 'Linux' to 'Linux LVM'
 Command (m for help): w --> Save
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 Syncing disks.

Créez un LVM avec la partition /dev/sdb1 (remplacez /dev/sdb1 par le nom de votre disque )

[root@server ~]# pvcreate /dev/sdb1
[root@server ~]# vgcreate vg_iscsi /dev/sdb1
[root@server ~]# lvcreate -l 100%FREE -n lv_iscsi vg_iscsi

Configurer la cible iSCSI

Vous avez maintenant la possibilité de créer une cible avec ou sans authentification. Dans cet article, vous pouvez trouver des étapes pour les deux scénarios. C'est à vous de décider lequel est adapté à votre environnement.

Ici, va configurer la cible iSCSI sans authentification CHAP.

Installez le package targetcli sur le serveur.

[root@server ~]# yum install targetcli -y

Une fois que vous avez installé le package, entrez la commande ci-dessous pour obtenir une CLI iSCSI pour une invite interactive.

[root@server ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
>

Utilisez maintenant un volume logique existant (/dev/vg_iscsi/lv_iscsi ) en tant que magasin de sauvegarde de type bloc pour l'objet de stockage scsi_disk1_server ".

/> cd backstores/block
/backstores/block> create scsi_disk1_server /dev/vg_iscsi/lv_iscsi
Created block storage object scsi_disk1_server using /dev/vg_iscsi/lv_iscsi.

Créez une cible.

/backstores/block> cd /iscsi
/iscsi> create iqn.2016-02.local.itzgeek.server:disk1
Created target iqn.2016-02.local.itzgeek.server:disk1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi>

Créez une ACL pour la machine cliente (c'est l'IQN que les clients utilisent pour se connecter).

/iscsi> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/acls
/iscsi/iqn.20...sk1/tpg1/acls> create iqn.2016-02.local.itzgeek.server:node1node2
Created Node ACL for iqn.2016-02.local.itzgeek.server:node1node2

Créez un LUN sous la cible. Le LUN doit utiliser l'objet de stockage de sauvegarde mentionné précédemment nommé "scsi_disk1_server ".

/iscsi/iqn.20...er:disk1/tpg1> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/luns
/iscsi/iqn.20...sk1/tpg1/luns> create /backstores/block/scsi_disk1_server 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2016-02.local.itzgeek.server:node1node2

Vérifiez la configuration du serveur cible.

/iscsi/iqn.20.../tpg1/portals> cd /
/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- scsi_disk1_server .................................................. [/dev/vg_iscsi/lv_iscsi (5.0GiB) write-thru activated]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2016-02.local.itzgeek.server:disk1 ............................................................................ [TPGs: 1]
  |   o- tpg1 .................................................................................................. [gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 1]
  |     | o- iqn.2016-02.local.itzgeek.server:node1node2 .......................................................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ..................................................................... [lun0 block/scsi_disk1_server (rw)]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ............................................................... [block/scsi_disk1_server (/dev/vg_iscsi/lv_iscsi)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]Save and exit from target CLI.
/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

Activez et redémarrez le service cible.

[root@server ~]# systemctl enable target.service
[root@server ~]# systemctl restart target.service

Configurez le pare-feu pour autoriser le trafic iSCSI.

[root@server ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@server ~]# firewall-cmd --reload

Configurer l'initiateur

Il est maintenant temps de configurer une machine cliente pour utiliser la cible créée comme stockage. Installez le package ci-dessous sur la machine cliente (node1 ).

[root@node1 ~]# yum install iscsi-initiator-utils -y

Modifiez le fichier initiatorname.iscsi.

[root@node1 ~]# vi /etc/iscsi/initiatorname.iscsi

Ajoutez le nom de l'initiateur iSCSI.

InitiatorName=iqn.2016-02.local.itzgeek.server:node1node2

Découvrez la cible à l'aide de la commande ci-dessous.

[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.12.20

Sortie :

 192.168.12.20:3260,1 iqn.2016-02.local.itzgeek.server:disk1

Redémarrez et activez le service initiateur.

[root@node1 ~]# systemctl restart iscsid.service
[root@node1 ~]# systemctl enable iscsid.service

Connectez-vous à la cible découverte.

[root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -l

Sortie :

Logging in to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] (multiple)
Login to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.

Créer un système de fichiers sur un disque ISCSI

Après vous être connecté (connecté) à la cible découverte, consultez le fichier de messages. Vous trouverez une sortie similaire comme ci-dessous, à partir de laquelle vous pouvez trouver un nom de disque.

[root@node1 ~]# cat /var/log/messages
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] 10477568 512-byte logical blocks: (5.36 GB/4.99 GiB)
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write Protect is off
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Feb 23 14:54:48 node2 kernel: sdb: unknown partition table
Feb 23 14:54:48 node2 kernel: sd 34:0:0:0: [sdb] Attached SCSI disk

Sortie :

Feb 23 14:54:48 node2 iscsid: Could not set session2 priority. READ/WRITE throughout and latency could be affected.
Feb 23 14:54:48 node2 iscsid: Connection2:0 to [target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] through [iface: default] is operational now

Répertoriez les disques joints.

[root@node1 ~]# cat /proc/partitions

Sortie :

major minor  #blocks  name

   8        0  104857600 sda
   8        1     512000 sda1
   8        2  104344576 sda2
  11        0    1048575 sr0
 253        0    2113536 dm-0
 253        1   52428800 dm-1
 253        2   49799168 dm-2
   8       16    5238784 sdb

Formatez le nouveau disque (pour les besoins de l'article, j'ai formaté tout le disque au lieu de créer une partition)

root@node1 ~]# mkfs.xfs /dev/sdb

Sortie :

meta-data=/dev/sdb               isize=256    agcount=8, agsize=163712 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=1309696, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Montez le disque.

[root@node1 ~]# mount /dev/sdb /mnt

Vérifiez que le disque est monté à l'aide de la commande ci-dessous.

[root@node1 ~]# df -hT

Sortie :

Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  955M   50G   2% /
devtmpfs                devtmpfs  908M     0  908M   0% /dev
tmpfs                   tmpfs     914M   54M  861M   6% /dev/shm
tmpfs                   tmpfs     914M  8.5M  905M   1% /run
tmpfs                   tmpfs     914M     0  914M   0% /sys/fs/cgroup
/dev/mapper/centos-home xfs        48G   33M   48G   1% /home
/dev/sda1               xfs       497M   97M  401M  20% /boot
/dev/sdb                xfs       5.0G   33M  5.0G   1% /mnt

Montage automatique du stockage iSCSI

Pour monter automatiquement le stockage iSCSI à chaque redémarrage, vous devez créer une entrée dans le fichier /etc/fstab.

Avant de mettre à jour le fichier /etc/fstab, obtenez l'UUID du disque iSCSI à l'aide de la commande suivante. Remplacez /dev/sdb par le nom de votre disque iSCSI.

blkid /dev/sdb

Sortie :

/dev/sdb: LABEL="/" UUID="9df472f4-1b0f-41c0-a6eb-89574d2caee3" TYPE="xfs"

Maintenant, éditez le fichier /etc/fstab.

vi /etc/fstab

Faites une entrée comme ci-dessous.

#
# /etc/fstab
# Created by anaconda on Tue Jan 30 02:14:21 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9df472f4-1b0f-41c0-a6eb-89574d2caee3 /                       xfs     defaults        0 0
UUID=c7469f92-75ec-48ac-b42d-d5b89ab75b39 /mnt                    xfs     _netdev         0 0

Supprimer le stockage iSCSI

Si vous souhaitez détacher le disque ajouté, veuillez suivre la procédure (démonter et déconnecter).

[root@node1 ~]# umount /mnt/
[root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -u

Sortie :

Logging out of session [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260]
Logout of [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.

C'est tout.


Cent OS
  1. Configurer le serveur MariaDB sur CentOS

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

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

  4. CentOS/RHEL - Comment supprimer les informations obsolètes du nœud cible ISCSI du serveur initiateur ISCSI

  5. Centos 7 :Configurer le serveur DNS

Installer et configurer Check_MK Server sur CentOS 7

Comment configurer le serveur SFTP sur CentOS ?

Comment configurer NGINX sur un serveur CentOS 7

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

Comment configurer le serveur VNC sur CentOS/RHEL 6

Centos 7 :Configurer le serveur NTP