У Microsoft Exchange Server 2010 з'явилася нова технологія забезпечення високої доступності під назвою групи високої доступності - Database Availability Group (DAG). У цій статті ми познайомимося з тим, як работаеттехнологія Database Availability Group в Exchange Server 2010, а також опишемо процес установки і настройки DAG на Exchange Server 2010 SP1 і Windows Server 2008 R2.
Огляд Database Availability Group в Exchange Server 2010
Група високої доступності (Database Availability Group), це група, що складається з декількох серверів Exchange Server 2010 (максимальна кількість серверів в групі 16), на яких встановлена роль Mailbox server. Кожен з серверів-членів групи DAG здатний підтримувати активну або пасивну копію поштової бази, розташованої на інших серверах групи.
Наприклад, Database Availability Group може складатися з 3 серверів Exchange 2010, кожен з яких містить одну поштову базу, в цьому випадку будь-який з серверів DAG зберігає активну або пасивну копію кожної з трьох поштових баз, що обслуговуються цими серверами.
Технологія Database Availability Group в Exchange 2010 є розвитком технології кластерів Windows (Windows Failover Clustering). Однак, на відміну від класичних кластерів Exchange, які можуть перебувати в активному / пасивному стані, і в яких кластерна група цілком повинна переїжджати на альтернативну ноду, в Exchange 2010 DAG, будь-яка база даних може функціонувати на будь-якому сервері-члені DAG незалежно від інших поштових баз.
Це означає, що будь-який з поштових серверів групи DAG в будь-який момент часом може містити всі, деякі або ж не містити зовсім активних копій поштових баз. Ця можливість має наступні переваги перед раніше використовуваної кластерної моделі забезпечення відмовостійкості:
- Всі поштові сервера в групі DAG можуть бути активними і обчислювальні ресурси не будуть простоювати
- Будь-яка поштова база може мігрувати на інший сервер, не надаючи впливу на поштові скриньки інших користувачів, підключених до інших баз в DAG
Поняття кворуму в Database Availability Group
Оскільки технологія DAG грунтується на технології Windows Failover Cluster, то концепція кворуму (quorum) використовується і в ній. Якщо ви не знайомі з поняттям кворуму, то спрощено - це процес голосування, в якому для прийняття того чи іншого рішення потрібно мати більшості голосів.
Для кластера це означає, що для прийняття рішення в процесі голосування повинно брати участь непарне число членів. Стосовно до Exchange 2010 DAG це означає, що в групі DAG з двох серверів з роллю Mailbox (або ж будь-якого іншого парного числа аж до 16), жоден сервер не зможе на підставі більшості голосів визначити потрібно чи ні зробити поточну копію бази даних активної.
Тому для досягнення кворуму в групі DAG з парним числом серверів, в якості ще одного з учасника голосування, використовують ще один сервер в цьому ж сайті, як файловий ресурс - свідок (File Share Witness). Зазвичай цю функцію призначають на сервер з роллю Hub Transport, хоча, в принципі, це може бути будь-який інший сервер з ОС Windows 2008.
Реплікація баз в Exchange Server 2010 DAG
Між членами групи DAG в Exchange Server 2010 реплікація поштових баз може здійснюватися двома способами.
В Exchange Server 2010 RTM використовує файлову модель реплікації. У цьому режимі кожен транзакційний лог пишеться і закривається по досягненню розміру 1 Мб, після чого він копіюється на кожен з членів групи DAG, що містить копію цієї бази поштових скриньок. Члени групи DAG ставлять отриманий файл в чергу відтворення, після чого вони відтворюють дії, що містяться в транзакційному балці на власній пасивної копії бази даних.
Файловий режим реплікації працює непогано, проте є очевидний недолік, що полягає в тому, що будь-які транзакційні логи, які не будуть доставлені на інші сервера групи DAG, будуть втрачені, якщо вийде з ладу сервер з активною копією поштової бази. У цьому випадку один з серверів DAG зможе зробити свою копію поштової бази активної і потім запросити повторну відправку відсутніх листів у сервера з роллю Hub Transport.
В Exchange Server 2010 SP1 файлова модель реплікації використовується для здійснення синхронізації копій поштових баз даних між собою (наприклад, в процесі початкової синхронізації, коли створюється нова копія бази даних). Після здійснення синхронізації члени DAG будуть переключитися в режим блокової реплікації ( "block mode"). У блочному режимі реплікації кожна транзакція записується в буфер активний сервер і відправляється в буфер логів на інші сервера DAG з пасивної копією бази.
Примітка. Бази загальних папок (Public Folder), хоча і можуть знаходиться на поштових серверах членах DAG, але вони не будуть реплицироваться механізмами реплікації DAG. Для забезпечення відмовостійкості баз даних загальних папок необхідно скористатися функцією реплікації загальних папок (Public Folder replication).
Установка DAG в Exchange Server 2010
У цьому розділі ми опишемо процедуру настройки в Exchange 2010 Database Availability Group на Windows Server 2008 R2.
У цьому посібнику ми опираємося на тому, що в нашому розпорядженні є наступні сервера Exchange.
- EX1 - Exchange Server 2010 SP1 - сервер з роллю Mailbox
- Первинний інтерфейс: 192.168.0.32/24
- Вторинний інтерфейс: 10.0.5.1/30
- EX2 - Exchange Server 2010 SP1 - сервер Mailbox
- Первинний інтерфейс: 192.168.0.33/24
- Вторинний інтерфейс: 10.0.5.2/30
- EX3 - Exchange Server 2010 SP1 - ролі Client Access і Hub Transport
- Первинний інтерфейс: 192.168.0.34/24
Кожен з поштових серверів має власну поштову базу.
- EX1 - Mailbox Database 01
- EX2 - Mailbox Database 02
Оскільки кожен поштовий сервер має два мережевих інтерфейсу, важливо упевнитися, що вторинний інтерфейс на реєструє себе в DNS. Для цього відкрийте властивості мережевого інтерфейсу (TCP/ IPv4), натиснути кнопку Advanced, перейти на вкладку DNS і зняти галку Register this connection's address in DNS.
Створюємо Database Availability Group
На поштовому сервер відкриємо консоль Exchange Management Console. Перейдемо до розділу Organization Config-> Mailbox і в правій панелі виберемо New Database Availability Group.
У вікні майстра створення групи високої доступності потрібно вказати ім'я групи DAG (поле name), вказати сервер-свідок (Witness server), і також вказати каталог, який буде використовувати сервер-свідок.
Щоб створити нову групу Database Availability Group натиснемо кнопку New, для закінчення роботи майстра натиснемо кнопку Finish.
Додаємо сервера в Database Availability Group
Клацнемо правою кнопкою по щойно створеної DAG і виберемо пункт "Manage Database Availability Group Membership".
натиснемо кнопку Add і виберемо всі поштові сервера, які будуть включені в цю групу забезпечення високої доступності.
Після натиснемо кнопку Manage, в результаті чого на всіх доданих серверах запуститься установка і настройка служби Windows Failover Clustering, яка триватиме 5-10 хвилин.
Налаштування мережі в Database Availability Group
Клацнемо правою кнопкою по щойно створеної групи DAG і виберемо Properties.
на вкладці IP Addresses, потрібно задати статичний IP адреса групу Database Availability Group.
З'явиться повідомлення, що Database Availability Group автоматично налаштує підмережі для всіх мереж, до яких підключені мережеві інтерфейси серверів-членів DAG.
Відкрийте властивості кожної мережі DAG і задайте їй значуще ім'я. Якщо ви хочете налаштувати виділену мережу для трафіку реплікації між членами DAG, потрібно відключити реплікацію в тих мережах DAG, які використовуються для підключення клієнтів MAPI .
Налаштовуємо копії потових баз в DAG
Після настройки Database Availability Group і її мереж, можна додати копії потових баз на членах групи DAG.
В консолі Exchange Management Console перейдіть в Organization Config-> Mailbox і виберіть вкладку Database Management. Клацніть правою кнопкою по поштовій базі і виберіть Add Mailbox Database Copy.
натиснемо кнопку Browse і виберемо поштові сервера Exchange, на яких ми хочемо розмістити копію бази даних.
натисніть Add і Finish.
Після чого почнеться створення репліки активної бази даних на обраних серверах DAG. Залежно від розміру поштової бази процес реплікації може зайняти деякий час ...
Повторіть зазначені дії для всіх баз даних, для яких ви хочете створити пасивні копії.
От і все! Налаштування Database Availability Group в Exchange Server 2010 Database закінчена!