Cómo poner un servidor Exchange 2019/2016 en modo de mantenimiento (Sí, es un proceso)
Ejecutar servidores Exchange ya es bastante complicado sin la molestia adicional del mantenimiento. Si estás aplicando parches, actualizando hardware o simplemente intentando mantener el entorno ordenado, poner el servidor en modo de mantenimiento es esencial. Pero, vaya, es un poco complicado. Necesitas mover todas esas bases de datos, cambiar roles y asegurarte de que el flujo de correo no se estropee. Esta guía se centra en los pasos comunes, principalmente manualmente, porque, sinceramente, confiar en scripts no siempre es fiable. Prepárate para dedicar algo de tiempo a revisar cada fase para evitar sorpresas. Una vez hecho esto, el servidor está básicamente fuera de línea para la entrega de correo mientras te encargas de las actualizaciones o las reparaciones de hardware. Al terminar, revertir el proceso no es mucho más difícil, pero debes tener cuidado de no dejarlo en el limbo.
Cómo poner Exchange Server en modo de mantenimiento
Método 1: Modo de mantenimiento manual: porque a veces los scripts simplemente fallan
Este método se basa en hacerlo paso a paso, lo cual es lógico si desea tener control o si se encuentra con problemas con los scripts. En algunas configuraciones, los scripts se ejecutan desde el Shell de administración de Exchange, pero en otras, deberá hacerlo mediante PowerShell remoto, especialmente si no se puede acceder directamente al servidor. Primero, asegúrese de tener las herramientas RSAT con el módulo FailoverClusters cargado, así como la versión más reciente del Shell de administración de Exchange. Use PowerShell para conectarse a su servidor remotamente de la siguiente manera: powershell $Session = New-PSSession -ConfigurationName Microsoft. Exchange -ConnectionUri http://your.exchange.server/PowerShell/ -Authentication Kerberos -Credential (Get-Credential) Import-PSSession $Session Antes que nada, identifique los nombres de sus servidores: powershell # ¿Quién desea poner en modo de mantenimiento? $maintance_srv = «exchange1.yourdomain.com» # ¿Adónde desea que vayan las colas de correo? $target_srv = «exchange2.yourdomain.com» A continuación, deshabilite el componente HubTransport y vacíe el flujo de correo: powershell Set-ServerComponentState $maintance_srv –Component HubTransport –State Draining –Requester Maintenance Restart-Service MSExchangeTransport Compruebe si está en modo de vaciado: powershell Get-ServerComponentState -Identity $maintance_srv -Component HubTransport Una vez que muestre «Draining», mueva las copias de la base de datos del buzón fuera del servidor: powershell Set-MailboxServer $maintance_srv –DatabaseCopyAutoActivationPolicy Blocked Set-MailboxServer $maintance_srv –DatabaseCopyActivationDisabledAndMoveNow $true Ahora, espere unos minutos a que se transfieran las copias activas. Puede comprobar el estado con: powershell Get-MailboxDatabaseCopyStatus -Server $maintance_srv | donde {$_. Status -like «Mounted»} Mientras espera, puede que desee pausar el nodo del clúster para cambiar el rol de PAM (Administrador Activo Primario): powershell Suspend-ClusterNode –Name $maintance_srv Una vez que las bases de datos se hayan movido y las bases de datos montadas se hayan borrado, ponga el servidor en modo de mantenimiento: powershell Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State InActive –Requester Maintenance Compruebe que esté en modo de mantenimiento: powershell Get-ServerComponentState -Identity $maintance_srv -Component ServerWideOffline Para restablecer las cosas, invierta los pasos: powershell Set-ServerComponentState $maintance_srv –Component ServerWideOffline –State Active –Requester Maintenance Resume-ClusterNode –Name $maintance_srv Set-MailboxServer $maintance_srv –DatabaseCopyAutoActivationPolicy Set-MailboxServer sin restricciones $maintance_srv –DatabaseCopyActivationDisabledAndMoveNow $false Set-ServerComponentState $maintance_srv –Component HubTransport –State Active –Requester Maintenance Termine con una comprobación de estado: powershell Test-ServiceHealth $maintance_srv Y si desea volver a equilibrar las bases de datos de buzones, ejecute: powershell cd $exscripts.\RedistributeActiveDatabases.ps1 -DagName your-dag -BalanceDbsByActivationPreference Si desea que todas las copias de los buzones se muevan en masa:powershell Move-ActiveMailboxDatabase -Server $target_srv -ActivateOnServer $maintance_srv -Confirm:$false Por último, ejecute una prueba de conexión: powershell Test-MAPIConnectivity -Server $maintance_srv Y verifique el estado general del DAG: powershell Get-MailboxDatabaseCopyStatus Get-ReplicationHealth -DatabaseAvailabilityGroup
Nota al margen: En algunos sistemas, todo esto parece un poco frágil. La transferencia de la base de datos puede tardar unos minutos y, a veces, los comandos no parecen surtir efecto al principio. La paciencia es clave, y una segunda ejecución o un reinicio rápido a veces pueden solucionar el problema.
Resumen
- Identifique su servidor y los destinos de la cola de correo.
- Drenar el flujo de correo con Set-ServerComponentState.
- Mover las copias de la base de datos del buzón fuera del servidor.
- Ponga el servidor en modo de mantenimiento.
- Realizar actualizaciones o trabajos de hardware.
- Invierta los pasos para volver a poner el servidor en línea.
Resumen
Poner un servidor Exchange en modo de mantenimiento no es tan complicado, pero es un poco complicado. Hacerlo manualmente significa saber exactamente qué está pasando, pero también implica prestar atención a cada paso. Una vez que le coges el truco, el proceso es bastante sencillo; solo requiere un poco de paciencia. Ojalá esto le ahorre algunas horas a alguien. Crucemos los dedos para que ayude.