В одній з попередніх статей ми вже говорили про те, що таке сервера 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, можна повторити процедуру установки на наступному.