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

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

Internet Small Computer System Interface (iSCSI) es un estándar basado en IP para conectar dispositivos de almacenamiento. iSCSI usa redes IP para encapsular comandos SCSI, lo que permite que los datos se transfieran a largas distancias. iSCSI proporciona almacenamiento compartido entre varios sistemas cliente. Los dispositivos de almacenamiento están conectados a servidores (destinos). Los sistemas cliente (iniciadores) acceden a los dispositivos de almacenamiento remoto a través de redes IP. Para los sistemas cliente, los dispositivos de almacenamiento parecen estar conectados localmente. iSCSI utiliza la infraestructura IP existente y no requiere ningún cableado adicional, como es el caso de las redes de área de almacenamiento Fibre Channel (FC).

Instalando targetcli

1. RHEL/CentOS 7 utiliza el subsistema de destino del kernel de Linux-IO (LIO) para iSCSI. Además de iSCSI, LIO admite una serie de estructuras de almacenamiento que incluyen Fibre Channel sobre Ethernet (FCoE), acceso iSCSI sobre redes Mellanox InfiniBand (iSER) y acceso SCSI sobre redes Mellanox InfiniBand (SRP). En RHEL 7, todas las estructuras de almacenamiento se administran con targetcli utilidad.

Para configurar el sistema RHEL como un servidor iSCSI, comience instalando el paquete de software targetcli:

# yum install targetcli

2. La instalación del paquete de software targetcli también instala python-rtslib paquete, que proporciona el /usr/lib/systemd/system/target.service expediente. Antes de usar la utilidad targetcli para crear, eliminar y ver destinos de almacenamiento, use el comando systemctl para habilitar e iniciar el servicio de destino en el servidor 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

Agregar el dispositivo

1. Agregue el disco /dev/xvdf como dispositivo iSCSI en Backstores /backstores/block. Los backstores son recursos de almacenamiento local que el destino del kernel utiliza para "respaldar" los dispositivos SCSI que exporta.

# targetcli 
...

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

2. Verifique el nuevo dispositivo usando "ls" en el directorio /backstores/block de la línea de comando targetcli.

Crear nuevo IQN

1. El siguiente ejemplo usa el comando create para crear un IQN (nombre calificado de iSCSI) con un objetivo. Utilice el comando create sin ningún argumento para crear un destino iSCSI mediante un nombre de destino predeterminado. De forma predeterminada, el objetivo se identifica mediante un identificador "iqn". Este es un nombre calificado de iSCSI (IQN), que identifica un objetivo de manera única.

/>/> 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. Verifique el IQN recién creado usando el comando ls en el directorio /iscsi.

Configuración de la ACL

Las listas de control de acceso (ACL) restringen el acceso a los LUN desde sistemas remotos. Puede crear una ACL para cada iniciador para aplicar la autenticación cuando el iniciador se conecta al destino. Esto le permite otorgar a un iniciador específico acceso exclusivo a un objetivo específico.

2. Antes de que pueda crear una ACL, deberá averiguar el nombre del iniciador de su cliente (iniciador iscsi). Use el siguiente comando en el cliente para obtener el nombre del iniciador.

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

2. El siguiente ejemplo usa el comando create para crear una ACL para un iniciador. Desde el shell targetcli, comience usando el comando cd para cambiar al directorio acls dentro de la jerarquía [target/TGP]. Utilice el nombre de iniciador que acaba de obtener del comando anterior.

/> 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. Verifique la nueva ACL que acaba de configurar.

Creación de un grupo de portal de destino (TPG)

Se crea un grupo de portal de destino (TPG) predeterminado cuando crea un nuevo IQN. Un portal de red es un par de dirección IP:puerto. Los sistemas remotos acceden a un objetivo iSCSI a través del portal de red. El portal predeterminado de 0.0.0.0:3260 permite que el servidor iSCSI escuche en todas las direcciones IPv4 en el puerto 3260. Puede eliminar el portal predeterminado y configurar los portales según sea necesario. Se admiten direcciones IPv4 e IPv6.

1. Como puede ver en el siguiente comando, el TGP predeterminado ya está creado.

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

2. Para permitir que los sistemas remotos accedan a un objetivo iSCSI en el puerto 3260, deshabilite el servicio firewalld en el servidor iSCSI o configure firewalld para que confíe en el puerto 3260/tcp. El siguiente ejemplo usa firewall-cmd para abrir el puerto 3260/tcp para el servicio firewalld.

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

Si incluye la opción –permanente al agregar un puerto, use el comando firewall-cmd para volver a cargar la configuración.

# firewall-cmd –reload

Agregar discos iSCSI al TPG

1. Ahora necesitamos agregar el disco (disk0) que creamos anteriormente en esta publicación al TPG predeterminado.

/> 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. Verifique su configuración.

Guardar la configuración

El último paso es guardar la configuración usando el comando "saveconfig". Asegúrese de ejecutar el comando desde el directorio "/", de lo contrario fallará.

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

Configuración del iniciador iSCSI

1. En su iniciador iscsi, ejecute un descubrimiento contra el objetivo para verificar que su 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. Inicie sesión en el objetivo

# 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. Verifique si puede ver el nuevo almacenamiento 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 7:Cómo configurar un servidor de nombres de solo caché

  2. CentOS / RHEL 6,7:Cómo configurar páginas gigantes

  3. CentOS / RHEL 7:Cómo configurar el etiquetado de VLAN usando nmcli

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

  5. Cómo configurar el proxy en CentOS/RHEL/Fedora

Cómo configurar la dirección IP estática en CentOS 7 / RHEL 7

Cómo configurar la dirección IP estática en CentOS 8 / RHEL 8

Cómo instalar y configurar Ansible en CentOS 8 / RHEL 8

CentOS / RHEL 7:Cómo configurar kdump usando GUI

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

Cómo configurar el cliente LDAP en CentOS/RHEL 6 usando SSSD