En esta ocasión vamos a ver cómo podemos crear un Failover Cluster en máquinas virtuales, que luego podremos usar para otras experiencias.
Una ventaja importante de hacerlo con máquinas virtuales, es que podemos congelar estados (snapshots) con lo que podremos usar la instalación para diferentes pruebas. O inclusive animarnos a hacer esas experiencias de las que no estamos seguros de los resultados, ya que podremos recuperar fácil y rápidamente la configuración anterior.
El esquema que utilizaremos está documentado en la siguiente figura:
Necesitaremos las siguientes máquinas virtuales:
- Windows Server 2008-R2 para Controlador de Dominio
- Windows Server 2008-R2 para Nodo1 del Custer
- Windows Server 2008-R2 para Nodo2 del Cluster
- Windows Server 2008-R2 para instalar el iSCSI Target
- Windows 7 para cliente del Dominio
Para usar como iSCSI Target tenemos diferentes opciones como pueden ser:
- El producto Starwind con versión de prueba gratis (http://rocketdivision.com)
- FreeNAS (http://freenas.org)
- Windows Storage Server 2008-R2
- Y por supuesto podría ser un Storage iSCSI real
En este caso yo utilizaré Windows Storage Server para esta demostración. Si eligieran alguno de los otros productos variará solamente la forma de configurar el iSCSI Target, por lo cual deberán consultar su documentación.
Lo primero que debemos hacer es crear la estructura de las máquinas virtuales que utilizaremos.
Para ello debemos crear las 3 redes virtuales que utilizaremos. Yo las denominé:
- Red Interna (Verde): que es donde se ubican los clientes que accederán al Cluster
- Red Heartbeat (Roja?): que es la que usarán los nodos del Cluster para la comunicación propia del servicio
- Red iSCSI (Azul): que es donde está el iSCSI Target, y donde se comunicará con los nodos del Cluster
Descarto que todos los que están leyendo esto saben instalar el sistema operativo en los equipos, y unirlos al dominio, así que no describiré el procedimiento, aunque sí haré algunas recomendaciones:
- Ponerle a cada conexión de red el nombre de la red a la que está conectada
- Bajar todos los cortafuegos, para no complicar este laboratorio de prueba
- Verificar la conectividad (PING Dir-IP) entre todos los equipos
- En ambos nodos que formarán el Cluster, en las propiedades avanzadas de TCP/IP de las interfaces a Red iSCSI y Red Heartbeat, desmarcar la opción para registrar la conexión en DNS
- Ambos nodos del Cluster deben estar exactamente igual configurados, desde el punto de vista hardware y configuración del software (configuración regional por ejemplo)
- El iSCSI Target, que yo llamaré WSS (Windows Storage Server) está en Grupo de Trabajo (Workgroup)
- Cuando lleguen a este punto de la configuración y de acuerdo al software de virtualización que usen, recomiendo que hagan un “snapshot inicial”, para poder volver atrás ante cualquier problema
Teniendo las máquinas instaladas y unidas al Dominio (salvo el WSS), y verificados los puntos anteriores, podemos comenzar la configuración.
En la configuración de hardware del WSS yo he puesto dos discos adicionales, en los que he creado volumenes y asignado letras (E: y F:). En estos crearé respectivamente el disco de Quorum, y el de Storage (almacenamiento de información); el primero de 20GB y el segundo de 60GB
Empecemos configurando el WSS. Para eso conectamos el DVD o el ISO que contiene el iSCSI Storage (iSCSI_Software_Target_33.iso) y en el autoarranque elegimos instalar el iSCSI Target
Sólo demos, aceptar la licencia, elegir la carpeta de instalación, si queremos unirnos al Customer Experience Improvement Program, si usaremos Windows Update, y finalmente Install
Ahora vamos a comenzar con los nodos del Cluster. Debemos iniciar y configurar el iSCSI Initiator en ambos nodos.
Para esto en ambos nodos ingresamos a Panel de Control, e ingresamos a iSCSI Initiator. Aceptamos que arranque automático
En la ficha Discovery, elegimos el botón Discovery Portal y anotamos la dirección IP del WSS (192.168.100.100) dejando el puerto por omisión
Ahora iremos al WSS a configurar el iSCSI Target. Para esto entramos en Administrative Tools, Microsoft iSCSI SoftwareTarget
Y con botón derecho sobre iSCSI Targets, elegimos Create iSCSI Target, yo le he dado nombre “WSS-Target”, y cuando nos pregunte por los iSCSI Initiators Identifiers, entramos por el botón Advanced, luego Add, luego Browse, y agregamos el primer nodo. Repetimos para agregar el segundo nodo. No preocuparse porque nos avisará que el agregar más de un nodo es para Cluster ya que es justamente lo que estamos haciendo, y seguimos hasta finalizar el asistente
Luego de finalizar el asistente quedará así:
Ahora debemos crear los Devices que serán discos virtuales (VHD) para el Quorum y para el Storage, uno en cada disco adicional de WSS
Así que, botón derecho sobre WSS-Target y elegimos Create Virtual Disk for iSCSI Target. Para el primero elijo E:Quorum.vhd
Elijo el tamaño total del disco. Atención que en el cuadro uno está en MB y otro en GB
Como Descripción le doy “Quorum Disk” y sigo el asistente hasta finalizar
Ahora repetimos en forma análoga para el Storage Disk
Quedará así:
Llegados a este punto debemos volver a los nodos y en el iSCSI Initiator, ficha Targets, darle al botón Refresh para que aparezca nuestro Target
Entrar por el botón Connect y confirmar que está marcada la opción para conectarse automáticamente
Repetir el procedimiento en el Nodo2, y luego apagarlo
Ahora en el Nodo1, vamos al administrador de discos, veremos ambos discos que hemos creado en el WSS. Debemos ponerlos Online, Inicializarlos y crear los volúmenes
Yo les he asignado las letras Q: (Quorum) y S: (Storage)
Luego de esto ya podemos levantar el Nodo2
Llegados a este punto desde Server Manager ya podemos instalar el Feature, Failover Cluster en ambos nodos.
Luego de finalizado lo anterior, desde cualquiera de los nodos, entramos a Administrative Tools, Failover Cluster Manager
Y entramos a Validate a Configuration. En el asistente agregamos ambos nodos y elegimos que efectue All Tests. Trabajará un rato y podemos aprovechar para tomar rápido un café
Si todo va bien, cuando volvamos nos encontraremos que todo fue bien. Puede ser que aparezca un Warning con la configuración de red que en este escenario no debería preocuparnos ya que no afectará a la configuración
Así que ahora podemos comenzar a crear el Cluster
Agregamos los nodos
Atención con esta pantalla. Debemos indicar el nombre que tendrá el Cluster, yo elegí “Cluster”. Desmarcar todas las interfaces de red, salvo por la que atenderá el Cluster, y asignarle una dirección IP al mismo
Debemos verificar que ambos nodos queden en “Up”
En las propiedades del la red 192.168.100.0/24 no permitiremos comunicación entre los nodos porque es la del iSCSI
En las propiedades de la red 192.168.200.0/24 si permitiremos comunicación entre los nodos, ya que está justamente para eso
Y por último en las propiedades de la red 192.168.1.0/24 permitiremos el acceso de los clientes
Podemos verificar en DC que se ha creado el regisro A en el DNS (Como así también que me equivoqué cuando puse el nombre al Cluster, y escribí Clluster, aunque a esta hora ya no lo comienzo nuevamente el procedimiento
Y además podemos verificar que desde CL1 se resuelve correctamente el nombre
Vamos a dejar para futuras notas, lo que podemos configurar sobre este cluster. Tengo pensado comenzar por opciones sencillas como por ejemplo un File Server, Print Server, o algún servicio “cluster-aware”
Comments
Fatal error: Uncaught Error: Call to undefined function ereg() in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php:333 Stack trace: #0 F:\blogs.itpro.es\wp-content\themes\notesil\functions.php(35): notesil_commenter_link() #1 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(179): notes_comments(Object(WP_Comment), Array, 1) #2 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(145): Walker_Comment->start_el('', Object(WP_Comment), 1, Array) #3 F:\blogs.itpro.es\wp-includes\class-walker-comment.php(139): Walker->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #4 F:\blogs.itpro.es\wp-includes\class-wp-walker.php(387): Walker_Comment->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #5 F:\blogs.itpro.es\wp-includes\comment-template.php(2174): Walker->paged_walk(Array, '5', 0, 0, Array) #6 F:\blogs.itpro.es\wp-content\themes\notesil\comments.php(25): wp_list_comments('type=comment&ca...') #7 F:\blogs.itpro.es\wp-includes\comment-template.php(1512): require('F:\\blogs.itpro....') #8 F:\ in F:\blogs.itpro.es\wp-content\themes\notesil\functions.php on line 333