Дефрагментация почтовой базы Exchange 2010/2013
Необходимость дефрагментации почтовых баз в Exchange Server 2010 возникает из-за того, что при удалении информации из базы данных, она автоматически не сжимается (остаются пустые страницы), и соответственно размер файла базы не уменьшается. Например, если из почтовой базы размером 20 Гб перенести ящики пользователей, общим размером 5 Гб, то размер файла останется неизменным 20 ГБ. Однако, освободившиеся 5 Гб «свободного» места в дальнейшем будет использоваться новыми элементами.
Поэтому если вам необходимо уменьшить размер файла почтовой базы в Exchange 2010, удалив незанятые страницы, вы можете воспользоваться одной из следующих методик:
- Создать новую базу данных, перенести вся ящики в нее и удалить старую базу
- Выполнить офлайн дефрагментацию текущей базы
Каждая из указанных методик имеет свои плюсы и минусы. Офлайновая дефрагментация предполагает простой ящиков пользователей, но она является единственным доступным решением при нехватке дискового пространства (вам просто негде создать новую базу данных).
С другой стороны миграция ящиков в новую базу менее рискованная процедура, но помимо необходимости иметь достаточно свободного места для хранения двух почтовых хранилищ , генерирующая большое количество транзакций, также существенно увеличивающих требования к доступному свободному месту, и как результат, процесс переноса пользователей может занять несколько дней.
Следует четко различать процессы офлайн и онлайн (интерактивной) дефрагментации базы Exchange 2010. Интерактивная дефрагментация в Exchange выполняется постоянно при включенной опции Enable background database maintenance (24 x 7 ESE scanning). Эта процедура выполняется в фоновом режиме включает в себя удаление устаревших элементов в хранилище и оптимизацию расположения страниц. Основная задача – освободить неиспользуемое пространство за счет сжатия записей до минимально возможного количества страниц с целью сокращения количества операций ввода/вывода. Отметим, что неиспользуемое пространство не возвращается системе. Офлайн дефрагментация позволяет высвободить это пространство.
Определяем размер свободного места в базе Exchange 2010
Чтобы в Exchange 2010 узнать текущий размер базы данных и количество свободного места в ней (те самые неиспользуемые страницы), в Exchange Management Shell выполните следующую команду:
C:\>Get-MailboxDatabase -Status | ft name,databasesize, availablenewmailboxspace
Name DatabaseSize AvailableNewMailboxSpace—- ———— ————————WI-DB-01 17.26 GB (18,604,766,720 bytes) 8.544 GB (9,247,766,016 bytes)WI-DB-02 14.63 GB (15,785,670,144 bytes) 4.696 GB (4,968,761,856 bytes)WI-DB -Archive-01 658.1 MB (689,542,784 bytes) 234.6 MB (241,164,544 bytes)
В данном примере видно, что текущий размер базы WI-DB-01 17 Гб, причем свободного места в ней аж 8.5 Гб. И если вы хотите высвободить это место, размер файла почтовой базы можно уменьшить, выполнив дефрагментацию утилитой ESEUTIL.
Далее я покажу, каким образом можно дефрагментировать файл почтовой базы Exchange 2010 на отдельно стоящем сервере, который не является членом Database Availability Group.
ПРИМЕЧАНИЕ. Если ваш сервер входит в в группу DAG не используйте данную инструкицю!
Подготовка к дефрагментации Exchange 2010
Офлайн дефрагментаиция дело нужное , но опасное. Поэтому перед тем как выполнять дефрагменатция обязательно выполните бэкап дефрагментируемой базы для исключения неприятных ситуаций. Eseutil может нарушить внутреннюю связанность БД и после дефрагментации придется
воспользоваться бекапом.
При планировании дефрагментации базы нужно четко понимать, что для выполнения данной работы, необходимо отмонтировать нужную базу, что недоступность почты для всех пользователей, находящиеся в этой базе данных.
Далее необходимо удостовериться, что имеется достаточно свободного места для выполнения дефрагментации. В процессе дефрагментации создается новый файл базы и на диске одновременно хранятся старый и новый файл, кроме того нужно дополнительное место для временных файлов, создаваемых утилитой eseutil.
Поэтому, если вы собираетесь выполнить дефрагментацию почтовой Exchange, необходимо иметь свободное место, равному не менее 110% от текущего размера базы (без учета пустых страниц).
В моем случае это означает, что нам необходимо иметь как минимум 9,6 Гб свободного места на диске:
17.26 – 8.54 = 8.72
8.72 x 1.1 = 9.6
Если на текущем диске такого количества места нет, необходимо в параметрах eseutil указать альтернативное расположение временных файлов. Это может быть другой диск или сетевой UNC-путь, однако следует учесть, что при использовании UNC пути время дефрагментации может существенно увеличиться из-за пропускной способности и задержек сети.
Также нужно удостовериться, что вы у вас есть актуальная резервная копия дефрагментируемой базы данных, чтобы не было потом мучительно больно…
Использование ESEUtil для дефрагментации базы Exchange
Откройте командную строку Exchange Management Shell и перейдите в каталог с файлом почтовой базы:
cd D:\Data\WI-DB-01
Размонтируем базу.
Dismount-Database WI-DB-01
Запускаем дефрагментацию с помощью утилиты ESEUtil.
D:\Data\WI-DB-01>eseutil /d WI-DB-01.edb /t\\tmp_srv\exch\temp.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange ServerVersion 14.01Copyright (C) Microsoft Corporation. All Rights Reserved.Initiating DEFRAGMENTATION mode…Database: WI-DB-01.edbDefragmentation Status (% complete)0 10 20 30 40 50 60 70 80 90 100|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|……………………………………………Moving ‘\\ tmp_srv\exch\temp.edb’ to ‘WI-DB-01.edb’…File Copy Status (% complete)0 10 20 30 40 50 60 70 80 90 100|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|……………………………………………Note:It is recommended that you immediately perform a full backupof this database. If you restore a backup made before thedefragmentation, the database will be rolled back to the stateit was in at the time of that backup.Operation completed successfully in 2798.218 seconds.
Монтируем базу:
mount-Database WI-DB-01
Убедимся, что ее размер уменьшился:
Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto
Name DatabaseSize AvailableNewMailboxSpace—- ———— ————————WI-DB-01 8.328 GB (8,942,190,592 bytes) 5.219 MB (5,472,256 bytes)WI-DB-02 14.63 GB (15,785,670,144 bytes) 4.696 GB (4,968,761,856 bytes)WI-DB -Archive-01 658.1 MB (689,542,784 bytes) 234.6 MB (241,164,544 bytes)
Комментариев нет:
Отправить комментарий