Exchange 2013: No active public folder mailboxes were found

Publicado el 08 enero 2014 por Aprendiendoexchange

Recientemente en el marco de un proyecto de migración de Exchange 2007 a Exchange 2013 faltando una par de casillas para terminar, el servidor viejo deja de funcionar por problemas varios con el hardware.

Al tema de las casillas que faltaban se sumaban las carpetas públicas, que si bien no eran muchas eran importantes para varias áreas de la empresa.

Como algunos sabrán, las carpetas públicas en Exchange 2013 fueron completamente rediseñadas en relación a todo lo que conocemos desde Exchange 2010 hacia atrás. Para que se hagan una idea ni siquiera existe la base pública, ahora lo que hay son buzones de tipo “PublicFolder” que almacenan estas carpetas.

Si bien hay muchas mejoras en las nuevas carpetas públicas, el proceso de migración es mucho más complicado que en versiones anteriores. Si les ha tocado migrar una base pública de un servidor Exchange hasta la versión 2010 sabrán que básicamente el proceso consiste en agregar al nuevo servidor como compañero de replicación, esperar que finalice la replica y de estar todo en orden remover el servidor origen de la lista.

En Exchange 2013 esto no es así y en adición, llegado el caso de que hayan comenzado a utilizar las carpetas en el nuevo servidor (2013) y por algún motivo requieran hacer rollback al servidor viejo, esto implicaría intervención manual en varios niveles, incluyendo la exportación manual del contenido nuevo de las carpetas en 2013 y posterior adición al contenido de la base vieja (por ejemplo utilizando PSTs). Es decir que no hay rollback del modo que lo conocíamos, luego que se activa la estructura de carpetas públicas en Exchange 2013, estas dejan de sincronizar con la versión anterior. Por este motivo, las carpetas no se activan en Exchange 2013 hasta no haber migrado la totalidad de los usuarios.

En el caso puntual de este cliente, el proceso de migración de las carpetas había comenzado exitosamente, estaban sincronizadas, etc. El tema es que al no haber podido finalizar la migración del modo documentado por Microsoft el proceso no finalizó con éxito.

Dado que los datos estaban migrados y simplemente faltaba indicar que finalizara la migración supuse que quizás era posible emular una migración exitosa como por ejemplo seteando el parámetro “PublicFolderMigrationComplete” en True y eliminando el move request realizado para la migración de las public folders. Error en la suposición, si bien el status quedo como completado por los errores que se recibían estaba claro que esto no cambiaba la situación:

Al querer visualizar las carpetas públicas me seguía encontrando con el error:

No active public folder mailboxes were found

Este error también lo recibía a través del shell al querer crear una nueva carpeta, pero observando con más atención me encuentro con algo muy interesante:

This Happens when no public folder mailboxes are provisioned or the are provisioned in ‘HoldForMigration’ mode. If you’re not currently performing a migration, create a public folder mailbox…

Digo interesante porque aparentemente si pudiera remover el modo “HoldForMigration” podría quedar funcionando, por lo que enfoque la investigación en encontrar como eliminar esto.

Luego de revisar más a fondo la documentación caigo en el siguiente artículo de Microsoft: http://support.microsoft.com/kb/2786607

En este artículo encuentro lo siguiente:

This issue occurs because the HoldForMigration parameter is specified when you create the first public folder mailbox. This behavior is by design.

Perfecto, el problema es que se creo el buzón con el parámetro HoldForMigration. Esto es así porque fue en el marco de una migración por lo que era necesario. Veamos la solución propuesta:

If you have created the first public folder mailbox with the HoldForMigration parameter for migrating legacy public folders,  complete the migration.

If you do not have legacy public folders in the organization and you  accidentally created the first public folder mailbox with the HoldForMigration parameter, then you must delete all public folder mailboxes that are present in the organization. Then, you must create a new public folder mailbox without specifying the HoldForMigration parameter.

En definitiva, la solución es completar la migración. Con el servidor original esto no era posible, aparte de no tener los respaldos necesarios para recrearlo (en términos de costo y tiempo tampoco tenía sentido invertir un montón de horas en la recuperación del servidor viejo).

Debido a esta situación el escenario con el que me encontraba era similar al que uno se podría encontrar si utilizó el parámetro HoldForMigration por error. La única opción que nos deja el artículo es eliminar todo y volver a crearlo de 0.

Resolución:

Afortunadamente el disco del servidor viejo (exchange 2007) estaba “sano” por lo que se pudieron recuperar los archivos EDB (de base) y con una herramienta de terceros bajar la info a PST.

Posteriormente se eliminó y re creo el buzón de carpetas públicas con el procedimiento detallado en el artículo: http://support.microsoft.com/kb/2786607 (esta vez sin el parámetro HoldForMigration).

Por último, se creo un nuevo perfil de outlook con un usuario con buzón en Exchange 2013, se cargaron los PSTs exportados y se subió la info de los PST a la nueva estructura generada.

Si bien el final fue “feliz” esto implicó invertir tiempo extra debido a un problema completamente ajeno al proceso de migración como fue la rotura del servidor original.

Por último, les dejo unos links con info adicional sobre migración de carpetas públicas a Exchange 2013 y su funcionamiento en general:

Migrate Public Folders to Exchange 2013 From Previous Versions

Public Folders