Hiperconvergencia con Storage Spaces Direct S2D

Una de las novedades que incluye Microsoft Windows Server 2016, y que he podido ver crecer de muy cerca con el equipo de producto de Microsoft, es Storage Spaces Direct o S2D para los amigos.

Esta funcionalidad, característica, o como queráis decir, viene de serieno hay que intalar ni añadir nada adicional al servidor para utilizarla. ¡Es una función nativa del propio sistema operativo! Permite llevar a la práctica la definición Storage as a Software, que parece ser esté tan de moda hoy en día. Permite desplegar un entorno hiperconvergente, si así lo queréis llamar, es decir: memoria, procesador y almacenamiento en una sola máquina.

Me explico, si tenéis que crear un cloud privado con alta disponibilidad, una de las opciones a aplicar es disponer de dos servidores (nodos), que ejecutan los procesos mediante memoria y procesador (máquinas virtuales) y que a la vez están conectados a un almacenamiento compartido (cabina SAN), donde se guardan los archivos de las máquinas virtuales. De esta forma si uno de los nodos cae o es necesario parar por mantenimiento, el otro coge el control de las máquinas virtuales.

Microsoft Storage Spaces Direct permite crear entornos hiperconvergentes y sistemas de archivos escalares con cualquier servidor.

Desplegar los entornos de SAN, digamos que relativamente puede ser un poco costoso, todo depende de las necesidades. No aplica si no tengo grandes volúmenes de información o, si aplica si tengo necesidad de distribuir información en diferentes sitios, por ejemplo. Y aquí es donde entra la hiperconvergencia, permitiendo aprovechar parte de las capacidades de memoria y procesador para llevar a cabo las operaciones con el almacenamiento de forma distribuida entre los diferentes equipos, creando una cabina de almacenamiento SAN «virtual». Pongo «virtual» entre comillas, porque a diferencia de la gran mayoría de fabricantes, Microsoft Windows Server 2016 Storage Spaces Direct no utiliza máquinas virtuales para hacerlo. Es una evolución más del clúster tradicional de toda la vida, donde además de servir para máquinas virtuales, también sirve para ofrecer servicios de archivos escalares y destinos de iSCSI.

Para los que sois escépticos con cosas nuevas, sabed que no es una tecnología reciente de Microsoft Windows Server 2016, sino que es una evolución, ya muy madurada, de lo que se empezó con Microsoft Windows Server 2012 R2 con los Storage Spaces.

Bien no me enrollo más con la introducción y vamos a ver como se configura esto, que es «muy complicado» de montar.

 

Configuración de un clúster con Storage Spaces Direct S2D

Si bien a fecha de hoy todavía no hay la versión definitiva de Microsoft Windows Server 2016, si está soportada su configuración con la versión Technical Preview 5.

El montaje en laboratorio es un poco complicado, estamos pidiendo desde el grupo que se nos permita montarlo para pruebas de concepto en máquinas virtuales, como que se trata de gestionar hardware, hardware se necesita.

Para entornos productivos: mínimo tres nodos, para permitir la parada de uno de ellos sin pérdida de servicio,tres discos, SAS, SATA SSD, SSD y NVMe; de datos en cada nodo.

Para entender la configuración, he montado un pequeño laboratorio utilizando dos nodos con tres discos SATA, que nunca pondría en producción. Sí, para las pruebas de concepto se pueden utilizar discos SATA, pero, repito, no están soportados en entornos en producción. Se ha configurado un RAID 1 de dos discos para el sistema operativo Microsoft Windows Server 2016. Los otros tres discos se han presentado al sistema operativo como RAID-0 individual de cada disco (no he juntado en ningún momento los tres discos ) o JBOD, por lo tanto, el sistema visualiza cuatro discos físicos independientes en cada servidor.

s2d-02esp

La ídea es crear un pool de disco (juntar los 6 discos de datos) donde poder crear discos virtuales. Alerta que no es el mismo concepto de disco que utilizo para una máquina virtual, sino que estaríamos haciendo el símil de disco virtual de cabina de almacenamiento, de volumen físico.

Partimos pues del sistema operativo Microsoft Windows Server 2016 Technical Preview 5 instalado, tal cual, en los dos nodos. Se ha añadido el rol de Hyper-V y la característica de clúster de alta disponibilidad. Este último se ha configurado siguiendo el procedimiento estándar.

s2d-03

Comprobamos el estado de los discos abriendo el Administrador de Discos, desde el menú Inicio.

s2d-04

 

Se tiene que visualizar el disco del sistema operativo y tres discos más a disposición. Puede ser que estos discos se tengan que inicializar (botón derecho sobre el disco y  marcar Inicializar disco). No deben tener ningún volumen o partición creados, sólo que queden a disposición.

s2d-05

Comprobamos la configuración del clúster de Microsoft Windows Server 2016. Desde el menú Inicio > hacer clic en Windows Administrative Tools.

s2d-06

Hacer clic en Failover Cluster Manager.

s2d-07

Se inicia el Administrador del clúster. Comprobar que los nodos están levantados y saludables.

s2d-08

La misma comprobación se debe hacer con las redes. Asegurar que tenemos la de conexión desde la red empresarial y una de dedicada entre los dos nodos que es por donde debe pasar el tráfico de comunicación entre ellos.

s2d-09

 

Sí, tenemos una carpeta de almacenamiento, si comprobamos los pools (que corresponderá a los Storage Spaces Direct S2D) existentes, los encontramos en blanco, es decir, no tenemos ninguno.

s2d-10

 

El clúster de Storage Spaces Direct S2D, de momento, sólo se puede habilitar desde la PowerShell. Iniciamos una sesión con privilegios de administrador de PowerShell y le pasamos la instrucción indicando un nombre para el pool que se quiere crear, por ejemplo S2D:

Enable-ClusterS2D -PoolFriendlyName S2D

Bien, en el caso de disponer de discos SATA para laboratorio, terndremos que obviar la comprobación de disco, con el que la instrucción sería:

Enable-ClusterS2D -PoolFriendlyName S2D -SkipEligibilityChecks

Se inicia el asistente de configuración, esperar un rato mientras se encarga de configurarlo todo.
s2d-14

Una vez que ha acabado, volvemos al administrador del clúster de alta disponibilidad. En el apartado de Almacenamiento > Pools encontramos un nuevo pool, el que se acaba de crear. Si se marca, en la parte inferior encontramos información referente a él: que discos virtuales tiene asociados, que discos físicos lo forman, que tamaño tiene, cuál de los nodos lo controla, etc…

s2d-16

Haciendo clic en la pestaña Discos Virtuales del pool seleccionado, todavía no encontramos ningún disco virtual. En la parte derecha, de acciones, hacer clic en Nuevo Disco Virtual.

s2d-17

Se inicia el asistente para crear un nuevo disco virtual. Seleccionar el pool existente y hacer clic en el botón Siguiente.

s2d-19

Indicar el nombre del disco virtual. En caso que el pool esté formado por discos de diferentes tecnologías, SSD y SAS por ejemplo. Tenemos la posibilidad de marcar el checkbox para hacer tiering de los datos entre ellos. Hacer clic en el botón Siguiente para continuar.

s2d-20

Indicar la tolerancia a nivel de enclosure (servidor que contiene discos). Como que es un laboratorio y no dispongo de 3 servidores no se me permite activar esta característica, cosa que quiere decier que en caso de apagar uno de los servidores me quedaré sin servicio. Así se informa en la parte inferior. Hacer clic en el botón Siguiente para continuar.

s2d-21

Escoger el tipo de tolerancia que debe tener el disco duro virtual. Hacer clic en Siguiente para continuar:

  • Simple – un RAID-0
  • Mirror – un RAID-1
  • Parity – un RAID-5

s2d-22

En caso de haber seleccionado Mirror (RAID-1) se nos da a escoger la resiliencia que debe tener el disco. Naturalmente, afecta a la cantidad de espacio necesario para guardar los datos ya que se hacen más copias. Hacer clic en el botón Siguiente para continuar:

  • Two-way mirror – El de toda la vida, sólo permite la caída de uno de los discos del sistema.
  • Three-way mirror – Un nivel más alto de resiliencia que permite la caída de hasta dos discos del sistema.

s2d-23

Indicar el tamaño del disco virtual (como si de un volumen de cabina se tratase). Hacer clic en el botón Siguiente para continuar.

s2d-24

Resumen para confirmar la creación del disco virtual, si todo está correcto, hacer clic en el botón Crear.

s2d-25

El asistente de configuración se pone en marcha para crear el nuevo disco virtual y dejarlo todo a punto. Esperar a que acabe. Observar que una vez acaba se nos pide la posibilidad de crear un volumen sobre el disco virtual (un disco virtual por si solo no hace nada, es un disco en bruto), recomiendo dejarlo marcado y hacer clic en el botón Cerrar.

s2d-27

Se inicia el asistente de creación de un nuevo volumen. Hacer clic en Siguiente para continuar.

s2d-28

¿Donde se crea este nuevo volumen? Seleccionar el clúster y el disco virtual disponible donde crear el volumen. Hacer clic en el botón Siguiente para continuar.

s2d-29

Indicar el tamaño del volumen, por defecto el tamaño máximo del disco virtual. Hacer clic en Siguiente para continuar.

s2d-30

¿Se quiere asignar una unidad al volumen o lo dejamos para más adelante? Aquí según las necesidades de cada uno. Como mi objetivo es disponer de un almacenamiento compartido para máquinas virtuales, selecciono no asignar una unidad de red o carpeta para tener el volumen disponible en el clúster. Hacer clic en el botón Siguiente para continuar.

s2d-31

Seleccionar el sistema de archivos del volumen. Como he comentado anteriormente, quiero poner máquinas virtuales, utilizaré ReFS, pero también podría utilizar NTFS. Todo depende de las necesidades de los servicios o características que tenga. Indicar el nombre del volumen y hacer clic en el botón Siguiente para continuar.

s2d-32

Resumen de las operaciones a realizar para crear el nuevo volumen sobre el disco virtual. Si todo está correcto, hacer clic en el botón Crear.

s2d-33

Muy bien, ya tenemos el volumen creado. Hacer clic en el botón Cerrar.

s2d-35

Volver al Administrador del clúster, en el apartado Almacenamiento > Pools. Seleccionar el pool que tenemos creado, en la parte inferior, en la pestaña de Discos Virtuales, se puede ver el nuevo disco que a la vez contiene un volumen. Felicidades, ya tenéis el primer Storage as a Software definido.

s2d-36

Vamos a los discos disponibles en el clúster para convertir el volumen en un volumen compartido por los nodos que conforman el clúster. Seleccionar el volumen, botón derecho y hacer clic en Añadir a Volumen de Clúster Compartido.

s2d-37

El volumen ha pasado a formar parte del clúster como volumen de clúster compartido.

s2d-38

Se puede comprobar en el sistema de archivos de cada nodo que se les ha creado la carpeta ClusterStorage en la raíz de la unidad C: y que en su interior se encuentra el volumen compartido accesible para lectura y escritura desde todos los nodos.

Gracias a los Storage Spaces Direct S2D tenemos una cabina de almacenamiento compartido a disposición.

s2d-40

 

Máquina virtual en el clúster con Storage Spaces Direct S2D

Desde el Administrador de Hyper-V, se puede crear una nueva máquina virtual, alojándola en el volumen de clúster compartido.

s2d-42

Añadir esta máquina virtual al clúster…

s2d-43

y pasarla de un servidor a otro sin parar, igual como si tuviera la cabina de almacenamiento.

s2d-45

Y sí, el Storage Spaces Direct S2D ofrece más posibilidades a nuestra infraestructura que iré publicando en artículos más adelante.

 

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

Similar Posts by The Author:

 

2 comentaris per a
“Hiperconvergencia con Storage Spaces Direct S2D”

  1. Buen articulo, Seria interesante ver una solucion de HCI con tres nodos para poder utilizar Three way mirroring., por otro lado. tambien seria interesante ver como es la recuperacion en caso de falla.

     

Deixar un comentari

Recorda que no es contestaran preguntes personals, només d´interés comú que ens enriqueixin a tots.
La teva adreça de correu electrònic no serà publicada. Els camps obligatoris estan indicats.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.