Оновлення серверів Exchange в DAG.
Database Availability Group (DAG) - це технологія забезпечення високої доступності mailbox-серверів Exchange, що з'явилася в Exchange 2010. Принцип її роботи полягає в створенні декількох копій однієї бази, розміщених на різних серверах. При виході з ладу сервера з активною копією база автоматично активується на іншому сервері, забезпечуючи безперервну роботу пошти.Крім того, бази можна перемикати і вручну, що може стане в нагоді при установці на сервер оновлень або регламентних роботах.
В принципі для обслуговування можна скористатися готовими скриптами, які знаходяться в директорії установки Exchange , папці Scripts: StartDagServerMaintenance.ps1 для перекладу сервера в режим обслуговування і StopDagServerMaintenance.ps1 для виведення з цього режиму. Однак, з досвіду, ці скрипти не завжди відпрацьовують коректно, тому я віддаю перевагу все дії робити вручну, тим більше що їх не так і багато. Для перекладу сервера, в ходить в DAG, треба:
1) Прибрати з нього активні копії баз;
2) Заборонити їх активацію на час поновлення;
3) Перевести Primary Active Manager на інший сервер (якщо він знаходиться на даному сервері).
Примітка. Active Manager відстежує стан баз даних в DAG і відповідає за їх перемикання в разі проблем. Він може бути в двох станах - Primary Active Manager і Standby Active Manager. Стан Primary Active Manager одночасно може бути тільки на одному з серверів в DAG, на інших Active Manager в стані Standby.Незалежно від стану, Active Manager спостерігає за станом баз на сервері, проте рішення про переключення в разі проблем приймає PAM.
Почнемо з перемикання Primary Active Manager. Одночасно він може бути тільки на одному з серверів в DAG і нам треба з'ясувати, на якому саме. Для цього спочатку отримуємо назва групи DAG командою:
Get-DatabaseAvailabilityGroup
І потім виводимо властивості цієї групи:
Get-DatabaseAvailabilityGroup -Identity "dag" -Status | fl name, servers, primaryactivemanager
Як бачите, PAM знаходиться на сервері MBX01, який ми збираємося оновлювати.
Для перенесення Primary Active Manager нам буде потрібно модуль управління кластером. У Windows Server 2012 він підвантажиться сам, в більш ранніх ОС треба імпортувати його вручну, командою:
Import-Module FailoverClusters
Далі виводимо список груп кластера:
Get-ClusterGroup
Переносимо Primary Active Manager на сервер MBX02:
Move-ClusterGroup -Name "Cluster Group" -Node mbx02
І перевіряємо, що Primary Active Manager успішно переїхав.
Тепер треба прибрати з сервера всі активні копії баз і переконатися в тому, що пасивні копії не зможуть бути активовані під час установки оновлень. Перевіряємо стан баз на сервері командою:
Get-MailboxDatabaseCopyStatus -Server mbx01
Бази повинні бути або в стані Mounted (активні копії), або Healthy (пасивні копії).Забороняємо активацію баз:
Get-MailboxDatabaseCopyStatus -Server mbx01 | Suspend-MailboxDatabaseCopy -ActivationOnly -Confirm: $ false
І виносимо з сервера всі активні бази:
Move-ActiveMailboxDatabase -Server mbx01 -Confirm: $ false
Про всяк випадок перевіряємо результат:
Get-MailboxDatabaseCopyStatus -Server mbx01 | ft name, activ *
І приступаємо до установки оновлень.
Після завершення інсталяції повертаємо сервер в лад. Спочатку дозволяємо активацію копії бази на сервері командою:
Get-MailboxDatabaseCopyStatus -Server mbx01 | Resume-MailboxDatabaseCopy -Confirm: $ false
І переносимо на нього активні копії бази, або по одній:
Move-ActiveMailboxDatabase -Identity db01 -ActivateOnServer mbx01 -Confirm: $ false
Або можемо відразу перенести всі активні бази з сервера mbx02 на сервер mbx01:
Move-ActiveMailboxDatabase -Server mbx02 -ActivateOnServer mbx01 -Confirm: $ false
Далі повторюємо процедуру для наступного сервера DAG.П>.