Quantcast
Channel: Немножко всего .. из жизни администратора ms sql server
Viewing all articles
Browse latest Browse all 43

Настройка MS SQL Server AlwaysOn. Шаг за Шагом.

$
0
0

Технология AlwaysOnв MSSQLServerпредназначена на повышения доступности ваших баз данных, еще один шаг к отказоустойчивости системы. Появилась она с версии MSSQLServer2012  и предрекала в будущем замену технологии зеркалирования. Но уже сейчас видим, что в MSSQLServer 2014 присутствуют технология зеркалирование  и технология AlwaysOn. Что очень радует.

 В технологии AlwaysOnприсутствуют элементы сразу несколько технологий высокой доступности сервера  MSSQLServer:

-кластеризация
 AlwaysOnкак и кластер MSSQLServerимеет общее имя  и IP- адрес для экземпляров MSSQLServer, так же технология AlwaysOnработает как кластерная служба Windows. Для подключения клиентов к базе данных необходимо указать только один IPадрес.

- зеркалирование
В технологии AlwaysOnза основу взята технология зеркалирования MSSQLServer. Присутвует первичная реплика и до 4(3 в синхронном режиме) вторичных реплик(в MSSQLServer2014 до 8 реплик). Возможен режим работ реплик: асинхронный и синхронный.

- доставка журналов (logshipping)
На вторичные реплики при инициализации база данных доставляется как при logshipping–е, т.е автоматически делается полная резервная копия  и журнал транзакций на общий ресурс и автоматически восстанавливается на вторичной реплике. Вторичные реплики доступны для чтения данных, как и при доставке журналов.

Небольшой перечень преимуществ технологии AlwaysOn:

- поддерживается автоматический переход на вторичные реплики
- вторичные реплики возможно использовать для чтения данных
- вторичные реплики возможно использовать для снятия резервных копий без создания нагрузки на первичную реплику
- поддерживается автоматическое восстановление страниц
-нет необходимости использования общего дискового пространства для баз данных (для гео-кластеров это исключает использование лицензии для репликации СХД к примеру на оборудование HP)

 
Итак, изучив немного теории и узнав преимущества технологии MSSQLServer

AlwaysOn, постараемся его настроить.

Необходимые требования:
1)Windowsкластер (WSFC)  - MSSQLServerAlwayOnнастраивается на windowsкластере
2)MSSQLServerредакции Enterprise, который должен быть установлена на каждом узле Windowsкластера(WSFC).
3)Наличие AD. Без этого и WSFCне настроите.
4) На установленных MSSQLServer-ах должны быть настроены одинаковые параметры сортировки

Более подробно об ограничениях и возможностях написано на сайте MSDN.

 После установки MSSQLServer, необходимо включить поддержку AlwaysOnHighAvailability  Groupsна узлах кластера: открываем SQLServerConfigurationManager, выбираем вкладку  «AlwaysOnHighAvailability  » , активируем параметр «AlwaysOnHighAvailability  Groups».



 


Заодно здесь проверяем еще раз, работает ли MSSQLServerпод доменной учетной записью.
Теперь создадим саму группу AlwaysOn.
Открываем вкладку AlwaysOn  HighAvailability, щелкаем правой кнопкой на «AvailabilityGroups» выбираем «NewAvailabilityGroupWizard».

Указываем название группы доступности:

Под данным именем будет работать кластерная группа AlwaysOn, а так же служить именем для управлением доступности.

В следующем окне , выбираем базы , которые будут включены в группу доступности. Если базу данных нельзя  включить в группу, то справа будет описана причина невозможности включения в группу.

Далее необходимо включить реплики в группу AlwaysOnих настройки:


На данном изображении указаны, что сервер srv1\sql2012 является первичной репликой, srv2\sql2012  -вторичная реплика, настроена автоматическая обработка отказов(Failover) в обоих направлениях, режим работы синхронный и реплики доступны для чтения.

Во вкладке «Endpoints» указываются настройки конечных точек  зеркалирования , их порты и возможность шифрования передаваемых данных:

В следующей вкладке указываются настройки возможности снятия резервных копий:


Желательно указать возможность снятия с любой реплики, либо наоборот ограничить снятия резервной копии с важной реплики  или там , где ограничен канал передачи резервной копии.

Следующая вкладка, очень важная - указывается имя прослушивателя, т.е сетевое имя к которому будут подключаться пользователи, его порт и IP адрес.





Необходимо указать имя прослушивателя и присвоит ему свободный IPадрес, желательно статистический не DHCPадрес. Порт так же лучше указать стандартный MSSQLserver-ый 1433, либо в целях безопасности другой.

Если ноды Windowsкластера находятся в разных подсетях, то нужно указать два IPадреса.

В следующем окне указываем сетевое имя каталога, куда будут создаваться копии баз данных для инициализации группы доступности AlwaysOn.


Возможно указать, что резервные копии там есть, либо  вообще пропустить данный пункт.
В следующем окне идет проверка указанных параметров




После этого создается группа доступности.





Группа доступности AlwaysOnсоздана
Предупреждение указанное на скриншоте, сообщает о неточной конфигурации права голоса кворума.

Данное сообщение появляется при настройке AlwayOnна серверах на ОС Windows2008r2. Для решения данной неточности необходимо скачать обновлении KB2494036. Его нужно установить на всех нодах WFCS. а установить параметры голосов на одной из нод.

Только в описании указано устанавливать параметр голоса 0, но у меня с данным параметром на заработало, а заработало с параметром 1. Врезультатеназапрос :

SELECT  member_name,member_state_desc,number_of_quorum_votes

 FROM   sys.dm_hadr_cluster_members;

Параметр number_of_quorum_votesдолжен показывать 1 для всех нод и свидетеля кластера. В Window 2012 данные  параметры устанавливаются сразу .

Так же еще одно важное  замечание, при создание имя прослушивателя группы доступности AlwaysOn(в примере это “alwayslistener1”), регистрируется DNSимя компьютера в оснастке ADв каталоге Computers. Для этого кластерное имя должно имеет полные права на создание объекта в данном каталоге. Права выставляются в консоли ADSI
 

После создания группы доступности, у нас в консоли кластера появился сервис нашей группы доступности:


Но, не управляйте группой доступностью AlwaysOn через оснастку кластерной службы.

Управление группой AlwaysOnпроисходит в MSSQLServerManagementStudio, правая кнопка на объекте «AlwaysOnHighAvailablity» выбрать «ShowDashboard»




Основные параметры:
1 – Название группы доступности
2 – Имя прослушивателя
3 – Статус группы доступности
4 – Тип Failover–а
5 – Статус первичной реплики
6 – Статусы баз данных в группе доступности
7 -  Переключение на вторичную реплику

upd. 04.06.2014
еще одно важный шаг был пропущен.
Чтобы использовать вторичные реплики только для чтения для коннектов с параметром подключения
applicationintent=readonly
 
необходимо настроить роутинг.
На каждой  реплики группы доступности AlwaysOn выполняет скрипт:
 
ALTERAVAILABILITY GROUP [srv_alwaysOn Group]
MODIFY REPLICA ON
'srv1'WITH
(PRIMARY_ROLE(READ_ONLY_ROUTING_LIST=('srv2,'srv1')));

ALTERAVAILABILITY 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:
 


После успешного подключения проверяем нахождения нашего коннекта:
 
select  SERVERPROPERTY('ComputerNamePhysicalNetBIOS')
в результате должны получить имя сервера с вторичной репликой.

 С основными моментами настройки группы доступности AlwaysOnразобрались. В следующей статье опишу основные операции с группой доступности AlwaysOn.
Высокой доступности Вам!

Viewing all articles
Browse latest Browse all 43

Trending Articles