O365 – Public Folder – emails sendo removidos de tempos em tempos
By: Caio Ribeiro César
As Public Folders (PFs) voltaram. Elas já estão funcionando faz um tempo e alguns clientes que antes não migravam para a cloud devido a esta necessidade, hoje já estão migrados ou no processo de migração.
A nova arquitetura de Public Folder funciona baseada no Exchange 2013: mailbox. Não utilizamos mais “Databases” para Public Folders – elas são mailboxes, gerenciadas pelo nosso time de produto para expansão de tamanho, quota, etc. Com a nova arquitetura de Public Folder, temos também uma melhor gerência de storage e uma excelente high availability (já que elas são armazenadas em DAGs).
Os admins de O365 devem se preocupar apenas com as migrações de PFs de ambientes on-premises e outras questões, como replica e criação da estrutura de pastas.
Utilizamos Public Folders para possuir um histórico de conversas públicas, para que os dados fiquem disponíveis para um grupo específico de usuários (ou todos). Para mais informações de recomendações sobre dados vs. soluções assista ao nosso vídeo, que também explica a teoria da migração de PFs onpremises > cloud.
Vamos ao problema. Emails de Public Folders estão sendo removidos de tempos em tempos, todos os usuários possuem acesso a estrutura de PF.
O primeiro passo do suporte foi remover todos os acessos e validar se o problema persistia. Para a surpresa de todos, sem nenhum usuário efetuando o acesso na Public Folder, os dados ainda eram removidos.
A possibilidade é que o Exchange, de alguma maneira, estava removendo dados. Ao invés de capturar um store trace para esta mailbox (ou validar questões de auditoria), validamos configurações de Public Folders.
Primeiramente, configurações da organização:
Então, de uma PublicFolder que está tendo o problema:
Os valores de AgeLimit estão configurados. Conforme a man page de Exchange, o padrão destes valores é $null:
Ou seja, qualquer PublicFolder criada na organização teria o PublicFolderAgeLimit = 1 dia (a não ser que o AgeLimit tenha outro valor fixo para esta PF específica). No nosso cenário, ambos os valores estão = 1.00:00:00 .
Encontramos então o vilão. Os valores de AgeLimit e DefaultPublicFolderAgeLimit haviam sido configurados manualmente por engano - e agora iremos atualizá-los para o valor padrão.
Confirmando que os valores foram atualizados:
Neste exemplo acima, utilizamos o parâmetro “recurse” para validar todas as estruturas de PF da organização. Um exemplo para alterar todas as PFs existentes é concatenar os comandos, por exemplo:
“Get-PublicFolder -Recurse | Set-PublicFolder -AgeLimit $null”