В технології AlwaysOn присутні елементи відразу кілька технологій високої доступності сервера MSSQL Server:
На вторинні репліки при ініціалізації база даних доставляється як при log shipping -е, тобто автоматично робиться повна резервна копія і журнал транзакцій на загальний ресурс і автоматично відновлюється на вторинній репліці. Вторинні репліки доступні для читання даних, як і при доставці журналів.
Невеликий перелік переваг технології AlwaysOn:
- підтримується автоматичний перехід на вторинні репліки
- вторинні репліки можливо використовувати для читання даних
- вторинні репліки можливо використовувати для зняття резервних копій без створення навантаження на первинну репліку
- підтримується автоматичне відновлення сторінок
-немає необхідності використання загального дискового простору для баз даних (для гео-кластерів це виключає використання ліцензії для реплікації СГД наприклад на обладнання HP)
Отже, вивчивши трохи теорії і дізнавшись переваги технології MS SQL Server
AlwaysOn, постараємося його налаштувати.
Необхідні вимоги:
Більш докладно про обмеження і можливості написано на сайті MSDN.
Після установки MS SQL Server, необхідно включити підтримку AlwaysOn High Availability Groups на вузлах кластера: відкриваємо SQL Server Configuration Manager, вибираємо вкладку «AlwaysOn High Availability». активуємо параметр «AlwaysOn High Availability Groups».
Заодно тут перевіряємо ще раз, чи працює MS SQL Server під доменної обліковим записом.
Тепер створимо саму групу AlwaysOn.
Відкриваємо вкладку AlwaysOn High Availability, клацаємо правою кнопкою на «Availability Groups» вибираємо «New Availability Group Wizard».
Вказуємо назву групи доступності:
Під такою назвою буде працювати кластерна група AlwaysOn. а так же служити ім'ям для управлінням доступності.
У наступному вікні. вибираємо бази. які будуть включені в групу доступності. Якщо базу даних можна включити в групу, то справа буде описана причина неможливості включення в групу.
Далі необхідно включити репліки в групу AlwaysOn їх налаштування:
У вкладці «Endpoints» вказуються настройки кінцевих точок віддзеркалення. їх порти і можливість шифрування даних, що передаються:
У наступній вкладці вказуються настройки можливості зняття резервних копій:
Бажано вказати можливість зняття з будь-репліки, або навпаки обмежити зняття резервної копії з важливою репліки або там. де обмежений канал передачі резервної копії.
У наступному вікні вказуємо мережеве ім'я каталогу, куди будуть створюватися копії баз даних для ініціалізації групи доступності AlwaysOn.
Можливо вказати, що резервні копії там є, або взагалі пропустити цей пункт.
У наступному вікні йде перевірка зазначених параметрів
Після цього створюється група доступності.
Група доступності AlwaysOn створена
Попередження вказане на скріншоті, повідомляє про неточне конфігурації права голосу кворуму.
Тільки в описі зазначено встановлювати параметр голосу 0, але у мене з даними параметром на запрацювало, а запрацювало з параметром 1. В результаті на запит:
SELECT member_name, member_state_desc, number_of_quorum_votes
Так само ще одне важливе зауваження. при створення ім'я Прослуховувач групи доступності AlwaysOn (в прикладі це "alwayslistener1"), реєструється DNS ім'я комп'ютера в оснащенні AD в каталозі Computers. Для цього кластерне ім'я повинно має повні права на створення об'єкта в даному каталозі. Права виставляються в консолі ADSI
Після створення групи доступності, у нас в консолі кластера з'явився сервіс нашої групи доступності:
Але, чи не керуйте групою доступністю AlwaysOn через оснащення кластерної служби.
Управління групою AlwaysOn відбувається в MS SQL Server Management Studio, права кнопка на об'єкті «AlwaysOn High Availablity» вибрати «ShowDashboard»
Основні параметри:
1 - Назва групи доступності
2 - Ім'я Прослуховувач
3 - Статус групи доступності
4 - Тип Failover -а
5 - Статус первинної репліки
6 - Статуси баз даних в групі доступності
7 - Перемикання на вторинну репліку
MODIFY REPLICA ON
'Srv1' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST = ( 'srv2,' srv1 ')));
ALTER AVAILABILITY GROUP [srv_alwaysOn Group]
MODIFY REPLICA ON
'Srv2' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP: //srv1.domain.net: +1433 '));
Після цього можна перевірити коннект тільки для читання, запускаємо MS SQL Management Studio, вказуємо прослуховувач і відкриваємо меню Options, додаємо рядок
Initial Catalog = DB NAME; ApplicationIntent = ReadOnly;
де «DB NAME» - це база даних яка знаходиться в групі доступності з реплікою для читання.
Після успішного підключення перевіряємо знаходження нашого конекту:
select SERVERPROPERTY ( 'ComputerNamePhysicalNetBIOS')
в результаті повинні отримати ім'я сервера з вторинної реплікою.
З основними моментами налаштування групи доступності AlwaysOn розібралися. У наступній статті опишу основні операції з групою доступності AlwaysOn.
Високої доступності Вам!