Configurar el servidor de almacenamiento ISCSI en Centos 8

Configurar el servidor de almacenamiento ISCSI en Centos 8
En este artículo, le mostraré cómo configurar el servidor de almacenamiento ISCSI en Centos 8. Entonces empecemos.

Conceptos básicos de ISCSI:

El servidor de almacenamiento ISCSI se usa para compartir dispositivos de bloque como particiones HDD/SSD, o particiones LVM, o archivos de bloque en la red. Los clientes ISCSI pueden usar estas acciones a través de la red, al igual que cualquier HDD o SSD ordinario montado en ella. El cliente iSCSI puede formatear estos discos, montarlos y almacenar archivos y directorios como de costumbre.

Fig. 1: Arquitectura del servidor ISCSI

Cada cliente ISCSI tiene una ID de iniciador que se utiliza para conectarse a los objetivos en el servidor.

Los objetivos son acciones en el servidor ISCSI. Cada objetivo consta de un nombre único (IQN), la ruta del dispositivo de bloque (I.mi. Partition de disco o archivo de bloque), la ID del iniciador que puede conectarse a este objetivo y un sistema de autenticación basado en el nombre de usuario de nombre de usuario opcional.

En la figura 1, el servidor de almacenamiento ISCSI permite que 3 iniciadores (3 clientes ISCSI) se conecten a 4 objetivos. iniciador01 puede conectarse a Target01 y Target02, iniciador02 puede conectarse a Target03, y iniciador03 puede conectarse a Target04.

Convenciones de nombres de ISCSI objetivo e iniciador:

El nombre objetivo de ISCSI y el nombre del iniciador deben ser únicos.

El formato de nomenclatura de objetivo es:

IQN.Yyyy-mm.Nombre de dominio inverso: nombre de destino

Ejemplo:

IQN.2020-03.comunicarse.Linuxhint: www, iqn.2020-03.comunicarse.Linuxhint: registros,
IQN.2020-03.comunicarse.Linuxhint: Bob de usuarios, etc.

El formato de nombre del iniciador es:

IQN.Yyyy-mm.nombre de dominio inverso: nombre del iniciador

Ejemplo:

IQN.2020-03.comunicarse.Linuxhint: Initiator01, IQN.2020-03.comunicarse.Linuxhint: iniciador02,
IQN.2020-03.comunicarse.Linuxhint: iniciador03 etc.

Topología de la red:

Fig. 2: Topología de red utilizada en este artículo del servidor ISCSI

La topología de la red utilizada en este artículo se da en la figura 2. Aquí, configuraré una máquina CentOS 8 como un servidor ISCSI. El servidor iSCSI tiene una dirección IP estática 192.168.20.197. El cliente iSCSI también está en la red 192.168.20.24/04. Entonces, puede acceder al servidor iSCSI.

Configuración de la dirección IP estática:

Debe configurar una dirección IP estática en su máquina CentOS 8 que configurará como un servidor ISCSI. Para configurar una dirección IP estática en CentOS 8, consulte mi artículo Configuración de IP estática en CentOS 8.

La máquina CentOS 8 que configuraré como servidor ISCSI en este artículo tiene la dirección IP estática 192.168.20.197. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

$ ip a

Instalación de herramientas del servidor ISCSI:

Primero, actualice el caché del repositorio del paquete DNF de la siguiente manera:

$ sudo dnf makecache

Debes tener TargetCli Herramienta instalada en la máquina CentOS 8 que desea configurar como un servidor ISCSI.

Instalar TargetCli, Ejecute el siguiente comando:

$ sudo DNF Instalar TargetCli

Para confirmar la instalación, presione Y y luego presiona .

TargetCli debe instalarse.

Ahora, para probar si el TargetCli La herramienta está funcionando, comienza TargetCli como sigue:

$ sudo Targetcli

TargetCli debería comenzar.

TargetCli funciona perfectamente.

> LS

Ahora, salga de la herramienta TargetCli.

> Salir

Ahora empezar objetivo Servicio de la siguiente manera:

$ sudo systemctl iniciar objetivo

Ahora, agregue el servicio de destino al inicio del sistema de la siguiente manera:

$ sudo systemctl habilitar el objetivo

Compartir bloques de archivos:

Puede compartir bloques de archivos como dispositivos de almacenamiento a través de ISCSI.

Primero, cree un nuevo directorio donde desee mantener todos los bloques de archivos de la siguiente manera:

$ sudo mkdir -pv /iscsi /bloques

Ahora, comience a TargetCli de la siguiente manera:

$ sudo Targetcli

Ahora, crea un nuevo 1 GB Backstore de Fileio Web1 en el camino /ISCSI/Blocks/Web1.img como sigue:

>/Backstores/Fileio Crear Web1/ISCSI/Blocks/Web1.IMG 1G

El bloque de archivos Web1 1GB debe crearse en la ruta /ISCSI/Blocks/Web1.img

> ls /

Ahora, cree un nuevo objetivo ISCSI IQN.2020-03.comunicarse.Linuxhint: Web como sigue:

> /ISCSI Crear iqn.2020-03.comunicarse.Linuxhint: Web

El objetivo ISCSI IQN.2020-03.comunicarse.Linuxhint: Web debe crearse.

> ls /

Ahora, navegue al TPG del objetivo (grupo de portal de destino) de la siguiente manera:

> /ISCSI /IQN.2020-03.comunicarse.Linuxhint: Web/TPG1/

Así es como debería ser el TPG del objetivo.

> LS

Ahora, cree un lun del Web1 Backstore de Fileio que ha creado anteriormente.

> luns/create/backstores/fileio/web1

Lun 0 debe ser creado.

> LS

Ahora, cree una ACL para el iniciador IQN.2020-03.comunicarse.Linuxhint: init1 para que el cliente iSCSI pueda acceder a los LUN en este objetivo.

> ACLS/ Crear IQN.2020-03.comunicarse.Linuxhint: init1

Se debe crear un ACL y Lun 0 debe asignarse a él.

> LS

Ahora, guarde la configuración.

> / saveconfig

Ahora, salga de la interfaz TargetCli.

> Salir

Compartir particiones HDD/SSD o HDD/SSD:

También puede compartir todo el HDD/SSD o una o más partición HDD/SSD a través de ISCSI. Si comparte todo el HDD/SSD, las particiones de ese HDD/SSD también serán accesibles desde el iniciador o el cliente ISCSI.

Primero, busque el nombre HDD/SSD o el nombre de partición HDD/SSD que desea compartir con el siguiente comando:

$ sudo lsblk

Aquí, nvme0n2 es el nombre SSD y NVME0N2P1, NVME0N2P2 y nvme0n2p3 son las particiones de ese SSD.

Ahora, comience a TargetCli de la siguiente manera:

$ sudo Targetcli

Ahora, cree un bloque de bloque de bloque Datos1 Usando la partición HDD/SSD o HDD/SSD de la siguiente manera.

> /Backstores /Bloque Crear datos1 /dev /nvme0n2p1

NOTA: Aquí usé la partición SSD /dev/nvme0n2p1.

El Datos1 Se debe crear un bloque de bloqueo de bloqueo.

> ls /

Ahora, cree un nuevo objetivo ISCSI IQN.2020-03.comunicarse.Linuxhint: datos como sigue:

> / iScsi / Crear iqn.2020-03.comunicarse.Linuxhint: datos

Se debe crear un nuevo objetivo ISCSI.

> ls /

Ahora, navegue al TPG del objetivo de la siguiente manera:

> /ISCSI /IQN.2020-03.comunicarse.Linuxhint: Data/TPG1/

El TPG del objetivo debe verse de la siguiente manera.

> LS

Ahora, cree un nuevo LUN del Datos1 Bloquear la parte posterior que ha creado antes.

> luns/create/backstores/block/data1

Se debe crear un nuevo lun.

> LS

Ahora, cree una ACL para el iniciador IQN.2020-03.comunicarse.Linuxhint: init1 para que el cliente iSCSI pueda acceder a los LUN en este objetivo.

> ACLS/ Crear IQN.2020-03.comunicarse.Linuxhint: init1

Se debe crear un ACL y Lun 0 debe asignarse a él.

> LS

Ahora, guarde la configuración.

> / saveconfig

Ahora, salga de la interfaz TargetCli.

> Salir

Configuración de firewall:

Ahora, permita el acceso al puerto ISCSI 3260 a través del firewall de la siguiente manera:

$ sudo firewall-cmd --add-service = isCsi-Target --Permanent

Para que los cambios entren en vigencia, ejecute el siguiente comando:

$ sudo firewall-cmd--Reload

Instalación de herramientas del cliente ISCSI:

En el cliente iSCSI, debe tener ISCSI-INITISTOR-UTILS Paquete instalado para acceder a los dispositivos de almacenamiento ISCSI compartidos.

Primero, actualice el caché del repositorio del paquete DNF de la siguiente manera:

$ sudo dnf makecache

Ahora, instale ISCSI-INITISTOR-UTILS Paquete en la máquina del cliente de la siguiente manera:

$ sudo dnf install ISCSI-Iniciator-Utils

Para confirmar la instalación, presione Y y luego presiona .

Se deben instalar las utilidades del cliente ISCSI.

Ahora, abra el /etc/iscsi/initiatorname.ISCSI Archivo de configuración de la siguiente manera:

$ sudo vi/etc/iscsi/initiatorname.ISCSI

Ahora, configure el nombre de su iniciador en Nombre inicial y guarda el archivo.

Ahora, escanee los objetivos de la siguiente manera:

$ sudo iscsiadm -m descubrimiento -t sendTargets -p 192.168.20.197

Ahora, puede iniciar sesión en los objetivos de la siguiente manera:

$ sudo iScsiadm -m nodo --login

Los dispositivos de almacenamiento ISCSI deben conectarse a su cliente como puede ver en la captura de pantalla a continuación.

$ sudo lsblk

Ahora comienza el ISCSI y iscsid Servicios de la siguiente manera:

$ sudo systemctl inicio ISCSI
$ sudo systemctl start iscsid

El ISCSI y iscsid Los servicios deberían estar ejecutados.

$ sudo systemctl status iscsi iscsid

Ahora, agregue el ISCSI y iscsid Servicio al inicio del sistema de la siguiente manera:

$ sudo systemctl habilita iSCSI
$ sudo systemctl habilita iScSid

Montaje del disco ISCSI:

Puede montar los discos ISCSI permanentemente en el cliente ISCSI utilizando el /etc/fstab archivo.

Primero, formatea el disco ISCSI si aún no está formateado.

$ sudo mkfs.Datos ext4 -l /dev /SDA

Ahora, cree un directorio (punto de montaje) para el disco ISCSI de la siguiente manera:

$ sudo mkdir /datos

Ahora, encuentre el uuid del disco ISCSI que desea montar de la siguiente manera:

$ sudo blkid

El uuid en mi caso es C1CBFA44-A8A9-4343-A88E-769B63A6E006. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el suyo en el /etc/fstab archivo.

Ahora, abra el /etc/fstab Archivo de la siguiente manera:

$ sudo vi /etc /fstab

Ahora, agregue la siguiente línea al /etc/fstab archivo.

Uuid = C1CBFA44-A8A9-4343-A88E-769B63A6E006
/Data Ext4 predeterminados, _netdev 0 0

Asegúrese de agregar el _netdev opción en el /etc/fstab Archivo al montar discos ISCSI. De lo contrario, su cliente CentOS 8 ISCSI no puede arrancar.

Ahora, puede montar el disco ISCSI por primera vez de la siguiente manera:

$ Montaje /datos de sudo

Como puede ver, el disco ISCSI está montado correctamente.

Entonces, así es como configura el servidor de almacenamiento ISCSI y el cliente en CentOS 8. Gracias por leer este artículo.