Saltar al contenido
Categoría: MongoDB
2023-03-29

Actualiza MongoDB sin parada de servicio

Actualiza MongDB sin parada del servicio

¡Hola! Bienvenidos/as otro día más al blog de Aleson ITC, el mejor blog de Data del sector.

En el post de hoy, seguimos la tendencia de la semana anterior, las actualizaciones. Hoy, vamos a poner en práctica las actualizaciones con una demostración en un entorno de MongoDB.

En este artículo veremos como podemos conseguir una actualización sin parada del servicio gracias a la alta disponibilidad que ofrece MongoDB, los replicaSet.

Escenario de Actualización

Antes de empezar con la demostración, voy a exponer el escenario que he utilizado para llevar a cabo la actualización.

Actualización de un nodo secundario

Ahora nos conectaremos al primer nodo secundario. Y ejecutaremos el siguiente comando para APAGAR la instancia.

db.adminCommand({ shutdown : 1 })

Desde otro nodo, si ejecutamos el comando: rs.status() veremos como el nodo que acabamos de apagar no tiene conexión con el replicaSet. Deberá de aparcer un mensaje con información al respecto.

Aún así, también podemos verificar que el nodo esté apagado revisando el estado del servicio en nuestro sistema operativo.

Después de verificar que hemos apagado correctamente la instancia, procederemos a ejecutar el paquete de instalación de la versión 6.0.5, que actualmente es la última versión reciente.

Seguidamente, elegiremos la opción custom para aplicar la instalación en la ruta que tengamos el archivo de log y los archivos de las bases de datos.


En la imagen adjunta nos ofrece una ruta predeterminada para hacer la actualización, pero más adelante (imagen de abajo) podemos indicarle dónde queremos que se actualice. Es decir, si tenemos el archivo .log en L:\ elegiremos esa ruta para el Log Directory.

Nos saltará una ventana dónde podremos ver el progreso de la actualización.

Verificamos actuaización

A continuación, ejecutaremos rs.status() para ver el estado del nodo actualizado en el replicaSet.

En el caso que esté en un estado de RECOVERY, esperaremos hasta que finalice y observemos que está como SECONDARY.

Verificamos que se ha instalado la versión correspondiente en el nodo.

Actuaremos igual en todos los nodos secundarios que tengamos en el replicaSet.

Actualizar el nodo primario

El procedimiento con el nodo Primario comparte similitud con el visto anteriormente, salvo el primer paso.

Antes que apagar el primario, deberemos hacer un failover, es decir, nos convertiremos en un secundario y un secundario pasará a ser el primario.

Ejecutando el comando rs.stepDown() desde el nodo primario se realizará el failover.

Ahora los roles habrán cambiado como exponen las siguientes imagenes:

Como vemos, el nodo con IP 10.0.0.5 es el secundario y el nodo con IP 10.0.0.4 no está disponible debido a que seguidamente después de hacer el failover lo habremos apagado como lo hemos hecho anteriormente.

Ya actualizado el nodo, hacemos otro failover desde el nodo primario para volver a la configuración inicial, es decir para que cada nodo tenga su rol que le corresponde.

Actualizar la compatibilidad del ReplicaSet

Por último actualizaremos la versión de compatibilidad del ReplicaSet desde el nodo primario con el comando siguiente:

db.adminCommand( { setFeatureCompatibilityVersion : "6.0" } )

A continuación, para verificar que se ha actualizado ejecutaremos:

db.adminCommand( { getParameter : 1, featureCompatibilityVersion : 1 } )

Y ya habríamos acabado la actualización de nuestro entorno MongoDB sin parada del servicio.

Para actualizar una versión más antigua en un entorno de MongoDB que una 5.0 deberemos ir paso a paso, es decir, supongamos que tenemos una versión 4.0, pues antes actualizaremos a la 5.0 y luego pasaremos a la 6.0.

Espero que os haya sido de ayuda a la hora de actualizar y mejorar vuestra BBDD MongoDB.

Puede que te interesen nuestros últimos posts:

Cómo crear Alertas de Coste en una Suscripción de Azure
La importancia de los Updates para SQL Server

Descubre SQL Server 2022 Query Store Hints

Si tienes problemas de rendimiento y necesitas optimizar tu BBDD MongoDB o SQL Server, en Aleson ITC podemos ayudarte.

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Simplified Ebook.
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!