martes, 18 de diciembre de 2018

Procedimiento Actualizacion CU a un servidor Exchange 2013 en un DAG

Buenos días. 

En esta ocasión vamos a ver como tenemos que actuar para la actualización de un servidor con Exchange 2013 que forma parte de un DAG.


Vamos a proceder a realizar una actualización cd CU a los servidores Exchange 2013.

Lo primero es abrir una sesión de CMD como Administrador en el primer servidor que vamos a proceder a actualizar.




Nos situamos en la carpeta donde tenemos los archivos de instalación de nuestro CU



Y desde esté ruta ejecutaremos el siguiente comando, para preparar el directorio activo si fuera necesario, algunas actualizaciones lo requieren. Y ante la duda, no nos cuesta nada realizar la operación.

El comando a ejecutar es:

Setup.exe /Preparead /IacceptExchangeServerLicenseterms





Si hubiera algún error, como en este caso. Procederemos a reparar la incidencia ocasionada, y volveremos a ejecutar el proceso.



Una vez tengamos resuelto los requisitos previos que nos ha indicado el proceso anterior. Repetimos el comando y esperamos a que esta vez finalice correctamente



Ahora tenemos que quitar los registros asociados a este servidor en el DNS, para evitar que los clientes se conecten a este servidor con el que estamos haciendo la actualización. Tenemos que tener en cuenta el TTL del DNS.

Así que nos dirigimos al servidor que tiene el DNS y eliminamos los registros (tanto mail como autodiscover).

Eliminaremos los dos registros que vemos resaltados en rojo en la siguiente imagen.


Quedando nuestro DNS ahora tal y como vemos en la siguiente imagen.




Volvemos al primer servidor Exchange con el que estamos actuando y abrimos una sesión PowerShell de Exchange en modo Administrador.





Lo primero que haremos es hacer una comprobación de las bases de datos.

Para ello ejecutamos el siguiente comando.

Get-MailboxDatabaseCopyStatus

Vemos que las bases de datos en están en estado saludable.


El siguiente paso es mover las bases de datos del servidor con el que estamos actuando al otro servidor. Para lo cual ejecutamos el siguiente comando.


Move-ActiveMailboxDatabase DB1 –ActivateOnserver MAILX02


Vemos que se ha movido correctamente.


Ahora ponemos el servidor en modo mantenimiento, para ello ejecutamos lo siguiente. Y drenamos la cola de mensajes.

Ser-ServerComponentState MAILX01 –Component Hubtransport –State draining –Requester maintenance


Como vemos no nos muestra ningún mensaje.


En este punto, redirigimos todo el tráfico de mensajes al otro servidor. Lo hacemos ejecutando el siguiente comando.

Redirect-Message –Server MAILX01 –Target MAILX02.literatura.com

Ojo el servidor Target debemos de ponerlo en formato FQDN 


Nos solicita confirmación de la operación, le decimos que si a todo.



Nos toca ahora suspender el nodo del cluster. Para lo que ejecutamos lo siguiente.

Suspend-ClusterNode –Name mailx01

Si todo va bien, obtenemos esto.

En este punto nos toca deshabilitar la activación de copias de bases de datos. Para lo que tenemos que ejecutar el siguiente comando.

Set-MailboxServer mailx01 –DatabaseCopyActivationDisableAndMoveNow $true 


Como vemos no nos da ningún mensaje.


Bloqueamos la activación de base de datos en el servidor, esto lo hacemos con el siguiente comando.

Set-MailboxServer mailx01 –DatabaseCopyAutoActivationPolicy blocked 




Igual que con el comando anterior, no nos muestra ningún mensaje.




Ahora lo ponemos en modo mantenimiento. Ejecutando lo siguiente.

Set-ServerComponentState mailx01 –Component Serverwideoffline –State inactive –Requester maintenance


Como vemos no nos muestra ningún mensaje.




Ahora comprobamos que los servicios están inactivos.



Para ello ejecutamos Get-ServerComponentState mailx01



Ahora cerramos el Powershell de Exchange y estamos en disposición de realizar la actualización del servidor.

Volvemos al CMD en modo administrador y nos ponemos en la carpeta donde tenemos los archivos de instalación del CU correspondiente de Exchange.

Y ejecutamos el siguiente comando.


Setup.exe /mode: upgrade /InstallWindowsComponents /IAcceptExchangeServerLicenseTerms 




Bueno esto comienza y tardara un rato.




Comprobamos que todos los pasos los ha pasado sin problemas.




Y Reiniciamos el servidor. Para ello ejecutamos Shutdown –r –t 0

Una vez reiniciado el servidor, tenemos que comprobar que todos los servicios de Exchange están iniciados.

Iniciamos una sesión de PowerShell de Exchange en modo Administrador.

Comprobamos las bases de datos


Get-MailboxDatabaseCopyStatus

Comprobamos los componentes

Get-ServercomponentState mailx01 | more 



Como vemos el servidor sigue en modo mantenimiento, con todos los servicios en modo inactivo.

Ejecutamos lo siguiente



Set-ServerComponenetState mailx01 –Component Serverwideoffline –State Active –Requester Maintenance



Resume-ClusterNode –Name mailx01



Activamos el servicio de Transporte.

Set-ServerComponentState mailx01 –Component Hubtransport –State Active –Requester Maintenance

Comprobamos que los servicios vuelven a estar activos.



Get-ServerComponentState mailx01



Pasamos al otro servidor

Abrimos un PowerShell de Exchange en modo administrador

Comprobamos el estado de las bases de datos


Get-MailboxDatabaseCopyStatus 


Y como vemos tenemos todas las bases de datos montadas en este servidor.

Antes de empezar con este servidor, debemos de volver al servidor DNS y tenemos que poner nuevamente los registros que habíamos eliminado al principio de la operación, que hacen referencia al servidor anterior.


Añadimos los registros DNS y eliminamos los pertenecientes al de este segundo servidor. 



Movemos las bases de datos

Move-ActiveMailboxDatabase –Server mailx02 –ActivateOnServer mailx01

Drenamos las colas de correo

Set-ServerComponentState mailx02 –Component Hubtransport –Sate draining –Requester maintenance

Redirecionamos el correo al otro servidor.

Redirect-Message –Server mailx02 –Target mailx01.literatura.com

Nos pide confirmación.

Aceptamos todo.

Suspendemos el nodo del cluster


Suspend-ClusterNode –Name mailx02

Set-MailboxServer mailx02 –DatabaseCopyActivationDisableAndMoveNow $true


Ahora bloquemos

Set-MailboxServer mailx02 –DatabaseCopyAutoActivationPolicy blocked

Ponemos el servidor en modo mantenimiento


Set-ServercomponentState mailx02 –Component ServerWideoffline –State Inactive –Requester maintenance

Salimos del PowerShell

Abrimos una sesión en CMD en modo Administrador, nos situamos en el directorio donde tenemos el instalador de nuestro CU y ejecutamos el siguiente comando.

Setup.exe /m: upgrade /InstallWindowsComponents /IAcceptExchangeServerLicenseTerms


Comienza y esto tardara un rato.


Una vez finalizado, vemos que todos los pasos los ha completado de forma correcta. Y reiniciamos el servidor.



Una vez la maquina haya reiniciado, comprobamos que todos los servicios de Exchange han sido iniciados correctamente.

Arrancamos el PoweShell de Exchange en modo Administrador

Comprobamos las bases de datos

Get-MailboxDatabaseCopyStatus


Ahora ejecutamos

Set-ServerComponentState mailx02 –Component ServerWideoffline –State active – Requester maintenance 


Ahora ponemos

Resume-ClusterNode –Name mailx02


Set-MailboxServer mailx02 –DatabaseCopyActivationDisableAndMoveNow $false


Activamos el sistema de transporte

Set-ServerComponentState mailx02 –Component Hubtransport –State active –Requester maintenance


Ahora vamos a ver las propiedades del servidor.

Get-MailboxServer mailx02 | fl | more


Set-Mailboxserver mailx02 –DatabaseCopyActivationPolicy unrestricted


Y hacemos lo mismo con el otro servidor que se nos había pasado hacerlo.


Y por último añadimos los registros en el DNS que habíamos quitado correspondientes a este servidor.



No hay comentarios:

Publicar un comentario