В одной из предыдущих статей мы уже говорили о том, что такое сервера CAS в Exchange 2010. я лишь напомню, что одной из основных задач организации массива CAS серверов является обеспечение высокой доступности почтового сервиса Exchange для клиентов. Однако может возникнуть резонный вопрос: а как же обеспечить высокую доступность серверов CAS во время проведения регламентных работ, таких как установка/замена железа или установка обновлений на ОС Windows или сам Exchange?
Поэтому при обновлении, исправлений или сервис паков на сервера, члены массива CAS, необходимо распланировать процесс обновлений таким образом, чтобы обеспечить непрерывность работы клиентов с почтой. Для этого в любой момент времени должен был доступен хотя бы один сервера из массива серверов CAS. Обычно это значит, что установка обновлений на членов массива CAS производится последовательно, т.е. по очереди на каждый из серверов устанавливаются все необходимые апдейты, сервер перезагружается (если необходимо), после чего администратор обновляет следующий сервер массива CAS.
В данной статье мы разберемся, как можно обновить все сервера в массиве Client Access Server без перерывов в сервисе электронной почты (чтобы в любой момент времени массив в целом был доступен клиентам). В описанной ниже процедуре на серверах происходила установка Exchange 2010 SP2 .
Подготовка NLB кластера к установке обновлений
На первом шаге необходимо убрать сервер, на который планируется установить обновления ,из кластера Network Load Balancing (NLB).
Убрать сервер CAS из NLB кластера можно двумя способами:
- Выполнить на сервере команду Stop
- Выполнить на сервере команду Drainstop
Различие между этими командами заключается в том, что команда Stop немедленно останавливает работу сервера независимо от того подключен пользователи или нет. Команда Drainstop подразумевает, что сервер будет переведен в режим, при котором обработка новых подключений к серверу запрещена, однако все текущие соединения не сбрасываются, и ожидается корректное их отключение.
Для критических обновлений лучше использовать команду Stop, в случае плановых же работ предпочтительнее воспользоваться Drainstop, тем самым влияние на активных клиентов массива CAS будет минимизировано.
Выполнить команду Drainstop можно, открыв консоль Network Load Balancing Manager, щелкнуть правой кнопкой мыши по нужному серверу и в разделе Control Host выбрать Drainstop.
Когда на сервере не останется активных подключений, он будет переведен в остановленное состояние.
Щелкните правой кнопкой мыши по серверу и выберите Properties. Измените дефолтное состояние (default state) сервера на Stopped. Тем самым мы предотвратим автоматический старт и начало обработку клиентских подключений сервером после перезагрузки, кроме того у вас появится время для проверки корректности работы сервера после установки обновлений.
Остановка зависимых службStop Conflicting Services
Зачастую роль Client Access Server устанавливается на тот же сервер, на котором поднята роль Hub Transport. На серверах Hub Transport обычно стоят дополнительные приложения (обычно это антивирусные и анти-спам приложения), интегрированные со службами Exchange Server. В результате, эти приложения могут вызвать различные ошибки при установке обновлений Exchange, например, когда антивирус попытается автоматически запустить службу Exchange, от которой зависит сам, но которая в данный момент остановлена по причине выполнения обновления.
Примером такого приложения может быть Forefront Protection для Exchange, и остановить его нужно с помощью специальной утилиты FSUtility:
C:\>fsutility /disable
Резервные копии
Проверьте, что имеются актуальные резервные копии для всех серверов, на которые планируется установить обновления. Если резервной копии нет – создайте ее.
Обновление сервера
Приступим непосредственно к установке обновлений. Установка обновления зависит от его типа.
Rollup на Exchange идут в виде файлов .MSP (Windows Installer Patch). Чтобы применить обновлений просто запустите файл, дважды щелкнув по нему мышью или вызвав его из командной строки.
Service pack-и выпускаются в виде дистрибутивов Exchange Server, запустить обновление можно из командной строки, набрав:
C:\>setup /m:upgrade
Установка обновлений иногда занимает достаточно большое время, поэтому заранее учтите этот момент, дабы не было спешки и неожиданностей.
Проверка обновлений
После установки обновлений север нужно перезагрузить и перед возвратом в продуктивную среду нужно проверить его работоспособность.
Журналы событий (Event Logs) – изучите журналы на предмет предупреждений и ошибок, появившихся после установки обновления
Журналы установки (Setup Log) – сервис паки обычно ведут собственный журнал, изучить который также стоит (C:\ExchangeSetupLogs)
Службы – проверьте, запущены ли все необходимые службы Exchange
[PS] C:\>get-service *exchange*
Status Name DisplayName
—— —- ————
Running MSExchangeAB Microsoft Exchange Address Book
Running MSExchangeADTop… Microsoft Exchange Active Directory…
Running MSExchangeAntis… Microsoft Exchange Anti-spam Update
Running MSExchangeEdgeSync Microsoft Exchange EdgeSync
Running MSExchangeFBA Microsoft Exchange Forms-Based Auth…
Running MSExchangeFDS Microsoft Exchange File Distribution
Stopped MSExchangeImap4 Microsoft Exchange IMAP4
Running MSExchangeMailb… Microsoft Exchange Mailbox Replication
Stopped MSExchangeMonit… Microsoft Exchange Monitoring
Stopped MSExchangePop3 Microsoft Exchange POP3
Running MSExchangeProte… Microsoft Exchange Protected Servic…
Running MSExchangeRPC Microsoft Exchange RPC Client Access
Running MSExchangeServi… Microsoft Exchange Service Host
Running MSExchangeTrans… Microsoft Exchange Transport
Running MSExchangeTrans… Microsoft Exchange Transport Log Se…
Stopped msftesql-Exchange Microsoft Search (Exchange)
Running vmickvpexchange Hyper-V Data Exchange Service
Возвращаем сервер в продуктивную среду
В том случае, если обновление прошло корректно, сервер можно вернуть в продакшн. Не забудьте запустить все необходимые службы, если вы остановили Forefront Protection для Exchange, запустите его:
C:\> fsutility /enable
Запустите сервер в составе NLB кластера.
Не забудьте поменять начальное состояние сервера на Started.
Вот и все после обновления одного сервера в составе CAS, можно повторить процедуру установки на следующем.