Puedes crear un clúster de conmutación por error con Windows Server en Google Cloud Platform (GCP). Un grupo de servidores trabaja en conjunto con el fin de proporcionar una mayor disponibilidad (HA) para tus aplicaciones de Windows. Si un nodo de clúster falla, otro nodo puede hacerse cargo de la ejecución del software. Puedes configurar la conmutación por error para que se realice de forma automática, que es la configuración habitual, o puedes activar una conmutación por error de forma manual.
En este instructivo, se supone que estás familiarizado con el agrupamiento en clústeres de conmutación por error, Active Directory (AD) y la administración de Windows Server.
Si quieres obtener una breve descripción general de las herramientas de redes de GCP, consulta GCP para profesionales de centros de datos: herramientas de redes.
Arquitectura
En este instructivo, se explica cómo crear un clúster de conmutación por error de ejemplo en Compute Engine. El sistema de ejemplo contiene los dos servidores siguientes:
- Una instancia de VM principal de Compute Engine que ejecuta Windows Server 2016 en la zona
a
. - Una segunda instancia, configurada para que coincida con la instancia principal en la zona
b
.
Además, se implementa un controlador de dominio de AD que, en este instructivo, cumple las funciones siguientes:
- Proporciona un dominio de Windows.
- Resuelve nombres de host para direcciones IP.
- Aloja el testigo de archivos compartidos que actúa como un tercer "voto" para a fin de lograr el quórum necesario para el clúster.
Puedes crear el controlador de dominio en cualquier zona. Este instructivo usa la zona c
.
En un sistema de producción, puedes alojar el testigo del uso compartido de archivos en otro lugar y no necesitas un sistema de AD distinto solo para asistir a tu clúster de conmutación por error. Consulta Próximos pasos para obtener vínculos a artículos sobre el uso de AD en GCP.
Los dos servidores que usarás para implementar el clúster de conmutación por error se encuentran en zonas diferentes a fin de garantizar que cada servidor se encuentre en una máquina física diferente y para proteger contra la posibilidad improbable de una falla zonal.
En el diagrama siguiente, se describe la arquitectura que implementas con este instructivo.
Opciones de almacenamiento compartido
En este instructivo, no se abarca la configuración de un servidor de archivos para el almacenamiento compartido de alta disponibilidad.
Google Cloud admite múltiples soluciones de almacenamiento compartido que puedes usar con clústeres de conmutación por error de Windows Server, incluidas las siguientes:
Para obtener información sobre otras posibles soluciones de almacenamiento compartido, consulta las entradas siguientes:
Información sobre el enrutamiento de la red
Cuando el clúster falla, las solicitudes deben dirigirse al nodo activo nuevo. En general, la tecnología de agrupamiento en clústeres controla el enrutamiento mediante el protocolo de resolución de direcciones (ARP), que asocia las direcciones IP a las direcciones MAC. En GCP el sistema de nube privada virtual (VPC) usa redes definidas por software que no aprovechan las direcciones MAC. Esto significa que los cambios que transmite ARP no afectan el enrutamiento en absoluto. Para que el enrutamiento funcione, el clúster requiere ayuda a nivel de software por parte del balanceador de cargas interno.
Por lo general, el balanceo de cargas interno distribuye el tráfico de red entrante entre varias instancias de backend que son internas a tu VPC, para compartir la carga. Para clústeres de conmutación por error, en su lugar, usa todo el balanceo de cargas a fin de enrutar el tráfico a una sola instancia: el nodo del clúster activo en este momento. A continuación, te mostramos cómo el balanceo de cargas interno detecta el nodo correcto:
- Cada instancia de VM ejecuta una instancia de agente de Compute Engine que proporciona asistencia para el agrupamiento en clúster de conmutación por error de Windows. El agente realiza seguimiento de las direcciones IP de la instancia de VM.
- El frontend del balanceador de cargas proporciona la dirección IP para el tráfico entrante a la aplicación.
- El backend del balanceador de cargas proporciona una verificación de estado. El proceso de verificación de estado hace que el agente le haga ping a cada nodo del clúster de forma periódica mediante la dirección IP fija de la instancia de VM a través de un puerto en particular. El puerto predeterminado es 59998.
- La verificación de estado incluye la dirección IP de la aplicación como carga útil en la solicitud.
- El agente compara la dirección IP de la solicitud con la lista de direcciones IP de la VM host. Si el agente encuentra una coincidencia, responde con el valor 1. De lo contrario, responde con 0.
- El balanceador de cargas marca todas las VM que pasen la verificación de estado como en buen estado. En algún momento, solo una VM pasa la verificación de estado porque solo una VM tiene la dirección IP para la carga de trabajo.
Qué sucede durante una conmutación por error
Cuando se produce una conmutación por error en el clúster, se aplican los cambios siguientes:
- El clúster de conmutación por error de Windows cambia el estado del nodo activo para indicar que falló.
- El clúster de conmutación por error mueve los recursos y funciones del clúster del nodo que falla al mejor nodo, según lo define el quórum. Esta acción incluye mover las direcciones IP asociadas.
- El agrupamiento en clúster de conmutación por error transmite paquetes ARP para notificar a los routers de red basados en hardware que se movieron las direcciones IP. En esta situación, la red de GCP ignora esos paquetes.
- Después del traslado, el agente de Compute Engine en la VM del nodo con errores cambia su respuesta a la verificación de estado de 1 a 0, porque la VM ya no aloja la dirección IP especificada en la solicitud.
- El agente de Compute Engine en la VM para el nodo recién activo también cambia su respuesta a la verificación de estado de 0 a 1.
- El balanceador de cargas interno detiene el enrutamiento del tráfico al nodo con errores y, en su lugar, enruta el tráfico al nodo activo nuevo.
Une todo
Ahora que ya revisaste algunos de los conceptos, te presentamos algunos detalles para tener en cuenta sobre el diagrama de arquitectura:
- El agente de Compute Engine para la VM denominada
wsfc-2
responde a la verificación de estado con el valor 1, lo que indica que es el nodo del clúster activo. Parawsfc-1
, la respuesta es 0. - El balanceador de cargas enruta las solicitudes a
wsfc-2
, como lo indica la flecha. - El balanceador de cargas y
wsfc-2
tienen la dirección IP10.0.0.9
. Para el balanceador de cargas, esta es la dirección IP de frontend especificada. Para la VM, es la dirección IP de la aplicación. El clúster de conmutación por error configura esta dirección IP en el nodo activo actual. - El clúster de conmutación por error y
wsfc-2
tienen la dirección IP10.0.0.8
. La VM tiene esta dirección IP porque por el momento está alojando los recursos del clúster.
Consejos para seguir este instructivo
Este instructivo tiene muchos pasos. A veces, se te pide que sigas los pasos de documentos externos, como la documentación de Microsoft. No te pierdas las notas de este documento que proporcionan detalles específicos para seguir los pasos externos.
En este instructivo, se utiliza Cloud Shell en la consola de Google Cloud. Si bien es posible usar la interfaz de usuario de la consola de Google Cloud o el SDK de Cloud para configurar los clústeres de conmutación por error, en este instructivo, se usa principalmente Cloud Shell a fin de simplificarte la tarea. Este enfoque te ayuda a terminar el instructivo más rápido. Cuando es más apropiado, en algunos pasos, se usa la consola de Google Cloud.
Es una buena idea tomar instantáneas de tus discos persistentes de Compute Engine durante el proceso. Si algo sale mal, puedes usar una instantánea y, así, evitar comenzar de nuevo desde el principio. En este instructivo, se sugieren ciertos momentos particulares en los que tomar las instantáneas.
Si algo no funciona como esperabas, puede que haya instrucciones en el artículo que estás leyendo. De lo contrario, consulta el artículo Solución de problemas.
Objetivos
- Crear una red
- Instalar Windows Server 2016 en dos VM de Compute Engine
- Instalar y configurar Active Directory en una tercera instancia de Windows Server
- Configurar el clúster de conmutación por error, incluido un testigo de uso de archivos compartidos para el quórum y una función destinada a la carga de destino.
- Configurar el balanceador de cargas interno
- Probar la operación de conmutación por error para verificar que el clúster esté funcionando
Costos
En este instructivo, se utilizan imágenes de Compute Engine que incluyen licencias de Windows Server. Esto significa que el costo de ejecutar este instructivo puede ser significativo si dejas las VM en ejecución. Es una buena idea detener las VMs cuando no las estés utilizando.
Consulta la Calculadora de precios a fin de obtener una estimación de los costos para completar este instructivo.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la API de Compute Engine.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la API de Compute Engine.
- Inicia una instancia de Cloud Shell.
Ir a Cloud Shell
Crea la red
Tu clúster requiere una red personalizada. Usa VPC para crear una red personalizada y una subred con la ejecución de comandos gcloud
en Cloud Shell.
Crea la red:
gcloud compute networks create wsfcnet --subnet-mode custom
El nombre de la red que creaste es
wsfcnet
.Crea una subred. Reemplaza
[YOUR_REGION]
por una región de GCP cercana:gcloud compute networks subnets create wsfcnetsub1 --network wsfcnet --region [YOUR_REGION] --range 10.0.0.0/16
El nombre de la subred que creaste es
wsfcnetsub1
.
Ten en cuenta que el rango CIDR para las direcciones IP de esta subred es 10.0.0.0/16
. En este instructivo, se usa un rango de ejemplo. En los sistemas de producción, se trabaja con tus administradores de red para asignar rangos adecuados a las direcciones IP de tus sistemas.
Crea reglas de firewall
De forma predeterminada, tu red se cierra al tráfico externo. Debes abrir puertos en el firewall para habilitar las conexiones remotas a los servidores. Usa los comandos gcloud
en Cloud Shell para crear las reglas.
Para los propósitos de este instructivo, abre el puerto 3389 en la red principal a fin de habilitar las conexiones RDP. En el comando siguiente, reemplaza
[YOUR_IPv4_ADDRESS]
por la dirección IP de la computadora que usas para conectarte a tus instancias de VM. En un sistema de producción, puedes proporcionar un rango de direcciones IP o una serie de direcciones.gcloud compute firewall-rules create allow-rdp --network wsfcnet --allow tcp:3389 --source-ranges [YOUR_IPv4_ADDRESS]
En la subred, habilita todos los protocolos de todos los puertos para permitir que los servidores se comuniquen entre sí. En los sistemas de producción, considera abrir solo puertos específicos, según sea necesario.
gcloud compute firewall-rules create allow-all-subnet --network wsfcnet --allow all --source-ranges 10.0.0.0/16
Ten en cuenta que el valor
source-ranges
coincide con el rango CIDR que usaste para crear la subred.Visualiza tus reglas de firewall:
gcloud compute firewall-rules list
Deberías ver un resultado similar al siguiente:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-all-subnet wsfcnet INGRESS 1000 all False allow-rdp wsfcnet INGRESS 1000 tcp:3389 False
Habilita agrupamiento en clústeres de conmutación por error en Compute Engine
Para habilitar la agrupación en clústeres de conmutación por error en el agente de Compute Engine, debes agregar la marca enable-wsfc=true
a tus definiciones de VM, ya sea especificándola como metadatos personalizados para la VM o creando un archivo de configuración en cada VM, como se describe en la documentación de Compute Engin.
En este instructivo, se define la marca como metadatos personalizados cuando se crean las VM, tal como se describe en el artículo siguiente. El instructivo también se basa en el comportamiento predeterminado de wsfc-addrs
y wsfc-agent-port
, por lo que no es necesario que establezcas estos valores.
Crea los servidores
A continuación, crea los 3 servidores. Usa el comando gcloud
en Cloud Shell.
Crea el primer servidor de nodos de clúster
Crea una instancia nueva de Compute Engine. Configúrala como se indica a continuación:
- Asígnale el nombre
wsfc-1
a la instancia. - Establece la marca
--zone
en una zona conveniente cercana. Por ejemplo,us-central1-a
. - Establece la marca
--machine-type
enn1-standard-2.
- Establece la marca
--image-project
enwindows-cloud
. - Establece la marca
--image-family
enwindows-2016
. - Establece la marca
--scopes
enhttps://www.googleapis.com/auth/compute
. - Establece la marca
--can-ip-forward
para habilitar el reenvío de IP. - Establece la marca
--private-network-ip
en10.0.0.4
. - Establece la red en
wsfcnet
y la subred enwsfcnetsub1
. - Usa el parámetro
--metadata
para establecerenable-wsfc=true
.
Ejecuta el comando siguiente y reemplaza [YOUR_ZONE_1]
por el nombre de tu primera zona:
gcloud compute instances create wsfc-1 --zone [YOUR_ZONE_1] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.4 --network wsfcnet --subnet wsfcnetsub1 --metadata enable-wsfc=true
Crea el segundo servidor de nodo de clúster
Para el segundo servidor, realiza los mismos pasos, a excepción de lo siguiente:
- Establece el nombre de la instancia en:
wsfc-2
. - Establece la marca
--zone
en una zona diferente a la zona que usaste para el primer servidor. Por ejemplo,us-central1-b
. - Establece la marca
--private-network-ip
en10.0.0.5
.
Reemplaza [YOUR_ZONE_2]
por el nombre de tu segunda zona:
gcloud compute instances create wsfc-2 --zone [YOUR_ZONE_2] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.5 --network wsfcnet --subnet wsfcnetsub1 --metadata enable-wsfc=true
Crea el tercer servidor para Active Directory
Para el controlador de dominio, realiza los mismos pasos, a excepción de lo siguiente:
- Establece el nombre de la instancia en:
wsfc-dc
. - Establece la marca
--zone
en una zona diferente de las zonas que usaste para los otros servidores. Por ejemplo,us-central1-c
. - Establece la marca
--private-network-ip
en10.0.0.6
. - Omite
--metadata enable-wsfc=true
.
Reemplaza [YOUR_ZONE_3]
por el nombre de tu zona:
gcloud compute instances create wsfc-dc --zone [YOUR_ZONE_3] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.6 --network wsfcnet --subnet wsfcnetsub1
Visualiza tus instancias
Puedes ver los detalles de las instancias que creaste.
gcloud compute instances list
Verás un resultado similar al siguiente:
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS wsfc-1 us-central1-a n1-standard-2 10.0.0.4 35.203.131.133 RUNNING wsfc-2 us-central1-b n1-standard-2 10.0.0.5 35.203.130.194 RUNNING wsfc-dc us-central1-c n1-standard-2 10.0.0.6 35.197.27.2 RUNNING
Conéctate a tus VM
A fin de conectarte a una VM basada en Windows, primero debes generar una contraseña para la VM. Luego, puedes conectarte a la VM mediante RDP.
Genera contraseñas
En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en el nombre de la instancia de VM para la que necesitas una contraseña nueva.
En la página de detalles de la instancia, haz clic en el botón Configurar contraseña de Windows. Se genera una contraseña para ti. Copia la contraseña y guárdala en un lugar seguro.
Conecta a través de RDP
En la documentación de Compute Engine, se proporcionan detalles sobre cómo conectarte tus instancias de VM de Windows mediante RDP. Para hacerlo, tienes las alternativas siguientes:
- Usa un cliente existente.
- Agrega un complemento Chrome RDP a tu navegador y, luego, conéctate a través de la consola de Google Cloud.
Siempre que este instructivo te indique que te conectes a una instancia de Windows, usa tu conexión RDP preferida.
Configura las redes de Windows
Las direcciones IP internas que asignaste al momento de crear las VM son estáticas. Para asegurarte de que Windows trate a las direcciones IP como estáticas, debes agregarlas, junto con las direcciones IP de la puerta de enlace predeterminada y el servidor DNS, a la configuración de red de Windows Server.
Usa RDP a fin de conectarte a wsfc-1
, wsfc-2
y wsfc-dc
y repite los pasos siguientes para cada instancia:
- En el Administrador de servidores, en el panel izquierdo, selecciona Servidor local.
- En la entrada Ethernet del panel Propiedades, haz clic en dirección IPv4 asignada por DHCP, habilitada para IPv6.
- Haz clic con el botón derecho en Ethernet y selecciona Propiedades.
- Haz doble clic en Protocolo de Internet versión 4 (TCP/IPv4).
- Selecciona Usar la dirección IP siguiente.
Ingresa la dirección IP interna que asignaste a la VM cuando la creaste.
- En
wsfc-1
, ingresa "10.0.0.4". - En
wsfc-2
ingresa "10.0.0.5". - En
wsfc-dc
, ingresa "10.0.0.6".
- En
En Máscara de subred, ingresa "255.255.0.0".
En Puerta de enlace predeterminada, ingresa
10.0.0.1
, la dirección IP que se reservó de forma automática para la puerta de enlace predeterminada cuando creaste la subredwsfcnetsub1
.La dirección IP para la puerta de enlace predeterminada siempre es la segunda dirección en el rango de IP principal de una subred. Consulta Direcciones inutilizables en rangos de subred IPv4
Solo para
wsfc-1
ywsfc-2
:Haz clic en Usar las direcciones siguientes de servidor DNS.
En Servidor DNS preferido, ingresa "10.0.0.6".
Cierra todos los cuadros de diálogo.
Se pierde conectividad RDP porque estos cambios restablecen el adaptador de red virtual para la instancia de VM.
Cierra la sesión de RDP y vuelve a conectarte a la instancia. Si un cuadro de diálogo del paso anterior todavía sigue abierto, ciérralo.
En la sección de propiedades del servidor local, verifica que la configuración Ethernet refleje la dirección IP del servidor local (
10.0.0.4
,10.0.0.5
,o
10.0.0.6
). Si no es así, vuelve a abrir el cuadro de diálogo Protocolo de Internet versión 4 (TCP/IPv4) y actualiza la configuración.
Este es un buen momento para tomar instantáneas de wsfc-1
y wsfc-2
.
Configura Active Directory
Ahora, configura el controlador de dominio.
- Usa RDP para conectarte al servidor llamado
wsfc-dc
. - Con la app de escritorio de Administración de computadoras de Windows, establece una contraseña para la cuenta de administrador local.
- Habilita la cuenta de administrador local.
Sigue los pasos de las instrucciones de Microsoft debajo para configurar el controlador de dominio con estas notas adicionales. Puedes usar valores predeterminados para la mayoría de las opciones de configuración.
- Selecciona la casilla de verificación de función Servidor DNS. Este paso no se especifica en las instrucciones.
- Selecciona la casilla de verificación Reiniciar el servidor de destino de modo automático si es necesario.
- Mueve el servidor de archivos a un controlador de dominio.
- Durante el paso Agregar un bosque, asígnale a tu dominio el nombre "WSFC.TEST".
- Establece el nombre de dominio en "WSFC" (predeterminado).
Este es un buen momento para tomar una instantánea de wsfc-dc
.
Crea la cuenta de usuario de dominio
Es posible que wsfc-dc
tarde un poco en reiniciarse. Antes de unir servidores al dominio, usa RDP para acceder a wsfc-dc
a fin de validar el funcionamiento del controlador de dominio.
Necesitas un usuario de dominio con privilegios de administrador para los servidores del clúster. Sigue estos pasos:
- En el controlador de dominio (
wsfc-dc
), haz clic en Iniciar y, luego, escribe dsa para buscar y abrir la app Usuarios y computadoras de Active Directory. - Haz clic con el botón derecho en WSFC.TEST, apunta a Nuevo y, luego, haz clic en Usuario.
- En Nombre completo y Nombre de inicio de sesión del usuario, ingresa
cluster-admin
. - Haz clic en Siguiente.
- Ingresa y confirma una contraseña para el usuario. Selecciona las opciones de contraseña en el cuadro de diálogo. Por ejemplo, puedes configurar la contraseña para que nunca caduque.
- Confirma la configuración y, luego, haz clic en Finalizar.
Convierte a
cluster-admin
en administrador enwsfc-dc
:- Haz clic con el botón derecho en
cluster-admin
y selecciona Add to a group. - Escribe Administradores y haz clic en Aceptar.
- Haz clic con el botón derecho en
En este instructivo, se usa la cuenta WSFC.TEST\cluster-admin
como cuenta de administrador siempre que se requiera. En un sistema de producción, sigue las prácticas de seguridad habituales para asignar cuentas y permisos. Para obtener más información, consulta Descripción general de las cuentas de Active Directory que necesita un clúster de conmutación por error.
Une los servidores al dominio
Agrega los dos servidores de nodos de clúster al dominio WSFC.TEST
. Realiza los pasos siguientes en cada servidor de nodos de clúster (wsfc-1
y wsfc-2
):
- En Administrador del servidor > Servidor local, en el panel Propiedades, haz clic en GRUPO DE TRABAJO.
- Haz clic en Cambiar.
- Selecciona Dominio y, luego, ingresa "WSFC.TEST".
- Haz clic en Aceptar.
- Proporciona las credenciales para que
WSFC.TEST\cluster-admin
se una al dominio. - Haz clic en Aceptar.
- Cierra los cuadros de diálogo y sigue las indicaciones para reiniciar el servidor.
En Administrador del servidor, haz que
cluster-admin
sea un administrador enwsfc-1
y enwsfc-2
. Si lo prefieres, puedes administrar privilegios de administrador mediante una política de grupo.- En el menú Herramientas, selecciona Administración de computadoras > Usuarios y grupos locales > Grupos > Administradores y, luego, haz clic en Agregar.
- Ingresa "cluster-admin" y haz clic en Verificar nombres.
- Haz clic en Aceptar.
Este es un buen momento para tomar instantáneas de las tres VM.
Configura clústeres de conmutación por error
Reserva una dirección IP para el clúster de Compute Engine
Cuando creas el clúster de conmutación por error, se asigna una dirección IP para crear un acceso de administrador. En un entorno de producción, es posible que uses una dirección IP de una subred independiente. Sin embargo, en este instructivo debes reservar una dirección IP desde la subred que ya creaste. Reservar la dirección IP evita entrar en conflicto con otras asignaciones de IP.
Abre una terminal en una VM host o abre Cloud Shell.
Reserva una dirección IP. En este instructivo, usa
10.0.0.8
:gcloud compute addresses create cluster-access-point --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.8
Para confirmar la reserva de la dirección IP, sigue estos pasos:
gcloud compute addresses list
Crea el clúster
Para crear y configurar el clúster de conmutación por error realiza lo siguiente:
- Usa RDP para conectar
wsfc-1
ywsfc-2
. Sigue los pasos de las instrucciones de Microsoft a continuación con estas notas adicionales:
- Instala la función del clúster de conmutación por error en
wsfc-1
ywsfc-2
. No instales la función del clúster de conmutación por error enwsfc-dc
. - Ejecuta la aplicación Administrador de clúster de conmutación por error como usuario del dominio
WSFC.TEST\cluster-admin
. De lo contrario, es posible que se produzcan problemas de permisos. Es recomendable ejecutar siempre el Administrador de clústeres de conmutación por error de esta manera o conectarse a un servidor comocluster-admin
para asegurarte de tener los permisos necesarios. - Agrega
wsfc-1
ywsfc-2
al clúster como nodos. Cuando valides la configuración, realiza lo siguiente:
- En la página Opciones de prueba, selecciona Ejecutar solo las pruebas seleccionadas y, luego, haz clic en Siguiente.
En la página Selección de prueba, borra Almacenamiento, porque la opción Almacenamiento fallará cuando se ejecute en Compute Engine (como lo haría para servidores físicos independientes).
Los problemas comunes que pueden surgir durante la validación del clúster incluyen los siguientes:
- Solo una interfaz de red entre réplicas. Puedes ignorarlo, ya que no se aplica en una configuración basada en la nube.
- Las actualizaciones de Windows no son las mismas en ambas réplicas. Si configuraste tus instancias de Windows para aplicar actualizaciones de forma automática, uno de los nodos podría haber aplicado actualizaciones que el otro aún no descargó. Debes mantener los servidores con configuraciones idénticas.
- Reinicio pendiente Realizaste cambios en uno de los servidores y necesita reiniciarse para que se apliquen. No ignores este mensaje.
- Los servidores no tienen la misma función de dominio. Puedes ignorar este mensaje.
- Los servidores no se encuentran en la misma unidad organizacional (UO). En este instructivo, no se usa una UO, pero en un sistema de producción, analiza poner tu clúster en su propia UO. En las instrucciones de Microsoft, se describen estas prácticas recomendadas.
- Se encontraron controladores sin firma. Puedes ignorar este mensaje.
En la página Resumen, puedes seleccionar Crear el clúster ahora con los nodos validados para continuar con la creación del clúster, en lugar de cerrar el asistente y volver a abrirlo.
En el asistente para crear clústeres, en la página punto de acceso, realiza lo siguiente:
- Asigna el nombre "testcluster" a tu clúster.
- En el campo Dirección, ingresa la dirección IP que reservaste antes,
10.0.0.8
.
- Instala la función del clúster de conmutación por error en
Agrega el administrador del clúster
Agregar una cuenta de dominio como administrador del clúster te permite realizar acciones en el clúster desde herramientas como Windows PowerShell. Agrega la cuenta de dominio cluster-admin
como administrador del clúster.
- En el nodo del clúster que aloja los recursos del clúster, en el Administrador de clúster de conmutación por error, selecciona tu clúster en el panel izquierdo y, luego, haz clic en Propiedades en el panel derecho.
- Selecciona la pestaña Permisos de clúster.
- Haz clic en Agregar y, luego, agrega
cluster-admin
. - Con
cluster-admin
seleccionado en la lista de nombres de grupos o usuarios, selecciona Control total en el panel Permisos. - Haz clic en Aplicar y en Aceptar.
Este es un buen momento para tomar instantáneas.
Crea el testigo de archivos compartidos
Tienes un clúster de conmutación por error de dos nodos, pero el clúster usa un mecanismo de votación para decidir qué nodo debe estar activo. Para lograr un quórum, puedes agregar un testigo de archivos compartidos.
En este instructivo, solo se agrega una carpeta compartida al servidor del controlador de dominio. Si este servidor se desconectara al mismo tiempo que uno de los nodos del clúster se reinicia, todo el clúster podría dejar de funcionar porque el servidor restante no puede votar por sí mismo. En este instructivo, se supone que las características de la infraestructura de GCP, como la migración en vivo y el reinicio automático, proporcionan suficiente confiabilidad para mantener activa la carpeta compartida.
Si quieres crear un testigo de archivos compartidos con alta disponibilidad, tienes las opciones siguientes:
- Usa un clúster de servidores de Windows para proporcionar el uso compartido mediante espacios de almacenamiento directo. Esta característica de Windows Server 2016 puede proporcionar un recurso compartido con alta disponibilidad para el testigo de quórum. Por ejemplo, puedes crear un clúster para tu controlador de dominio de Active Directory a fin de proporcionar servicios de dominio con alta disponibilidad y el testigo de archivos compartidos al mismo tiempo.
- Usa software de replicación de datos, como SIOS Datakeeper, con el servidor del clúster de conmutación por error de Windows para la replicación síncrona o asíncrona.
Sigue estos pasos a fin de crear los archivos compartidos para el testigo:
- Conéctate a
wsfc-dc
. Este servidor aloja los archivos compartidos. - En el Explorador, busca la unidad
C
. - En la barra de título, haz clic en el botón Carpeta nueva.
- Asigna el nombre
shares
a la carpeta nueva. - Haz doble clic en la carpeta
shares
para abrirla. - Agrega una carpeta nueva y asígnale el nombre
clusterwitness-testcluster
.
Configura el uso compartido para el testigo de archivos compartidos
Debes establecer permisos en la carpeta de testigo de archivos compartidos para permitir que el clúster la use.
- Desde el Explorador, haz clic con el botón derecho en la carpeta
clusterwitness-testcluster
y selecciona Propiedades. - En la pestaña Compartir, haz clic en Uso compartido avanzado.
- Selecciona Compartir esta carpeta.
- Haz clic en Permisos y, luego, en Agregar.
- Haz clic en Tipos de objetos, selecciona Computadoras y, luego, haz clic en Aceptar.
- Agrega la cuenta de la máquina
testcluster$
. - Otorga permisos de Control total a
testcluster$
. - Haz clic en Aplicar y, luego, cierra todos los cuadros de diálogo.
Agrega el testigo de archivos compartidos al clúster de conmutación por error
Ahora, configura el clúster de conmutación por error para usar el testigo de archivos compartidos como un voto de quórum.
- En la computadora que aloja los recursos del clúster (
wsfc-1
), abre el Administrador de clústeres de conmutación por error. - En el panel izquierdo, haz clic con el botón derecho en el nombre del clúster (testcluster.WSFC.TEST) y, luego, apunta a Más acciones. Además, debes hacer clic en Establecer ajustes de quórum de clúster.
- En el panel Seleccionar la opción de configuración del quórum, selecciona Seleccionar el testigo del quórum.
- En el panel Seleccionar testigo de quórum , elige Configurar un testigo de archivos compartidos.
- En la Ruta de archivos compartidos, ingresa la ruta a la carpeta compartida, como
\\wsfc-dc\clusterwitness-testcluster
. - Confirma la configuración y, luego, haz clic en Finalizar.
Prueba el clúster de conmutación por error
Tu clúster de conmutación por error de Windows Server ahora debería estar funcionando. De forma manual, puedes probar mover los recursos del clúster entre tus instancias. Aún no terminaste, pero este es un buen punto de control para verificar que todo lo hecho hasta ahora esté en ejecución.
- En
wsfc-1
, anota el nombre del Servidor host actual en el Administrador de clústeres de conmutación por error. - Ejecuta Windows PowerShell como
cluster-admin
. En PowerShell, ejecuta el comando siguiente para cambiar el servidor host actual:
Move-ClusterGroup -Name "Cluster Group"
Deberías ver el nombre del servidor host actual cambiar a la otra VM.
Si esto no funciona, revisa los pasos anteriores y verifica si te salteaste alguno. El problema más habitual es la falta de una regla de firewall que bloquea el acceso a la red. Consulta el artículo Solución de problemas para ver más problemas que se deben verificar.
De lo contrario, ahora puedes pasar a configurar el balanceador de cargas interno, que es necesario para enrutar el tráfico de red al servidor host actual del clúster.
Este es un buen momento para tomar instantáneas.
Agrega una función al clúster de conmutación por error
En el clúster de conmutación por error de Windows, en funciones se alojan cargas de trabajo en clústeres. Puedes usar una función para especificar la dirección IP que usa tu aplicación en el clúster. Para los fines de este instructivo, debes agregar una función a la carga de trabajo de prueba, que es el servidor web de Internet Information Services (IIS), y asignar una dirección IP a la función.
Reserva una dirección IP para la función en Compute Engine.
Para evitar conflictos de dirección IP dentro de tu subred en Compute Engine, reserva la dirección IP para la función.
Abre una terminal en una VM host o abre Cloud Shell.
Reserva una dirección IP. En este instructivo, usa
10.0.0.9
:gcloud compute addresses create load-balancer-ip --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.9
Para confirmar la reserva de la dirección IP, sigue estos pasos:
gcloud compute addresses list
Agrega la función
Sigue estos pasos:
- En el Administrador de clústeres de conmutación por error, en el panel Acciones, selecciona Configurar función.
- En la página Seleccionar función, selecciona Otro servidor.
- En la página Punto de acceso del cliente, ingresa el nombre
IIS
. - Establece la dirección en
10.0.0.9
. - Omite Seleccionar Almacenamiento y Seleccionar tipos de recurso.
- Confirma la configuración y, luego, haz clic en Finalizar.
Crea el balanceador de cargas interno
Crea y configura el balanceador de cargas interno, que es necesario para enrutar el tráfico de red al nodo host del clúster activo. Utilizarás la consola de Google Cloud, ya que la interfaz de usuario te muestra con claridad cómo se organiza el balanceo de cargas interno.
También crearás un grupo de instancias de Compute Engine para destinado a zona del clúster, que el balanceador de cargas usará para administrar los nodos del clúster.
Crea los grupos de instancias
Crea un grupo de instancias en cada zona que contenga un nodo de clúster y, luego, agrega cada nodo al grupo de instancias en su zona.
No agregues el controlador de dominio wsfc-dc
a un grupo de instancias.
Crea un grupo de instancias para cada zona en el clúster y reemplaza
[ZONE_1]
por el nombre de tu primera zona y[ZONE_2]
por el nombre de la segunda:gcloud compute instance-groups unmanaged create wsfc-group-1 --zone=[ZONE_1]
gcloud compute instance-groups unmanaged create wsfc-group-2 --zone=[ZONE_2]
Agrega el servidor de cada zona al grupo de instancias correspondiente a esa zona:
gcloud compute instance-groups unmanaged add-instances wsfc-group-1 --instances wsfc-1 --zone [ZONE_1]
gcloud compute instance-groups unmanaged add-instances wsfc-group-2 --instances wsfc-2 --zone [ZONE_2]
Ejecuta este comando para confirmar que tus grupos de instancias se crearon y que cada grupo contenga una instancia:
gcloud compute instance-groups unmanaged list
NAME ZONE NETWORK NETWORK_PROJECT MANAGED INSTANCES wsfc-group-1 us-central1-a wsfcnet exampleproject No 1 wsfc-group-2 us-central1-b wsfcnet exampleproject No 1
Crea el balanceador de cargas
Inicia la configuración
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en Crear balanceador de cargas.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de red (TCP/UDP/SSL) y haz clic en Siguiente.
- En Proxy o de transferencia, selecciona Balanceador de cargas de transferencia y haz clic en Siguiente.
- En Orientado al público o interno, selecciona Interno y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
- En Nombre, ingresa "wsfc-lb".
- Selecciona tu región actual.
- Selecciona
wsfcnet
para Red.
Configura el backend
Recuerda que el balanceador de cargas interno de GCP usa una verificación de estado periódica para determinar cuál es el nodo activo. La verificación de estado hace ping al agente host del clúster de Compute Engine que se ejecuta en el nodo del clúster activo. La carga útil de verificación de estado es la dirección IP de la aplicación, que está representada por la función de clúster. El agente responde con un valor de 1 si el nodo está activo o 0 si no lo está.
- Haz clic en Configuración de backend.
- En Backends, agrega cada grupo de instancias que creaste. Para ello, selecciona su nombre y haz clic en Listo.
Crea una verificación de estado.
- Para Nombre, ingresa "wsfc-hc".
- Acepta la configuración Protocolo predeterminada de TCP y cambia el Puerto a “59998” para las respuestas del agente host del clúster.
- En Solicitud, ingresa "10.0.0.9".
- En Respuesta, ingresa "1".
- En Comprobar intervalo, ingresa "2".
- En Tiempo de espera, ingresa "1".
- Haz clic en Guardar y continuar.
Configura el frontend
La configuración frontend crea una regla de reenvío que define cómo el balanceador de cargas maneja las solicitudes entrantes. En este instructivo, para que sea sencillo, probarás el sistema mediante el envío de solicitudes entre las VM de la subred.
En tu sistema de producción, es probable que quieras abrir el sistema al tráfico externo, como el tráfico de Internet. Para hacerlo, puedes crear un Host de bastión que acepte tráfico externo y lo reenvíe a tu red interna. El uso de un Host de bastión no está cubierto en este instructivo.
- En el panel central, haz clic en Configuración de frontend.
- En Nombre, ingresa "wsfc-lb-fe".
- Selecciona tu subred (
wsfcnetsub1
). - En IP interna, selecciona load-balancer-ip (10.0.0.9). Esta es la misma dirección IP que estableciste para la función.
- En Puertos, ingresa "80".
- Haga clic en Listo.
Revisa y finaliza
- Si quieres ver un resumen sobre las configuraciones del balanceador de cargas interno, en el panel central, haz clic en Revisar y finalizar. El resumen aparece en el panel derecho.
Haz clic en Crear. La creación del balanceador de cargas tarda unos minutos.
Crea reglas de firewall para la verificación de estado
Quizá hayas notado que la consola de Google Cloud te notificó que el sistema de verificación de estado requería una regla de firewall para permitir que las verificaciones de estado alcanzaran sus objetivos. En este artículo, configuras la regla de firewall.
En la consola de Google Cloud, ve a Cloud Shell.
Ejecuta el comando siguiente para crear la regla de firewall:
gcloud compute firewall-rules create allow-health-check --network wsfcnet --source-ranges 130.211.0.0/22,35.191.0.0/16 --allow tcp:59998
Abre el firewall de Windows
En cada nodo del clúster, wsfc-1
y wsfc-2
, debes crear una regla de firewall en el firewall de Windows para permitir que el balanceador de cargas acceda a cada sistema de Windows.
Abre el Firewall de Windows con la app de seguridad avanzada.
En el panel de navegación izquierdo, selecciona Reglas de entrada.
En el panel de navegación derecho, selecciona Nueva regla.
En el panel Tipo de regla, selecciona Personalizado como el tipo de regla y haz clic en Siguiente.
En el panel Programa, acepta la configuración predeterminada y haz clic en Siguiente.
En el panel Protocolo y puertos, haz lo siguiente:
- En el campo Tipo de protocolo:, selecciona TCP.
- En el campo Puerto local:, selecciona Puertos específicos y, luego, ingresa
59998
.
En el panel Alcance, debajo de ¿A qué direcciones IP remotas aplica esta regla?, haz lo siguiente:
- Selecciona Estas direcciones IP:.
Agrega cada una de las direcciones IP siguientes al campo Esta dirección IP o subred con un clic en Agregar:
130.211.0.0/22
35.191.0.0/16
Haz clic en Siguiente.
En el panel Acción, acepta Permitir la conexión y haz clic en Siguiente.
En el panel Perfil, acepta los valores predeterminados y haz clic en Siguiente.
Especifica un nombre para la regla de firewall y haz clic en Finalizar.
Valida el balanceador de cargas
Después de que tu balanceador de cargas interno esté en ejecución, puedes inspeccionar su estado para validar que pueda encontrar una instancia en buen estado y, luego, probar la conmutación por error de nuevo.
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el nombre del balanceador de cargas (
wsfc-lb
).En la sección Backend del resumen, deberías ver una lista de los grupos de instancias.
En la imagen siguiente de la página de detalles del balanceador de cargas
wsfc-lb
, el grupo de instanciaswsfc-group-1
contiene el nodo activo, como lo indica 1 / 1 en la columna En buen estado. El grupo de instanciaswsfc-group-2
contiene el nodo inactivo, como lo indica 0 / 1.Si ambos grupos de instancias muestran 0 / 1, el balanceador de cargas podría seguir sincronizándose con los nodos. A veces, es necesario realizar, al menos, una acción de conmutación por error para que el balanceador de cargas busque la dirección IP.
En el Administrador de clústeres de conmutación por error, expande el nombre del clúster y haz clic en Funciones. En la columna Nodo de propietario, anota el nombre del servidor para la función IIS.
Inicia una conmutación por error mediante un clic con el botón derecho en la función IIS y selecciona Mover > Mejor nodo posible. Esta acción mueve la función al otro nodo, como se muestra en la columna Nodo propietario.
Espera hasta que Estado muestre En ejecución.
Regresa a la página Detalles del balanceador de cargas, haz clic en Actualizar y verifica que los valores 1 / 1 y 0 / 1 de la columna En buen estado cambien los grupos de instancias.
gcloud compute backend-services get-health wsfc-lb --region=[REGION]
El resultado luce de la siguiente manera:
backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instanceGroups/wsfc-group-1 status: healthStatus: - healthState: HEALTHY instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instances/wsfc-1 ipAddress: 10.0.0.4 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instanceGroups/wsfc-group-2 status: healthStatus: - healthState: UNHEALTHY instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instances/wsfc-2 ipAddress: 10.0.0.5 port: 80 kind: compute#backendServiceGroupHealth
Instala tu aplicación
Ahora que tienes un clúster, puedes configurar tu aplicación en cada nodo y configurarla para que se ejecute en un entorno en clúster.
En este instructivo, debes configurar algo que pueda demostrar que el clúster funciona de verdad con el balanceador de cargas interno. Configura IIS en cada VM para entregar una página web simple.
No se configura IIS para HA en el clúster. Estás creando instancias de IIS distintas que entregan una página web diferente. Después de una conmutación por error, el servidor web entrega su propio contenido, no el contenido compartido.
La configuración de tu aplicación o IIS para HA está más allá del alcance de este instructivo.
Configura IIS
En cada nodo del clúster, instala IIS.
- En la página Seleccionar servicios de funciones, asegúrate de que el Documento predeterminado esté seleccionado en Características comunes de HTTP.
- En la página Confirmación, selecciona la casilla de verificación que permite el reinicio automático del servidor de destino.
Verifica que funcionen todos los servidores web.
- Usa RDP para conectarte a la VM llamada
wsfc-dc
. - En Administrador del servidor, haz clic en Servidor local en el panel de navegación que se encuentra en el lado izquierdo de la ventana.
- En la sección Propiedades de la parte superior, desactiva la Configuración de seguridad mejorada de IE.
- Abre Internet Explorer.
Dirígete a la dirección IP de cada servidor:
http://10.0.0.4/
http://10.0.0.5/
- Usa RDP para conectarte a la VM llamada
En cada caso, verás la página de Bienvenida, que es la página web predeterminada de IIS.
Edita las páginas web predeterminadas
Cambia cada página web predeterminada para que pueda ver con facilidad qué servidor entrega la página en este momento.
- Usa RDP para conectarte a la VM llamada
wsfc-1
. - Ejecuta el Bloc de notas como administrador.
- Abre
C:\inetpub\wwwroot\iisstart.htm
en el Bloc de notas. Recuerda buscar Todos los archivos, no solo archivos de texto. En el elemento
<title>
, cambia el texto al nombre del servidor actual. Por ejemplo:<title>wsfc-1</title>
Guarda el archivo HTML.
Repite estos pasos para
wsfc-2
y establece el elemento<title>
enwsfc-2
.
Ahora, cuando veas una página web entregada desde uno de estos servidores, el nombre del servidor aparecerá como título en la pestaña de Internet Explorer.
Prueba la conmutación por error
- Usa RDP para conectarte a la VM llamada
wsfc-dc
. - Abre Internet Explorer.
Busca la dirección IP de la función del balanceador de cargas:
http://10.0.0.9/
Verás la página de Bienvenida con el nombre del servidor actual en el título de la pestaña.
Detén el servidor actual para simular una falla. En Cloud Shell, ejecuta el comando siguiente y reemplaza
[INSTANCE_NAME]
por el nombre del servidor actual que viste en el paso anterior, comowsfc-1
:gcloud compute instances stop [INSTANCE_NAME] --zone=[ACTIVE_ZONE]
Cambia a tu conexión RDP a
wsfc-dc
.El balanceador de cargas puede tardar unos minutos en detectar el movimiento y redireccionar el tráfico.
Después de alrededor de 30 segundos, actualiza la página en Internet Explorer.
Ahora deberías ver el nombre del nodo activo nuevo que se muestra en el título de la pestaña. Por ejemplo, si comenzaste con
wsfc-1
activo, ahora veráswsfc-2
en el título. Si no ves el cambio de inmediato o ves un error de página no encontrada, actualiza el navegador de nuevo.
Felicitaciones Lograste ejecutar un clúster de conmutación por error de Windows Server 2016 en GCP.
Solución de problemas
Te presentamos algunos problemas comunes que puedes verificar si hay algún error.
Las reglas de firewall de GCP bloquean la verificación de estado.
Si la verificación de estado no funciona, vuelve a verificar que tengas una regla de firewall para habilitar el tráfico entrante desde las direcciones IP que usa el sistema de verificación de estado: 130.211.0.0/22
y 35.191.0.0/16
.
El firewall de Windows bloquea la verificación de estado
Asegúrate de que el puerto 59998 esté abierto en el firewall de Windows en cada nodo del clúster. Consulta Abrir el firewall de Windows.
Nodos de clúster que usan DHCP
Es importante que cada VM en el clúster tenga una dirección IP estática. Si una VM está configurada para usar DHCP en Windows, cambia la configuración de red en Windows de modo que la dirección IPv4 coincida con la dirección IP de la VM que se muestra en la consola de Google Cloud. Configura también la dirección IP de la puerta de enlace para que coincida con la dirección de la puerta de enlace de subred en la VPC de GCP.
Etiquetas de red de GCP en reglas de firewall
Si usas etiquetas de red en las reglas de tu firewall, asegúrate de que las etiquetas correctas estén establecidas en cada instancia de VM. En este instructivo, no se usan etiquetas, pero si las has configurado por alguna otra razón, deben usarse de manera coherente.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Una vez que completes el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generen cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
Para borrar el proyecto, sigue estos pasos:
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
Limpia recursos sin borrar el proyecto
Si necesitas conservar tu proyecto, puedes limpiar los recursos del instructivo si los borras de forma individual.
Borra instancias
Para borrar una instancia de Compute Engine, sigue estos pasos:
- En la consola de Google Cloud, ve a la página Instancias de VM.
-
Selecciona tu instancia
en la casilla de verificación de es la instancia que deseas borrar.
- Para borrar la instancia, haz clic en Más acciones, haz clic en Borrar y, luego, sigue las instrucciones.
Borra grupos de instancias
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Selecciona la casilla de verificación de El grupo de instancias que quieres borrar.
- Para borrar el grupo de instancias, haz clic en Borrar.
Borra un balanceador de cargas
Para borrar un balanceador de cargas, realiza los pasos siguientes:
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Selecciona la casilla de verificación junto al nombre del balanceador de cargas que quieras borrar.
Haz clic en el botón Borrar en la parte superior de la página.
Borra una red de VPC
Para borrar una red de VPC, sigue estos pasos:
En la consola de Cloud, ve a la página Redes de VPC.
Haz clic en el nombre de la red que quieres borrar.
Haz clic en el botón BORRAR RED DE VPC en la parte superior de la página.
Libera direcciones IP reservadas
Usa Cloud Shell para liberar las direcciones IP reservadas:
En la consola de Google Cloud, ve a Cloud Shell.
Libera las direcciones IP reservadas:
gcloud compute addresses delete cluster-access-point load-balancer-ip
Borra discos persistentes
Para borrar un disco persistente, realiza los siguientes pasos:
En la consola de Google Cloud, ve a la página Discos.
Selecciona la casilla de verificación junto al nombre del disco que deseas borrar.
Haz clic en el botón Borrar en la parte superior de la página.
¿Qué sigue?
- Instructivos de Active Directory
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.