Мы хотели бы поприветствовать Родни Бьюика в нашей команде авторов, т.к. он представляет свою первую статью читателям MSExchange.org. Хранилище информации (Information Store) – это сердце и душа серверов Exchange 2000 и 2003. Понимание фундамента Information Store важно для всех, кто занимается управлением сервера Exchange.
Если вы мне не верите, остановите службу Microsoft Exchange Information Store и засеките время, до того как ваш телефон начнет звонить!
Information Store состоит из нескольких компонент. На рисунке 1 изображена графическая схема типового сервера Exchange.
Exchange 2000 и 2003 используют одинаковое Хранилище, но в зависимости от версии существуют различия. В таблице 1 описаны эти различия.
Особенности хранилища | Exchange 2000* и Exchange 2003 Standard Pre-SP2 | Exchange 2003 Standard /w SP2 | Exchange 2000 и 2003 Enterprise |
---|---|---|---|
# Количество Групп хранилища | 1 + 1 RSG** | 1 + 1 RSG** | 4 + 1 RSG** |
# Количество хранилищ | 1 хранилище электронной почты и 1 хранилище для Общей папки на каждую Группу хранилища | 1 хранилище электронной почты и 1 хранилище для Общей папки на каждую Группу хранилища | 5 на каждую Группу Хранилища |
Ограничения размеров хранилища | 16GB на хранилище | 75GB на хранилище | 16TB на хранилище |
Таблица 1
* Exchange 2000 с любыми сервис паками
**RSG = Recovery Storage Group (Группа хранилища для восстановления)
Группы хранилищ (Storage Groups) и базы данных
Storage Group содержит одно или несколько хранилищ электронной почты или общих папок, в зависимости от версии и нужд организации. Хранилища электронной почты содержат почтовые ящики системы и пользователей, а Public Folder Store содержит общие папки и их содержимое. Для большинства организаций одна группа хранилищ, с одним хранилищем электронной почты и одним хранилищем общих папок более чем достаточно, однако, по мере роста базы данных в размере, разделение одной большой базы данных на несколько маленьких баз данных поможет облегчить управлением резервным копированием.
По умолчанию при установке Exchange создается Storage Group, которая содержит Mailbox Store (Хранилище электронной почты) и Public Folder Store (Хранилище общей папки). Каждое Mailbox Store состоит из двух файлов:
- Priv1.edb - файл базы данных, который содержит электронные сообщения, прикрепленные файлы и заголовки электронных сообщений
- Priv1.stm – потоковый файл, который содержит мультимедийные данные в формате MIME.
Обычно, каждое Public Folder Store также состоит из двух файлов:
- Pub1.edb – файл базы данных, который содержит сообщения, прикрепленные файлы и заголовки для файлов, хранящихся в дереве общих папок.
- Pub1.stm – это потоковый файл, который содержит мультимедийные данные в формате
Каждый файл EDB ассоциируется с файлом STM.
Exchange использует хранилища с одной ссылкой на сообщение. Что это значит? Если электронное сообщение послано на несколько почтовых ящиков, которые находятся в одной базе данных, то сообщение будет сохранено один раз, и в каждом почтовом ящике будет находиться указатель на это сообщение. Транзакция также заносится в журнал транзакций для Storage Group, которая содержит эту базу данных. Однако, если электронное сообщение послано на несколько почтовых ящиков, которые размещены в различных базах данных, то сообщение будет скопировано для каждой базы данных и записано в журнал транзакций для каждой Storage Group, которые содержать базу данных с копией сообщения.
Например, если я послал 10 пользователям сообщение размером 1MB и все почтовые ящики расположены в одной базе данных, то только одна копия будет записана в базу данных, а в каждом почтовом ящике будет размещена ссылка на это сообщение, таком образом будет задействовано только 1MB дискового пространства. Если все 10 получателей расположены в двух различных базах данных, каждая база данных получит копию этого сообщения, и таким образом будет задействовано 2MB дискового пространства. Как вы можете увидеть в первом случае, так намного эффективнее использовать дисковое пространство.
Кроме файлов баз данных Группы хранилищ (Storage Groups) также содержат системные файлы и журналы транзакций. Существуют два системных файла Tmp.edb – временная база данных, в которую записываются транзакции, и E##.chk. Файл E##.chk обеспечивает контрольную точку для Storage Group. Символы ## представляют номер Storage Group - для первой Storage Group файл будет называться E00.chk. Это файл с контрольной точкой отслеживает последнюю совершенную транзакцию. Если вам надо произвести восстановление, то в этом файле содержится точка отсчета, с которой начинать проход журнала транзакций.
Журналы транзакций
Журналы транзакций – это самые важные файлы для работы сервера Exchange server. Microsoft Exchange Server использует журналы транзакций для восстановления в случае аварии, что позволяет вернуть базу данных Exchange в нормальное состояние после аварии. Перед тем, как что-нибудь записать в файл EDB, это записывается в журнал транзакций. После того, как транзакция была занесена в журнал, данные записываются в базу данных.
До тех пор, пока транзакция не выполнена в базе данных, она доступна из памяти и записывается в журнал транзакций. По этой причине вы можете увидеть, что файл store.exe использует до 1GB оперативной памяти, если сервер Exchange работал продолжительное время. После восстановления работоспособности сервера Exchange после аварии, в файле с контрольной точкой содержится информация о последней совершенной транзакцией в журнале транзакций.
Существует четыре типа журналов транзакций:
- E##.log – это текущий журнал транзакций для базы данных. После того, как файл журнала достигает размера 5MB, он переименовывается в E#######.log и создается новый файл E##.log. Как и в случае с контрольным файлом символы ## указывают на номер Группы хранилищ (Storage Group). Пока будет создаваться новый файл E##.log вы увидите файл под названием Edbtmp.log, который является шаблоном для файлов журналов для сервера Exchange.
- E#######.log – это дополнительные журналы транзакций. Они последовательно нумеруются, начиная с E0000001.log с использованием шестнадцатиричной нумерации и имеют размер 5MB.
- Res1.log – резервный файл журнала, который ограничен 5MB. Когда диск переполняется, транзакции записываются в этот журнал транзакций, пока вы занимаетесь очисткой диска.
- Res2.log – это другой резервный журнал транзакций, который выполняет функцию аналогичную первому резервному файлу Res1.log.
Журнал транзакций может расти очень быстро, т.к. все транзакции записываются в журнальный файл. Существует два способа управления этим ростом – с помощью рекомендуемого метода путем регулярного полного резервного копирования Information Store. При успешном резервном копировании, транзакции помещаются в базу данных, а затем удаляются.
Другой способ – это подключение цикличной журнализации. Цикличная журнализация отключена по умолчанию, т.к. она позволяет вам восстановить данные Exchange с последнего резервного копирования. При подключенной цикличной журнализации журнал транзакций очищается сразу после того, как транзакции помещаются в базу данных. Если вам необходимо будет восстановиться с резервной копии, то все транзакции после резервной копии будут потеряны.
Два резервных файла транзакций Res1.log и Res2.log используются для хранения 10MB пространства, на тот случай, если свободное пространство на диске закончилось. Когда пространство на диске заканчивается, то транзакции записываются в резервный журнал, а служба Information Store автоматически останавливается. Вы не сможете перезапустить службу Information Store, пока не освободите пространство на диске.
Рекомендации
Здесь приведены некоторые рекомендации по Information Store
- Размещение программных файлов Exchange, очередей SMTP, журналов транзакций и файлов баз данных на различных дисковых массивах – это идеальный вариант. Если ваш бюджет не позволяет этого, то размещение программных файлов, журналов транзакций и очередей SMTP на одном дисковом массиве, а файлов базы данных на другом дисковом массиве, позволит увеличить производительность при минимальной стоимости.
- Все файлы должны размещаться на дисковых массивах. RAID 1 – это минимально рекомендуемый уровень, RAID 5 обеспечивает повышение в производительности, а RAID 10 обеспечивает лучшую производительность при наибольших затратах.
- Регулярно выполняйте полное резервное копирование Information Store, чтобы записать все транзакции и очистить файлы журналов. Это можно сделать при помощи средств Windows, NTBackup или средств сторонних организаций. Это помогает также сохранить диск от переполнения.
- Не используйте цикличную журнализацию. Как упоминалось ранее, цикличная журнализация позволяет вам восстанавливать лишь данные из последней резервной копии.
Information Store – наиболее важный компонент сервера Exchange 2000/2003 и правильное понимание его структуры необходимо для управления и поддержки сервера Exchange.
Смотрите также:
Резервное копирование и восстановление с помощью NTBackup (Backup and Restore Exchange with NTBackup)
https://msexchange.ru/articles/detail.php?ID=1081&phrase_id=6430
Перемещение баз данных и журнальных файлов (Moving Exchange Database and Log Files)
http://msexchange.org/tutorials/MF001.html
Перемещение очередей SMTP (Moving SMTP Queues)
http://www.msexchange.org/tutorials/SMTP_Virtual_Server_Uncovered.html