Пожалуй, ни для кого не секрет, что почтовые ящики на сервере 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)
Рисунок 1: Процессы службы Information Store.
Таким образом, в результате ошибки в одной базе данных мы теряем только её, а все остальные продолжают работать.
Давайте поближе взглянем на этот процесс
1. Научимся однозначно сопоставлять ID процесса Microsoft.Exchange.Store.Worker.exe с базой данных, которую он обслуживает. Для этого воспользуемся следующей командой:
Get-MailboxDatabase –Status | fl Name,WorkerProcessID
В результате получим имя базы данных и ID процесса.
Рисунок 2: ID процессов Microsoft.Exchange.Store.Worker.exe и соответствие их базам данных.
2. Посмотрим, что будет, если завершить один из процессов. Сделаем это при помощи
Stop-Process –Id 4028
либо через Диспетчер задач. В результат, на рисунке 3 видно, что база данных MDB2 оказала размонтированной.
ВАЖНО! Описанное выше действие НЕ является корректным способом размонтирования базы данных почтовых ящиков и его не стоит применять в рабочей среде.
Рисунок 3: Состояние баз данных.
Смонтируем базу MDB2 заново и увидим, что для неё был запущен новый процесс Microsoft.Exchange.Store.Worker.exe и он получил новый ID. (см. рис.4)
Рисунок 4: База данных смонтирована заново.
Разделение Store.exe – это не единственное изменение, которое произошло со службой Information Store в Exchange 2013, теперь эта служба ещё более тесно интегрирована с Microsoft Exchange Replication Service (MSExchangeRepl.exe), что дает нам ряд улучшений в плане обеспечения отказоустойчивости, но об этом чуть позже…
Есть вопрос. У меня два хоста EX1 и EX2 со всеми ролями Exchange 2013 и хост свидетель WS. WS и EX1 находятся в офисе, а EX2 на хостинг провайдере. Допустим я теряю связь между EX1 и EX2 и у меня выключается WS. Что будет во время происшествия и что случится после включения ?
ОтветитьУдалитьПи$$ц будет
ОтветитьУдалитьEX1+WS на провайдере, EX2 в офисе - чего ждать в описанной ситуёвине?
ОтветитьУдалить