GNU/Linux >> Tutoriales Linux >  >> Cent OS

Configure iSCSI Target &Initiator en CentOS 7/RHEL7

iSCSI significa Internet Small Computer Systems Interface, almacenamiento basado en IP, funciona sobre el protocolo de Internet mediante la transmisión de comandos SCSI a través de la red IP. iSCSI transporta datos a nivel de bloque entre un iniciador iSCSI en una máquina cliente y un objetivo iSCSI en un dispositivo de almacenamiento (servidor).

El almacenamiento iSCSI se utiliza como almacenamiento compartido en clúster de Redhat , VMware vSphere, Redhat Enterprise Virtualization Manager, Ovirt, etc.

Medio ambiente

Servidor: servidor.itzgeek.local

Dirección IP: 192.168.12.20

SO: Versión de CentOS Linux 7.4.1708 (núcleo)

Cliente: nodo1.itzgeek.local

Dirección IP: 192.168.12.11

SO: Versión de CentOS Linux 7.4.1708 (núcleo)

Configuración de almacenamiento

Aquí, crearemos 5 GB de disco LVM en el servidor de destino para usarlo como almacenamiento compartido para los clientes. Enumeremos los discos disponibles conectados al servidor de destino usando el siguiente comando. Si desea utilizar todo el disco para LVM, omita el paso de partición del disco .

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

Salida:

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

De la salida anterior, puede ver que mi sistema tiene 10 GB de disco (/dev/sdb ). Crearemos una partición de 5 GB en el disco anterior y la usaremos para 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.

Cree un LVM con la partición /dev/sdb1 (reemplace /dev/sdb1 con el nombre de su disco )

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

Configurar destino iSCSI

Ahora tiene la opción de crear un objetivo con o sin autenticación. En este artículo, puede encontrar pasos para ambos escenarios. Depende de usted decidir cuál es el adecuado para su entorno.

Aquí configurará el objetivo iSCSI sin autenticación CHAP.

Instale el paquete targetcli en el servidor.

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

Una vez que haya instalado el paquete, ingrese el siguiente comando para obtener una CLI de iSCSI para un aviso interactivo.

[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'.
>

Ahora use un volumen lógico existente (/dev/vg_iscsi/lv_iscsi ) como almacén de respaldo de tipo bloque para el objeto de almacenamiento 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.

Crea un objetivo.

/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>

Cree ACL para la máquina del cliente (es el IQN que los clientes usan para conectarse).

/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

Cree un LUN debajo del destino. El LUN debe usar el objeto de almacenamiento de respaldo mencionado anteriormente llamado "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

Verifique la configuración del servidor de destino.

/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

Habilite y reinicie el servicio de destino.

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

Configure el firewall para permitir el tráfico iSCSI.

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

Configurar iniciador

Ahora es el momento de configurar una máquina cliente para usar el destino creado como almacenamiento. Instale el siguiente paquete en la máquina cliente (node1 ).

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

Edite el archivo nombre_iniciador.iscsi.

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

Agregue el nombre del iniciador iSCSI.

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

Descubre el objetivo usando el siguiente comando.

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

Salida:

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

Reinicie y habilite el servicio de iniciador.

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

Inicie sesión en el objetivo descubierto.

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

Salida:

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.

Crear sistema de archivos en disco ISCSI

Después de iniciar sesión (conectarse) al objetivo descubierto, eche un vistazo al archivo de mensajes. Encontrará un resultado similar al siguiente, desde donde puede encontrar un nombre del disco.

[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

Salida:

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

Enumere los discos adjuntos.

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

Salida:

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

Formatee el nuevo disco (por el bien del artículo, he formateado todo el disco en lugar de crear una partición)

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

Salida:

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

Monte el disco.

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

Verifique que el disco esté montado usando el siguiente comando.

[root@node1 ~]# df -hT

Salida:

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

Almacenamiento iSCSI de montaje automático

Para montar automáticamente el almacenamiento iSCSI durante cada reinicio, deberá realizar una entrada en el archivo /etc/fstab.

Antes de actualizar el archivo /etc/fstab, obtenga el UUID del disco iSCSI con el siguiente comando. Reemplace /dev/sdb con el nombre de su disco iSCSI.

blkid /dev/sdb

Salida:

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

Ahora, edite el archivo /etc/fstab.

vi /etc/fstab

Haga una entrada similar a la siguiente.

#
# /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

Eliminar almacenamiento iSCSI

En caso de que desee desconectar el disco agregado, siga el procedimiento (desmontar y cerrar sesión).

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

Salida:

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.

Eso es todo.


Cent OS
  1. Configurar el servidor MariaDB en CentOS

  2. Cómo configurar el iniciador iSCSI (cliente) en CentOS / RHEL 6

  3. Cómo configurar DM-Multipath desde un iniciador iSCSI a un objetivo iSCSI en CentOS/RHEL

  4. Centos 7:instalar, configurar, administrar

  5. Centos 7:configurar el servidor DNS

Instalar y configurar Check_MK Server en CentOS 7

¿Cómo configurar el servidor SFTP en CentOS?

Cómo configurar NGINX en un servidor CentOS 7

Cómo configurar el objetivo iSCSI usando targetcli en CentOS / RHEL 7

Cómo configurar el servidor VNC en CentOS/RHEL 6

Centos 7:configurar el servidor NTP