Cree almacenamiento seguro centralizado utilizando iSCSI Target en RHEL / CentOS / Fedora Part -I


iSCSI es un protocolo de nivel de bloque para compartir dispositivos de almacenamiento RAW a través de redes TCP/IP, compartir y acceder al almacenamiento a través de iSCSI, se puede utilizar con redes IP y Ethernet existentes como NIC, conmutadas, enrutadores, etc. iSCSI el destino es un disco duro remoto presentado desde un servidor (o) destino iSCSI remoto.

No necesitamos un gran recurso para una conectividad y un rendimiento estables en el lado del Cliente. iSCSI Server llamado como Destino , este recurso compartido es el almacenamiento del servidor. El cliente iSCSI se llama como iniciador , este accederá al almacenamiento que se compartió desde el servidor de destino. Hay adaptadores iSCSI disponibles en el mercado para servicios de almacenamiento grande, como SAN Storage.

Los adaptadores Ethernet (NIC) están diseñados para transferir datos a nivel de archivo en paquetes entre sistemas, servidores y dispositivos de almacenamiento como el almacenamiento NAS; no son capaces de transferir datos a nivel de bloque a través de Internet.

  1. Possible to run several iSCSI targets on a single machine.
  2. A single machine making multiple iscsi target available on the iSCSI SAN
  3. The target is the Storage and makes it available for initiator (Client) over the network
  4. These Storage’s are Pooled together to make available to the network is iSCSI LUNs (Logical Unit Number).
  5. iSCSI supports multiple connections within the same session
  6. iSCSI initiator discover the targets in network then authenticating and login with LUNs, to get the remote storage locally.
  7. We can Install any Operating systems in those locally mounted LUNs as what we used to install in our Base systems.

En virtualización, necesitamos almacenamiento con alta redundancia, estabilidad, iSCSI proporciona todo eso a bajo costo. Al crear un almacenamiento SAN a bajo precio en comparación con las SAN de canal de fibra, podemos usar los equipos estándar para construir una SAN utilizando hardware existente como NIC, Ethernet conmutada, etc.

Comencemos a instalar y configurar el almacenamiento seguro centralizado mediante iSCSI Target. Para esta guía, he utilizado las siguientes configuraciones.

  1. We need separate 1 systems to Setup the iSCSI Target Server and Initiator (Client).
  2. Multiple numbers of Hard disk can be added in large storage environment, But we here using only 1 additional drive except Base installation disk.
  3. Here we using only 2 drives, One for Base server installation, Other one for Storage (LUNs) which we going to create in PART-II of this series.
  1. Operating System – CentOS release 6.5 (Final)
  2. iSCSI Target IP – 192.168.0.200
  3. Ports Used : TCP 860, 3260
  4. Configuration file : /etc/tgt/targets.conf

Esta serie se llamará Preparación para la configuración del almacenamiento seguro centralizado mediante iSCSI a través de las partes 1-3 y cubre los siguientes temas.

Instalación de iSCSI Target

Abra la terminal y use el comando yum para buscar el nombre del paquete que debe instalarse para iscsi target.

# yum search iscsi
========================== N/S matched: iscsi =======================
iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils
lsscsi.x86_64 : List SCSI devices (or hosts) and associated information
scsi-target-utils.x86_64 : The SCSI target daemon and utility programs

Obtuvimos el resultado de la búsqueda como se muestra arriba, elegimos el paquete Target e instálalo para jugar.

# yum install scsi-target-utils -y

Enumere el paquete instalado para conocer la configuración predeterminada, el servicio y la ubicación de la página de manual.

# rpm -ql scsi-target-utils.x86_64

Iniciemos el servicio iSCSI y verifiquemos el estado del servicio en funcionamiento, el servicio iSCSI denominado tgtd.

# /etc/init.d/tgtd start
# /etc/init.d/tgtd status

Ahora necesitamos configurarlo para que se inicie automáticamente mientras se inicia el sistema.

# chkconfig tgtd on

A continuación, verifique que el nivel de ejecución esté configurado correctamente para el servicio tgtd.

# chkconfig --list tgtd

Usemos tgtadm para enumerar qué objetivos y LUNS tenemos configurados actualmente en nuestro servidor.

# tgtadm --mode target --op show

El tgtd se instaló y se está ejecutando, pero no hay salida del comando anterior porque aún no hemos definido los LUN en el servidor de destino. Para la página de manual, ejecute el comando "man".

# man tgtadm

Finalmente, necesitamos agregar reglas de iptables para iSCSI si hay iptables implementado en su servidor de destino. Primero, busque el número de puerto del destino iscsi usando el siguiente comando netstat, el destino siempre escucha en el puerto TCP 3260.

# netstat -tulnp | grep tgtd

A continuación, agregue las siguientes reglas para permitir que iptables difunda el descubrimiento de destino iSCSI.

# iptables -A INPUT -i eth0 -p tcp --dport 860 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp --dport 3260 -m state --state NEW,ESTABLISHED -j ACCEPT

Nota: La regla puede variar de acuerdo con su Política de CADENA predeterminada. Luego guarde las Iptables y reinicie las iptables.

# iptables-save
# /etc/init.d/iptables restart

Aquí hemos implementado un servidor de destino para compartir LUN con cualquier iniciador que se autentique con el destino a través de TCP/IP, lo que también es adecuado para entornos de producción de pequeña a gran escala.

En mis próximos artículos próximos, le mostraré cómo crear LUN usando LVM en el servidor de destino y cómo compartir LUN en las máquinas del cliente, hasta entonces, permanezca atento a TecMint para obtener más actualizaciones de este tipo y no olvide hacer comentarios valiosos.