Инспектируя свои ящики, обратил внимание на товарища, у которого было явно неадекватное соотношение параметров ящика TotalItemSize и TotalDeletedItemSize:
Решение было мне уже известно, я запустил команду Search-Mailbox:
Search-Mailbox "user1" -SearchDumpsterOnly -DeleteContent
RunspaceId: 8189d0e1-5260-4a75-8424-e0ef6a8eeb14
Identity: domain/user1
TargetMailbox:
TargetPSTFile:
Success: True
TargetFolder:
ResultItemsCount: 0
ResultItemsSize: 0 B (0 bytes)
Вот тут я задумался…
Для начала я посмотрел содержимое каталога Recoverable Items с помощью командлета Get-MailboxFolderStatistics:
Затем почитал статью про каталог Recoverable Items в ящиках Exchange 2010.
Для защиты писем от случайного удаления, а также выполнения требований по сохранности почты, в Exchange 2010 внедрили этот каталог, назвав его Dumpster.
В нем есть следующие подкаталоги:
- Deletions. Содержит письма, удаленные из папки “Удаленные”. Именно отсюда восстанавливаются письма, если вы выполняете в Outlook команду “Восстановить удаленные” (так называемые Soft Deleted);
- Versions. Если на ящике включен функционал Single Item Recovery или Litigation Hold, то в этом каталоге хранятся оригинальные и измененные версии объектов ящика;
- Purges. Если включен функционал Single Item Recovery или Litigation Hold, то в этом каталоге хранятся удаленные из ящика объекты (так называемые Soft Deleted). В противном случае эти объекты удаляются из базы;
- Audits. Если включен аудит доступа к почтовому ящику, то в этом каталоге будут хранится записи журнала аудита. Подробнее об аудите доступа к почтовому ящику можно почитать тут.
Интересная симптоматика получается: мы имеем каталог Recoverable Items с гигабайтами данных, которые не лежат ни в одном из его штатных подкаталогов. Увидеть эти подкаталоги нельзя. Что же делать с 8Гб данных, которые в ящике просто так валяются?
Поиск привел меня к команде New-MailboxRepairRequest, позволяющей запустить проверку целостности ящика или базы почтовых ящиков целиком. Это некий аналог команды Isinteg, существовавшей в Exchange 2003.
Запускаем проверку ящика на восстановление:
New-MailboxRepairRequest -Mailbox "user1" -CorruptionType SearchFolder,AggregateCounts,ProvisionedFolder,FolderView
Обратите внимание, что во время работы восстановления доступ к ящику не предоставляется. Для незаметной проверки лучше использовать командлет
New-MailboxRepairRequest -Mailbox "user1" -CorruptionType SearchFolder,AggregateCounts,ProvisionedFolder,FolderView -DetectOnly
Результаты сканирования доступны в журнале событий от источника MSExchangeIS Mailbox Store с кодами событий 10044,10045,01146,10047,10048,10049,10050,10051,10059,10062. Тут учат, как настроить свое представление журналов событий для отображения результатов.
Сканирование успешно завершено, но проблема не решена. Гуглим дальше и натыкаемся на ветку форума Technet.
Коллеги рекомендуют отключить сохранение версионности календарей:
Set-Mailbox "user1" -CalendarVersionStoreDisabled $true
Ну и, чтобы не ждать сутки, запускаю Mailbox Assistant’a:
Start-ManagedFolderAssistant "user1"
Ура, объем данных в Recoverable Items начинает стремительно уменьшаться!
Команду Start-ManagedFolderAssistant приходится повторить еще несколько раз, но результат того стоит:
Обратите внимание, теперь в Recoverable Items два объекта, которые содержатся в подкаталоге Deletions (удаленные из ящика сообщения).
А если вам хочется узнать подробнее про Calendar Versioning, то читайте тут 🙂
Спасибо, за познавательную статью! Очень пригодилась!
Есть пару вопросов:
“Запускаем проверку ящика на восстановление” – для чего это необходимо?
“А если вам хочется узнать подробнее про Calendar Versioning, то читайте тут” – ссылка не работает. Если не сложно вкратце расскажите -На что отключение данного параметра может повлиять?
Понятного объяснения на просторах инета я не нашел(
https://techcommunity.microsoft.com/t5/exchange-team-blog/holy-cow-changes-to-recoverable-items-versioning-in-exchange/ba-p/600259
“Запускаем проверку ящика на восстановление”: здесь было предположение, что ящик поврежден. Создаем задачу его починки. В моем случае чинить было нечего – ошибок поиск не нашел.
Спасибо.
а про Calendar Versioning может что-нибудь прояснить. Что это за параметр?