Creando una iSCSI SAN con una Máquina Fuera de Uso

Uno de los temas que nos preocupa a los que vivimos haciendo pruebas y simulaciones en en ambiente de prueba, es que por usar mucho un sistema de máquinas virtuales tenemos dos inconvenientes:

  • No hay espacio en disco que alcance
  • La muy rápida obsolescencia de las máquinas que en su momento tanto nos han costado

En mi caso personal tengo un equipo con procesador Core2Quad y 4GB de RAM, que aunque tiene buen sistema de discos, está prácticamente fuera de uso, porque para virtualizar ya no sirve
Lo que tiene de bueno, es que tiene dos placas de red capaces de 1Gb

Para aprovecharla y buscándole utilidad he decidido probar qué sucede si la configuro como una unidad de almacenamiento iSCSI para las máquinas virtuales que uso en mi equipo de trabajo (el “nuevo”)

Por las dudas y para los que no conozcan de qué se trata iSCSI haré un pequeñísimo resumen

iSCSI es una forma de transmitir los comandos de disco iSCSI sobre una red TCP/IP.
De esa forma un disco iSCSI en un servidor (con iSCSI Target Server), lo puedo ver como disco local en otro equipo (con iSCSI Initiator)

El componente “iSCSI Target Server” está incluido en el propio sistema operativo a partir de Windows Server 2012. Para Windows Server 2008-R2 se puede descargar desde el sitio de Microsoft

El componente “iSCSI Initiator” está incluido en todos los sitemas operativos tanto servidores como cliente, sólo que el servicio no tiene arranque automático.

Sigamos con el tema que nos interesa

Revisando los componentes de cada uno de los equipos he visto que cada uno, tanto el de trabajo como el obsoleto, tenían una segunda conexión de red de 1Gb ¡Esto está interesante! Ya mismo preparé un cable de red cruzado y las interconecté directamente por esta segunda placa de red

Los nombres y configuración no son reales pues estoy haciendo esta demostración con máquinas virtuales, cada uno la adaptará a su ambiente. El esquema de conexión es básicamente como muestra la siguiente figura

La red con salida a Internet, llamada “Ethernet” utiliza direccionamiento IP 192.168.1.0/24

Y la red, con cable “cruzado”, llamada “iSCSI” utiliza direccionamiento IP 192.168.2.0/24

Muestro a continuación la salida de un IPCONFIG /ALL de ambos equipos

Esto es de SRV1 que tendrá el “iSCSI Initiator” (el que accederá a los discos de SRV2)

Y esto de SRV2, que tendrá el “iSCSI Target Server” (el que expondrá discos a SRV1

Pensando un poco cómo iba a funcionar me encontré con dos temas a resolver:

  1. Que no tomara la red “iSCSI” como pública, sino que la pudiera configurar como privada
  2. Que cuando se tenga que acceder desde SRV1 a SRV2, lo hiciera por la red iSCSI, y no por la Ethernet que comparte con el resto de equipos de la red

Para el punto 1. ya lo había resuelto en la nota Cómo Cambiar en Windows de Red Pública a Privada [Actualizado Window 8 / Windows Server 2012], lo que necesitaba era tener configurado en la red una Puerta de Enalce que exista, pero el problema a resolver era que no interfiriera con la salida a Internet

Lo resolví de la siguente manera: en la configuración avanzada de TCP/IPv4 de la interfaz iSCSI puse como Puerta de Enlace (Default Gateway) a la otra máquina, pero le cambién la métrica, en lugar de automática la elevé a 500 y con eso me aseguro que siempre use la salida a Internet de la red Ethernet

Me da una advertencia sobre el tener dos puertas de enlace, pero como sé lo que estoy haciendo y el objetivo, acepto sin preocuparme por el tema

Queda pare resolver el segundo tema, que se acceda desde SRV1 a SRV2 y viceversa a través de la red iSCSI, y no a través de la Ethernet

Eso lo solucioné fácilmente, editando el archivos HOSTS de ambos equipos y haciendo una entrada manual, en SRV1 para SRV2, y en SRV2 para SRV1

Muestro los contenidos de ambos archivos HOSTS

El de SRV1

Y el de SRV2

Teniendo todo lo necesario preparado, instalaré en SRV2 el componente “iSCSI Target Server” de la forma habitual y según el asistente mostrado a continuación

Agrego los complementos necesarios

Ahora, continuando en SRV2 vamos a configurar el iSCSI Target server, para eso en Server Manager, vamos a “File and Storage Services” y seleccionamos “iSCSI”

Luego en “Tasks” seleccionamos “New iSCSI Virtual Disk …” (porque en realidad crea un VHD o VHDX que expondrá a otros equipos) y seguimos el asistente como muestran las figuras

Yo lo crearé en el mismo disco C:\ donde está el sistema operativo por una limitación propia, pero sería conveniente tener otro disco físico y seleccionarlo

Le damos un nombre

Asignamos el tamaño que deseemos

Y lo debemos asignar a un Target, que como no hemos creado uno el sistema nos  sugerirá crearlo

Asignamos un nombre al Target

Debemos configurar cuál o cuáles serán los “iSCSI Initiators” que se conectarán a este Target, en mi caso he optado por usar direcciones IP para que no existan confusiones

No me preocuparé ahora por autenticación

Podemos comprobar que se ha creado el correspondiente disco VHD

Teniendo ya toda la configuración en el Target, ahora debemos con figurar el “iSCSI Initiator” en SRV1

Para eso desde Server Manager, Tools, elegimos “iSCSI Initiator”

Iniciamos el servicio

Ingresamos la dirección IP del Target y seleccionamos “Quick Connect”

Observermos que se conecta

Y como lo que tenemos para conectar es un único disco, desde la ficha “Volumes and Devices” seleccionamos “Auto Configure”

Si en SRV1 vamos a Disk Managemente, veremos que aparece un nuevo disco, el disco que en realidad está en SRV2
Como si fuera un disco local a SRV1, debemos ponerlo Online, Inicializarlo y por último crear un volumen (o más)

No mostraré cómo crear un volumen en un disco “local” :-)

Hay cuadro “molestos” :-(

Ya está todo, tenemos un “disco local”, que en realidad está en otra máquina

Cuánto provecho se le puede sacar a esta configuración va a variar de acuerdo a los elementos que tengamos, y al uso que vayamos a dar

En mi caso, me interesa que tenga buena velocidad de acceso, porque lo usaré para máquinas virtuales. Quizás el que lo quiera solamente como almacenamiento no le importe tanto la velocidad, sino el espacio disponible

En mi caso y con una red iSCSI configurada a 1Gb, copiando archivos he medido velocidades de aproximadamente 980Mbps (122MB/Sec) que son equivalentes aproximadamente a las de acceso a un disco local, por lo que lo considero aceptable

Espero que con esto a cada uno se le ocurran ideas para aprovechar ese “hardware viejo que ya no utilizamos”

Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Nacho  On 25/03/2013 at 06:20

    Muy bueno el artículo, y muy sencillo de hacer, me has dado una buena idea.

    • Delprato  On 25/03/2013 at 09:25

      Un detalle que he mejorado. Cuando prendes la “máquina principal” y la que contiene los discos está apagada, demora más el arranque pues trata de conectarlos
      Entonces lo que he hecho, es poner el servicio “iSCSI Initiator” con arranque tipo Manual, y lo levanto sólo cuando lo necesito

  • Juan carlos  On 27/03/2013 at 14:03

    Excelent, querido amigo, en verdad, quisiera saber si el cambio que haces en la MÉTRICA Y LOS ARCHIVOS HOST, se haría si creo un a SAN con equipos servidor real ?

    • Delprato  On 27/03/2013 at 14:11

      Yo lo tengo funcionando en real como dice la nota, sólo cambian nombres e IPs

      Por las dudas, sólo ten en cuenta lo que le comento a Nacho

  • Eugenio  On 22/05/2013 at 04:45

    Llevo una semana pegandome con iscsi, y creo que no tengo claros los conceptos. He instalado en un 2012 server un target iscsi (sin problema), he hecho un iscsi initiator en varios puestos (sin problema), cada puesto ya tiene el disco duro que cree en el servidor, ahora viene mi pregunta, si yo creo un archivo en ese disco duro…¿los demas puestos pueden ver ese archivo?, creo un archivo desde cada cliente pero solamente pueden ver su propio archivo y no el de los demas.
    Alguien me puede aclarar esto? gracias.

    • Delprato  On 22/05/2013 at 08:31

      Hola Eugenio, si no tienes montado un “Failover Cluster” el disco que creas en el “iSCSI Target” no se lo puedes asignar a más de un equipo.
      O sea que cada disco debería estar asignado a un equipo solamente (iSCSI Initiator)

      Otra cosa diferente es si tuvieras creado en Cluster, pues en ese caso se usa CSV (Cluster Shared Volume)

  • Jesús Rodríguez  On 06/01/2015 at 16:29

    Hola, no has llegado a probarlo sin la modificación del fichero hosts? dado que configuras toda la parte iSCSI por IP no creo que tuvieras problemas, aunque no sé si en algún punto puede estar haciendo resolución inversa o similar… Además eso permitiría que el tráfico de red entre las máquinas cuando accedes por nombre fuera por la red Ethernet y no por la iSCSI.

    • Guillermo Delprato  On 06/01/2015 at 18:21

      Hola Jesús, efectivamente funciona perfectamente sin el archivos HOSTS, siempre y cuando en el “iSCSI Initiator” le indique al “iSCSI Target” con dirección IP
      Respecto a lo otro, mi idea era que no se accediera a esa máquina desde otro equipo. Y si fuera necesario en algún momento simplemente colocando la dirección IP de la red “Ethernet” sería posible. Más te digo le he dejado habilitada dicha conexión para permitir las actaulizaciones
      El objetivo era una máquina fuera de uso en mi laboratorio de pruebas, no hay Dominio :)

Trackbacks

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: