четверг, 11 октября 2012 г.

Новый Information Store в Exchange 2013 или каждой базе свой процесс

imageПожалуй, ни для кого не секрет, что почтовые ящики на сервере Exchange лежат в базе данных, а самой базой данных ранее управляла служба под названием Information Store. Так вот, в Exchange 2013 (он же Exchange 15) эта служба была снова переписана, в результате чего снова сообщается, что требования к IOPS-м для серверов снижены, но это не самое главное.

Как известно, в предыдущих версиях Exchange, сколько бы вы баз данных не смонтировали на сервере с ролью Mailbox, в Диспетчере задач вы наблюдали лишь один процесс Store.exe, «аппетиты» этого процесса попросту росли по мере добавления баз, либо увеличения нагрузки. И все вроде бы хорошо работало, но вот был один неприятный момент – при падении процесса Store.exe (не важно по какой причине) сразу же пропадал доступ ко всем базам на данном сервере, т.е. ошибка в одной из баз приводила к выходу из строя всего сервера Mailbox. «Так дело не пойдет» - подумали разработчики, и наконец-то, в версии Exchange 2013, разделили указанный процесс на несколько отдельных процессов. В результате служба Information Store теперь состоит из двух процессов - Microsoft.Exchange.Store.Service.exe и Microsoft.Exchange.Store.Worker.exe. При этом, по факту, Microsoft.Exchange.Store.Worker.exe – этот тот самый Store.exe, к которому мы привыкли по прошлым версиям Exchange, но у каждой базы данных почтовых ящиков теперь он свой, отдельный! (см. рис. 1)

clip_image001

Рисунок 1: Процессы службы Information Store.

Таким образом, в результате ошибки в одной базе данных мы теряем только её, а все остальные продолжают работать.

Давайте поближе взглянем на этот процесс

1. Научимся однозначно сопоставлять ID процесса Microsoft.Exchange.Store.Worker.exe с базой данных, которую он обслуживает. Для этого воспользуемся следующей командой:

Get-MailboxDatabase –Status | fl Name,WorkerProcessID

В результате получим имя базы данных и ID процесса.

clip_image003

Рисунок 2: ID процессов Microsoft.Exchange.Store.Worker.exe и соответствие их базам данных.

2. Посмотрим, что будет, если завершить один из процессов. Сделаем это при помощи

Stop-Process –Id 4028

либо через Диспетчер задач. В результат, на рисунке 3 видно, что база данных MDB2 оказала размонтированной.

ВАЖНО! Описанное выше действие НЕ является корректным способом размонтирования базы данных почтовых ящиков и его не стоит применять в рабочей среде.

image

Рисунок 3: Состояние баз данных.

Смонтируем базу MDB2 заново и увидим, что для неё был запущен новый процесс Microsoft.Exchange.Store.Worker.exe и он получил новый ID. (см. рис.4)

clip_image007

Рисунок 4: База данных смонтирована заново.

Разделение Store.exe – это не единственное изменение, которое произошло со службой Information Store в Exchange 2013, теперь эта служба ещё более тесно интегрирована с Microsoft Exchange Replication Service (MSExchangeRepl.exe), что дает нам ряд улучшений в плане обеспечения отказоустойчивости, но об этом чуть позже…

3 комментария:

Sergey комментирует...

Есть вопрос. У меня два хоста EX1 и EX2 со всеми ролями Exchange 2013 и хост свидетель WS. WS и EX1 находятся в офисе, а EX2 на хостинг провайдере. Допустим я теряю связь между EX1 и EX2 и у меня выключается WS. Что будет во время происшествия и что случится после включения ?

Unknown комментирует...

Пи$$ц будет

Vasik комментирует...

EX1+WS на провайдере, EX2 в офисе - чего ждать в описанной ситуёвине?

Отправить комментарий