Migración de Exchange 2003 a Exchange 2010
En este documento veremos los pasos a realizar para la migración de una organización Microsoft Exchange Server 2003 a Microsoft Exchange Server 2010, tendremos en cuenta que en este documento migraremos un servidor Exchange 2003 con buzones, carpetas públicas, directivas y OWA a un servidor Exchange 2010 con todos los roles (Concentrador de transporte, Acceso de cliente, Buzón y las Herramientas de administración de Exchange). Si queremos obtener una organización Exchange 2010 con las funciones separadas podemos usar el documento cómo guía, ya que cada migración es completamente diferente al resto.
De todas formas, lo primero que hay que recomendar es una de las mejores cosas que ha hecho Microsoft en esta vida, un asistente de implantación de Exchange 2010 llamada “Microsoft Exchange Server Deployment Assistant“. Es una guía que dependiendo las opciones que seleccionemos nos indicará los pasos a seguir, deberemos cumplimentar un checking indicando cómo es nuestra organización de Exchange y a qué queremos llegar.
Los servidores Exchange 2003 deben tener el Service Pack 2 (SP2) de Exchange 2003 instalado cómo mínimo. Si nuestra intención es instalar Exchange 2010 en diferentes servidores, repartiendo los roles, el orden de instalación de los roles debe ser el siguiente: 1º Client Access o Acceso de Cliente, 2º Hub Transport o Concentrador de transporte, 3º Unified Messaging (UM) o Mensajería unificada y 4º Mailbox o Buzón.
Pasos de migración:
1. Debemos cambiar el modo de operación de nuestra organización Exchange, debemos tener “Modo nativo”. Para ello, desde la consola “Administrador del sistema de Exchange” > botón derecho en la ORGANIZACIÓN > En la pestaña “General” botón “Cambiar el modo”.
2. Debemos preparar el Directorio Activo para poder tener un primer servidor de Exchange 2010. http://www.bujarra.com/?p=3700.
3. Debemos preparar el equipo donde instalaremos Exchange 2010, dependiendo de los roles a instalar tendrá más o menos requisitos. http://www.bujarra.com/?p=3698.
4. Debemos realizar la instalación de Microsoft Exchange 2010 (o de los roles en orden). Tras la instalación de los prerequisitos e indicar el idioma de la instalación, comenzamos la instalación de Exchange 2010 en el servidor. En el asistente de instalación seleccionare “Instalación típica de Exchange Server”.
Durante el asistente antes de comenzar la instalación, debemos indicar un servidor Exchange 2003 para crear un conector contra dicho servidor. Una vez instalado, reiniciamos.
6. Debemos cambiar quien será el servidor de generación de la Libreta de direcciones sin conexión (Offline Address Book – OAB), dicho servidor será el encargado de mantener actualizada la libreta.
Para mover la libreta, abrimos la “Consola de administración de Exchange”, vamos a “Configuración de la organización” > “Buzón” > Pestaña “Libreta de direcciones sin conexión” y botón derecho en las libretas que tengamos “Mover…”,
Pulsamos en “Examinar” para mover dicha generación de la libreta de un servidor a otro.
Seleccionamos el nuevo servidor Exchange 2010. “Aceptar”,
Pulsamos en “Mover” para mover dicha función,
Y listo, pulsamos en “Finalizar”. Podemos ver que mediante la PowerShell si ejecutamos: move-OfflineAddressBook -Identity ‘LISTA DE DIRECCIONES SIN CONEXIÓN PREDETERMINADA’ -Server ‘SERVIDOR_DESTINO’.
7. Creación de un conector de envío. Tenemos que crear dicho conector para permitir la salida de los correos de este servidor, deberemos crear y configurar un conector (o conectores) cómo lo tengamos en el servidor Exchange 2003 de nuestra organización, sea envío directo hacía Internet o sea un conector personalizado mediante un Smart Host.
Para ello, abrimos la “Consola de administración de Exchange”, vamos a “Configuración de la organización” > “Transporte de concentradores” > Pestaña “Enviar conectores”. Botón derecho “Nuevo conector de envío…”,
Indicamos un nombre al conector y definimos el tipo de conector, en mi caso es un conector sencillo que simplemente es para poder enviar correos directamente através de la configuración de mi red, por mi puerta de enlace… “Siguiente”,
Pulsamos en “Agregar…” para crear un espacio de direcciones, cómo quiero que sea para todos los dominios destinatarios en “Dirección” pongo “*” y de peso/prioridad/costo “1”. Aceptamos y seguimos el asistente,
En mi caso que salga directamente por los registros MX que resuelva del DNS, así que la primera opción, si queremos enrutar el correo através de otro host inteligente o smart host pues marcaríamos la segunda opción. “Siguiente”,
“Siguiente”, a menos que tengamos más servidores y querramos que envíen através de este conector.
Confirmamos que es correcto y pulsamos “Nuevo” para crear dicho conector.
“Finalizar”. Cómo todos los asistentes, nos da la posibilidad de copiar el comando y ejecutarlo en PowerShell para la próxima vez o para hacernos nuestros propios scrips. Comando: new-SendConnector -Name ‘NOMBRE_CONECTOR’ -Usage’TIPO_CONECTOR’ -AddressSpaces ‘SMTP,DOMINIO,PESO’ -IsScopedConnector $true/$false -DNSRoutingEnabled $true/$false -UseExternalDNSServersEnabled $true/$false -SourceTransportServers ‘NOMBRE_SERVIDOR’.
8. Migrar buzones de usuarios. Ahora es el momento de comenzar con la migración de los buzones de los usuarios. Ojo que si queremos antes de esto, podemos mover la base de datos existente en el servidor Exchange 2010 a la ubicación correcta además de renombrarlo o crear más almacenes de buzones.
Para mover los buzones de los usuarios, vamos a la “Consola de administración de Exchange”, vamos a “Configuración de destinatarios” y sobre los buzones de los usuarios con botón derecho “Nueva solicitud de movimiento local…”
Debemos seleccionar una base de datos de buzones de destino desde “Examinar” para ubicar en ella los buzones de los usuarios, “Siguiente”,
Si algún buzón está dañado (o algún elemento de él) podremos omitir el movimiento del buzon o omitir sus mensajes dañados. “Siguiente”,
Resumen de movimiento de buzones, pulsamos en “Nuevo” para moverlos,
… dependiendo del tamaño de los buzones esto podría tardar bastantes horas…
“Finalizar”, ok, con esto tenemos también los buzones de los usuarios movidos al nuevo servidor.
9. Migrar las carpetas públicas (si las tenemos, claro). Para mover las carpetas públicas entre los diferentes servidores de Exchange, tenemos que habilitar la réplica en ellas para replicarlas al nuevo servidor y una vez replicadas, eliminar dicha réplica. Ojo! también es buen momento mover las carpetas públicas antes de replicarlas, para ubicarlas en un disco o partición correcta… Tenemos varias opciones de mover las carpetas públicas, dos mediante las consolas (una opción más manual y otra más automática) o directamente con la PowerShell, vemos las tres opciones:
Para ello, tenemos que abrir la “Consola de administración de Exchange”, vamos a “Cuadro de herramientas” y abrimos la “Consola de administración de la carpéta pública”. Una vez en dicha consola, tenemos la opción de replicar una a una las carpetas, es la opción recomendable pero la más lenta, ya que tenemos que hacer este proceso por cada carpeta pública que tengamos. Sobre cada una de las caprtas públicas > botón derecho “Propiedades”,
En la pestaña “Replicación”, debemos añadir el servidor al que deseamos mover las carpetas desde “Agregar…”
Seleccionamos el servidor con Exchange 2010 & “Aceptar”,
Comprobamos que estan ambos servidores, desmarcamos la opción “Usar el programa de replicación de la base de datos de carpetas públicas” para indicar que la réplica se haga siempre “Ejecutar siempre”. Una vez que el contenido de las carpetas esté replicado, volveremos hasta aquí, seleccionaremos el servidor Exchange 2003 y lo quitaremos de la réplica.
Otra forma de mover las carpetas, esta vez en conjunto, es por ejemplo desde la consola “Administrador del sistema de Exchange” del 2003, “Grupos administrativos” > GRUPO_ADMINISTRATIVO > “Servidores” > SERVIDOR_2003 > GRUPO_ALMACENAMIENTO > con botón derecho en el almacén de las carpetas públicas “Mover todas las réplicas”,
Seleccionaríamos el servidor al que llevarle las réplicas y aceptamos. Lo dicho, dependiendo del volumen de datos que tengan tardará más o menos.
Para saber el contenido de las réplicas se ha realizado, podremos comprobarlo desde la propia consola de “Administrador del sistema de Exchange” del 2003, “Grupos administrativos” > GRUPO_ADMINISTRATIVO > “Servidores” > SERVIDOR_2003 > GRUPO_ALMACENAMIENTO > ALMACEN_CARPETAS_PUBLICAS > “Instáncias de carpetas públicas”, dicha carpeta debe estar completamente vacía.
Para ver el estado de las réplicas, podremos comprobarlo desde la PowerShell del Exchange 2010, ejecutando: ‘Get-PublicFolder -recurse | Format-List Name,Replicas‘. Para ver el listado de las carpetas públicas del sistema: ‘Get-PublicFolder NON_IPM_SUBTREE -recurse | Format-List Name,Replicas‘. Y si queremos mover las carpetas mediante PowerShell podemos usar el script MoveAllReplicas.ps1 en el directorio “%ProgramFiles%MicrosoftExchange ServerScripts”, ejecutando: ‘MoveAllReplicas.ps1 -Server SERVIDOR_ORIGEN -NewServer SERVIDOR_DESTINO‘. Y simplemente para comprobar si nos queda algúna carpeta públcia por mover, podemos ejecutar: ‘Get-PublicFolderStatistics -Server SERVIDOR’ y comprobaremos si quedan carpetas públicas en el servidor Exchange 2003 a quitar.
Y deberemos indicar en cada base de datos que tengamos de buzones, cual es su BD de carpetas públicas predeterminada. Todo ello desde la “Consola de administración de Exchange” de 2010 > “Configuración del servidor” > “Buzón” > botón derecho encima de la base de datos privada “Propiedades” > Pestaña “Configuración de cliente”, y debemos pulsar en “Examinar” para indicar la base de datos de carpetas públicas predeterminada. “Aceptar”.
10. Debemos cambiar los servidores con la función de actualización de destinatarios. Lo haremos desde la consola de “Administrador del sistema de Exchange”,
Debemos cambiar qué servidor es el RUS o Recipient Update Service para nuestra organización, para ello abrimos la consola “Administrador del sistema Exchange”, vamos a “Destinatatios” > “Servicios de actualización de destinatarios” y en cada recipiente con botón derecho > “Propiedades”,
En “Servidor de Exchange” pulsamos “Examinar” y seleccionamos el nuevo servidor de Exchange 2010. Realizaremos esta tarea en cada servicio de actualización de destinatarios.
11. Actualizar las listas de direcciones predeterminadas de filtros LDAP (usado en Exchange 2003) a filtros OPATH (Usado en Exchange 2010).
Debemos ejecutar en PowerShell los siguientes comandos para actualizar las listas de direcciones para usar la sintaxis de filtrado de tipo OPATH y ya no usar el filtrado basado en LDAP.
Set-AddressList “Todos los usuarios” -IncludedRecipients MailboxUsers
Set-AddressList “Todos los grupos” -IncludedRecipients MailGroups
Set-AddressList “Todos los contactos” -IncludedRecipients MailContacts
Set-AddressList “Carpetas públicas” -RecipientFilter { RecipientType -eq ‘PublicFolder’ }
Set-GlobalAddressList “Lista global de direcciones predeterminada” -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq ‘user’ -or ObjectClass -eq ‘contact’ -or ObjectClass -eq ‘msExchSystemMailbox’ -or ObjectClass -eq ‘msExchDynamicDistributionList’ -or ObjectClass -eq ‘group’ -or ObjectClass -eq ‘publicFolder’))}
Nota, dependiendo del idioma de nuestra instalación cambiaremos: “Todos los usuarios” por “All Users”, “Todos los grupos” por “All Groups”, “Todos los contactos” por “All Contacts”, “Carpetas públicas” por “PublicFolders” y “Lista global de direcciones predeterminada” por “Default Global Address List”.
12. Actualizar las directivas de destinatarios. Posteriormente actualizaremos las directivas que tengamos definidas de nuestros destinatarios.
Con ‘Get-EmailAddressPolicy | where {$_.RecipientFilterType -eq “Legacy”}’ observaremos las directivas de destinatarios que tengamos definidas en nuestro entorno, y con ‘Get-EmailAddressPolicy | where {$_.RecipientFilterType -eq “Legacy”} | Set-EmailAddressPolicy -IncludedRecipients AllRecipients’ actualizaremos todas las directivas.
13. Seleccionar carpetas públicas y libreta de direcciones sin conexión, desde la consola de administración de Exchange, “Configuración de la organización” > “Buzón” > “Administración de base de datos”, en cada base de datos que tengamos con botón derecho > “Propiedades”.
En la pestaña “Configuración de cliente”, seleccionamos la base de datos de carpetas públicas que tengamos (en Exchange 2010) y la libreta de direcciones sin conexión.
14. Eliminación de los conectores. Debemos eliminar los conectores que tenga asociados el servidor Exchange 2003 a desaparecer.
Tenemos que eliminar los conectores que asocien al servidor Exchange 2003 con Exchange 2010. Desde cualquier consola o PowerShell.
15. Desinstalación de Exchange. Debemos desinstalar ya el/los servidores que ejecuten Exchange 2003 que ya no dispongan de una función en nuestra organización. http://www.bujarra.com/?p=982.