Actualización gradual nodos clúster a Windows Server 2016 (rolling upgrade)
En esta entrada veremos como hacer una actualización gradual (rolling upgrade) y sin parada del servicio del sistema operativo de dos servidores (nodos) Microsoft Windows Server 2012 R2, que forman un clúster de archivos, a dos servidores (nodos) nuevos con sistema operativo Windows Server 2016. Para los que os habéis perdido la creación del clúster, podéis echar un vistazo a la entrada de configuración del clúster de servidor de archivos.
Esta actualización gradual del clúster aplica muy bien a los clústers de archivos, scale-out y, como no, a los entornos de virtualización Hyper-V.
El vídeo de la actualización gradual de nodos de un clúster a Windows Server 2016 (rolling upgrade)
Introducción actualización gradual de nodos del clúster
Tengamos claro desde donde partimos y donde se quiere llegar para entender todo el proceso, que en un principio es sencillo de hacer, gracias a la nueva característica de Windows Server 2016 que lo permite si seguimos las cosas por orden. Tenemos una red con un controlador de Active Directory, esto es básico. En esta red, tenemos dos servidores Microsoft Windows Server 2012 R2 actualizados (srvSQL1 y srvSQL2) que forman un clúster de archivos (SQL) de dos nodos. Ya sé que los nombres del ejemplo no identifican demasiado al clúster de archivos, para entender el funcionamiento no importa, tengo estos nombres porque los aprovecho para el montaje de un clúster SQL Server.
Lo que primero haremos será añadir un nuevo nodo al clúster, con sistema operativo Microsoft Windows Server 2016, el servidor srvSQL3. Extendiendo en un primer momento el clúster a tres nodos.
Balanceamos los servicios en caliente para liberar uno de los nodos Windows Server 2012 R2. Eliminamos el servidor Windows Server 2012 R2 liberado de servicios.
Creamos un nuevo servidor Windows Server 2016 que lo agregamos al cluster existente y al que balanceamos los servicios en caliente.
Finalmente, eliminamos el otro nodo, y último, con Windows Server 2012 R2.
Quedando un clúster de dos nodos Windows Server 2016 sin pérdida de servicio durante todo el proceso. El último paso es levantar el nivel de funcionalidad del clúster de Windows Server 2012 R2 a Windows Server 2016. La idea es parecida a lo mismo que pasa con el nivel funcional del Active Directory con el bosque y el dominio, pero ojo, no se ha confundido, aquí no tocamos nada del Active Directory, sólo del clúster.
Actualización gradual del clúster (rolling upgrade) Windows Server 2012 R2 a Windows Server 2016
Para que funcione, al igual que en cualquier otro clúster, tiene que ser capaz de ver los discos duros compartidos que ya está ofreciendo el clúster. Aseguramos que tiene acceso a los discos accediendo al administrador de discos, botón derecho sobre el botón Inicio y hacer clic en Administrador de discos.
En este laboratorio podemos ver los dos discos fuera de línea correspondientes al Witness y al volumen de datos. No los ponemos en línea porque pertenecen al clúster y si lo hicieramos ¡nos caerían los servicios!
Habilitamos la característica del clúster de conmutación por error. Desde el Administrador del servidor, en el menú de la parte superior derecha, hacer clic en Administrar y en Añadir roles y características.
Seleccionar instalación basada en un rol o característica y hacer clic en el botón Siguiente.
Seleccionar servidor donde instalar el rol y/o característica y seleccionar el servidor local. Hacer clic en el botón Siguiente para continuar.
Listado de roles. Como que no es un rol lo que se quiere habilitar lo podemos pasar haciendo clic en el botón Siguiente.
Listado de características. Marcar el checkbox en Clúster de conmutación por error. Al hacerlo se nos pide añadir las herramientas de administración. Hacer clic en el botón Añadir características y ya podemos continuar a la siguiente pantalla. Hacer clic en el botón Siguiente.
Resumen de instalación de la característica. Hacer clic en el botón Instalar y esperar a que haga el trabajo.
Una vez acabado y comprobado que todo ha ido bien, hacer clic en el botón Cerrar para cerrar el asistente.
Para tenerlo claro, empezaremos el proceso desde un servidor Windows Server 2012 R2 en lugar de hacerlo desde el Windows Server 2016 que acabamos de instalar.
Vamos a añadir el nuevo nodo como miembro del clúster existente. Accedemos al administrador del clúster de Windows Server 2012 R2. Del panel de la parte izquierda, botón derecho sobre la rama Nodos y hacer clic en Agregar nodo
Indicar el servidor Microsoft Windows Server 2016 que se quiere agregar al clúster. Hacer clic en el botón Siguiente.
Se nos pide para hacer las pruebas de compatibilidad para el clúster, ¡como no!. Seleccionar que Si y hacer clic en el botón Siguiente.
Se inicia el asistente para hacer las pruebas. Hacer clic en el botón Siguiente.
Seleccionar Ejecutar todas las pruebas y hacer clic en el botón Siguiente.
Para evitar las pérdidas de servicio del clúster durante las pruebas de compatibilidad, o bien paramos los servicios o bien seleccionamos un disco que no tenga demasiada implicación en el servicio para hacer las pruebas. Por ejemplo, el de Witness. Hacer clic en Siguiente para continuar.
Resumen de las pruebas a validar. Hacer clic en Siguiente para empezar.
Finalizan las pruebas. Ha aparecido un error de sistema operativo, lo sabemos, estamos añadiendo un sistema operativo diferente al que tenemos los nodos desde la consola de Windows Server 2012 R2. Aseguráos que sólo sea el de sistema operativo y NO otro. Hacer clic en el botón Finalizar.
Volvamos al asistente de creación del clúster. Marcar la opción de NO hacer las pruebas. Hacer clic en el botón Siguiente.
Se indica que se añadirá un nodo al clúster y se deja marcado el checkbox de añadir todo el almacenaje apto en el clúster. Hacer clic en el botón Siguiente.
Se añade el nodo al clúster. Comprobar que se añade correctamente. Hacer clic en el botón Finalizar para cerrar el asistente.
En el clúster aparecen los tres nodos operativos.
Podemos jugar moviendo los recursos al tercer nodo que acabamos de instalar para ver que todo funciona bien. En la parte izquierda, en el árbol de opciones, hacer clic en Roles. Se puede ver el recurso del servidor de archivos que se está ejecutando en el nodo srvSQL1 (Windows Server 2012 R2). Botón derecho sobre el recurso, hacer clic en Mover y en Seleccionar nodo.
Seleccionar el nuevo nodo, srvSQL3 y hacer clic en Aceptar.
Se hace el típico movimiento de recurso del clúster al nuevo nodo, el srvSQL3 (Windows Server 2016), manteniendo el nivel funcional del recurso, la carpeta Empresa se puede abrir y se tiene acceso de lectura y escritura.
Enhorabuena, ya tenemos uno de los nodos del clúster en Windows Server 2016, pero y ¿ahora que?
Comprobando el nivel de funcionalidad del clúster
No porque se haya añadido un nuevo nodo con Windows Server 2016 ya tenemos un clúster Windows Server 2016. Recordemos que ahora aparece la figura del nivel de funcionalidad del clúster. El clúster que tenemos todavía tiene que funcionar con el nivel funcional de Windows Server 2012 R2. Para comprobarlo,
En el nuevo servidor Windows Server 2016 abrimos una PowerShell para comprobar el NIVEL de funcionalidad del clúster. Hacer clic en el botón Inicio del Windows y escribir PowerShell. Hacer clic en la aplicación coincidente de la búsqueda Windows PowerShell.
Se inicia la consola de PowerShell, escribimos el comando:
get-cluster | select ClusterFunctionalLevel
Aquí, la verdad, no se han matado demasiado:
- Si devuelve el número 8 quiere decir que el nivel de funcionalidad del clúster es Windows Server 2012 R2.
- Si devuelve el número 9 quiere decir que el nivel de funcionalidad del clúster es Windows Server 2016.
El valor es 8, por lo tanto, tenemos un clúster en Windows Server 2012 R2. ¿Cuál es el próximo paso para tener un clúster con nivel funcional Windows Server 2016 (valor 9)?
Expulsar uno de los nodos para sustituirlo por un Windows Server 2016. La recomendación y, teóricamente (ya hablaré algún día), el procedimiento es que se haga una instalación neta del nuevo nodo. NO que se actualice el sistema operativo.
Eliminar nodo Windows Server 2012 R2 del clúster
Vamos a sustituir el srvSQL2 (Windows Server 2012R2) por un nuevo srvSQL2 (Windows Server 2016). Desde el nuevo servidor srvSQL3, con el administrador del clúster de conmutación por error, rama roles, aseguramos que srvSQL2 no tiene ningún recurso asignado.
Accedemos a la rama nodos, botón derecho sobre el srvSQL2, opción Más acciones y hacer clic en Expulsar.
Se nos pide que confirmemos la acción porque no tiene vuelta atrás. Hacer clic en el botón Si.
Se ha expulsado el nodo srvSQL2 del clúster y, por lo tanto, volvemos a tener un clúster formado por dos nodos. Eso sí, uno con Windows Server 2012 R2 y el otro con Windows Server 2016.
En el nodo expulsado, procedemos como haríamos con cualquier otro servidor para acabarlo de eliminar de la red. Es decir, lo sacamos del dominio y lo aparcamos o eliminamos directamente.
Generamos un nuevo servidor srvSQL2 con el sistema operativo Windows Server 2016, lo añadimos al dominio (recuerdo que se ha eliminado el anterior servidor srvSQL2, por lo tanto no habrá conflicto de nombres ni cuentas de equipos) y habilitamos el rol de servidor de Archivos (o el que se necesite: Hyper-V, scale-out…) y la característica del clúster de conmutación por error instalados.
Desde el administrador del clúster de conmutación por error del servidor srvSQL3, Windows Server 2016, en la rama de nodo, añadimos el nuevo servidor srvSQL2. Botón derecho y hacer clic en Añadir nodo.
Se inicia el asistente para añadir un nuevo nodo en el clúster. Hacer clic en el botón Siguiente para continuar.
Indicar el nombre del nuevo servidor a añadir en el clúster, el srvSQL2. Hacer clic en el botón Siguiente para continuar.
Resumen informativo que se añade el nuevo nodo. Volvemos a dejar el checkbox del almacenamiento habilitado y hacer clic en el botón Siguiente para continuar.
Mira que pasa ahora, el nuevo servidor ya se ha añadido al clúster. Hacer clic en el botón Finalizar para cerrar el asistente.
En el administrador del clúster de conmutación por error se pueden ver de nuevo tres nodos.
Pasamos el recurso al nuevo nodo. En el panel de la parte izquierda, hacer clic en la rama Roles. Seleccionar el rol que tenemos de prueba (files), que en la foto aparece en el servidor srvSQL1, botón derecho sobre él, hacer clic en Mover y a continuación en Seleccionar Nodo.
Marcar el servidor srvSQL2 (el nuevo con Windows Server 2016) y hacer clic en el botón Ok.
El servicio balancea al nuevo servidor, srvSQL2, siguiendo dando servicio.
Eliminar el último servidor Windows Server 2012 R2 (srvSQL1) del clúster. Repetimos el proceso que hemos hecho con el anterior servidor srvSQL2. Lo expulsamos del clúster y lo sacamos del dominio.
Nos ha quedado el clúster con dos nodos, ahora sí, con Microsoft Windows Server 2016 y sin pérdida de servicio.
Volviendo a la PowerShell para comprobar el nivel de funcionalidad del clúster:
get-cluster | select ClusterFunctionalLevel
Continuamos teniendo el nivel de funcionalidad de 8, es decir, de Windows Server 2012 R2.
La elevación del nivel de funcionalidad NO es, en ningún caso, automático porque todos los nodos que conforman el clúster ya sean Windows Server 2016. Sinó, como en el caso del nivel de funcionalidad del dominio o bosque de Active Directory, se tiene que forzar manualmente este cambio que no tiene punto de retorno.
El comando de PowerShell para cambiar el nivel de funcionalidad del clúster de Windows Server 2016 a nativo es:
Update-ClusterFunctionalLevel
Nos pide confirmación ya que el cambio no tiene vuelta atrás, hacer clic en el botón de Si.
Si volvemos a comprobar el nivel funcional del clúster:
get-cluster | select ClusterFunctionalLevel
Ha pasado de 8 a 9, que corresponde a un nivel funcional del clúster de Windows Server 2016, dando por finalizada toda la operación de actualización gradual (rolling upgrade), sin pérdida de servicio, de un clúster Microsoft Windows Server 2012 R2 a Windows Server 2016.
¿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:
- Microsoft SQL Server con SMB3
- Microsoft SQL Server amb SMB3
- Containers en Linux
- Containers amb Linux
- Migrar el servidor de archivos a Windows Server 2019
- Migrar el servidor de fitxers a Windows Server 2019
- Puerta enlace a Azure en el Windows Admin Center
- Porta enllaç a Azure en el Windows Admin Center
- Hola mundo! WordPress 5 y Gutenberg
- Hola món! WordPress 5 i Gutenberg
Quede algo confundio, cuando eliminas tu primer nodo para anhadir el nuevo con W2016, si bien tu cluster esta arriba, pero es funcional un cluster con un solo nodo? hasta donde experimente por lo menos tendrias ke tener dos nodos arriba ya que con uno solo no habria quorum…
Gracias
Hola Carlitos,
es correcto, el segundo nodo que queda levantado es el quorum (Witness) que desempata el clúster. Por esto puede estar funcionando. Piensa que desde Windows Server 2008 deberías configurar el Witness en caso de tener solo dos controladores. Si tienes tres o más ya no te hace falta. Por defecto el sistema no configura el Witness tal como pasaba con Windows Server 2003, por lo que es una acción que debes realizar manualmente.
Saludos,
Hola Josep María, excelente trabajo.
Tengo un Failover Cluster para hyper-V con dos nodos con Windows Server 2008R2 Enterprise.
¿Puedo actualizar los nodos a Windows Server 2012R2 o 2016 sin eliminar el cluster?
Gracias
Antonio
No, la característica de actualización disruptiva (rolling upgrade) aparece en Windows Server 2016, para migrar clústeres de Windows Server 2012 R2 a Windows Server 2016. Para el 2008, debes desplegar un nuevo clúster i migrar servicios.
Muchas gracias Josep María
Me temía que esa era la solución, pero quería asegurarme.
Saludos
Antonio
Buenas Jose María,
muchas gracias por compartir tu trabajo.
quería hacerte una consulta sobre un cluster que tengo montado con 2 nodos en Windows Server 2012R2 y quería agregarle un 3er nodo en Windows Server 2019 y no soy capaz. Hay alguna restricción? porque al ir a agregar el nodo tarda mucho y al final da un error en la operación pero sin dar muchas pistas del motivo. Aparentemente la validación del cluster la pasa correctamente salvo que son diferentes sistemas operativos, pero el resto es igual para poder añadirlo y como te digo, imposible y por más que leo no encuentro donde puede estar el problema. Da este error:
Agregando «nombre3nodo» al clúster.
Validando el estado de clúster en el nodo «nombre3nodo».
Obteniendo la pertenencia al nodo actual del clúster «nombrecluster».
Agregando nodo «nombre3nodo» a datos de configuración de clúster.
Validando la instalación del controlador FT de red en el nodo «nombre3nodo».
Validando la instalación del controlador de disco de clúster en el nodo «nombre3nodo».
Configurando el Servicio de clúster en el nodo «nombre3nodo».
Esperando notificación de que se inició el Servicio de clúster en el nodo «nombre3nodo».
Esperando notificación de que el nodo «nombre3nodo» es un miembro totalmente funcional del clúster.
El Servicio de clúster en el nodo «nombre3nodo» no alcanzó el estado de ejecución. El código de error es 0x5b4. Para obtener más información, consulte el registro del clúster y el registro de eventos del sistema desde el nodo «nombre3nodo» . Se devolvió esta operación porque se agotó el tiempo de espera.
Error de la operación; intentando realizar la limpieza.
El servidor «nombre3nodo» no se pudo agregar al clúster.
Error al agregar el nodo «nombre3nodo» al clúster «nombrecluster».
Se devolvió esta operación porque se agotó el tiempo de espera
Y en los registros no aparece nada más que esto:
El nodo de clúster «nombre3nodo» no se pudo unir al clúster porque no pudo comunicarse a través de la red con ningún otro nodo del clúster. Comprueba la conectividad de la red y la configuración de los firewalls de la red.
No se pudo iniciar el clúster. La última copia de los datos de configuración del clúster no estaba disponible en el conjunto de nodos que intentaban iniciar el clúster. Los cambios en el clúster se produjeron cuando el conjunto de nodos no tenía ninguna pertenencia y, como resultado, no pudo recibir actualizaciones de datos de configuración.
Votos necesarios para iniciar el clúster: 2
Votos disponibles: 1
Nodos con votos: «nombre1nodo» «nombre2nodo» «nombre3nodo»
Indicaciones:
Intenta iniciar el servicio de clúster en todos los nodos del clúster para que los nodos con la copia más reciente de los datos de configuración del clúster puedan primero formar el clúster. El clúster podrá iniciarse y los nodos obtendrán automáticamente los datos de configuración del clúster actualizados. Si no hay ningún nodo disponible con la copia más reciente de los datos de configuración del clúster, ejecuta el cmdlet de Windows PowerShell «Start-ClusterNode -FQ». Si usas el parámetro ForceQuorum (FQ), se usará el servicio de clúster y marcará esta copia del nodo de los datos de configuración del clúster como autoritativa. Si se fuerza el cuórum en un nodo con una copia no actualizada de la base de datos del clúster, podrían perderse los cambios en la configuración del clúster que se produjeron cuando el nodo no participaba en el clúster.
El servicio Servicio de clúster entró en estado «detenido».
El servicio Servicio de clúster se cerró con el error específico de servicio
Tiempo de espera de la operación de espera agotado.
El servicio Servicio de clúster terminó inesperadamente. Esto se ha repetido 1 veces. Se realizará la siguiente acción correctora en 15000 milisegundos: Reiniciar el servicio.
Y no sé que hacer sinceramente.
Saludos y muchas gracias,
Luis
Puedo realizar el upgrade pero dejando un solo servidor de Windows Server 2016 para luego añadir servers con Windows Server 2019?
Jose una consulta de 2012 r2 a 2019 se puede hacer esto? tendrías alguna referencia
mi servidor tiene una lun atachada a vmware como disco RDM en la MV y de ese comparte el otro nodo quiero migrar a 2019