Распределение нагрузки при помощи AlwaysOn
Для использования функции распределения нагрузки AlwaysOn в Docsvision требуется лицензионная опция Docsvision Кластер AlwaysOn. Использования функции без лицензии приведёт к ошибке. |
В системе Docsvision группа доступности AlwaysOn используется, чтобы снизить нагрузку на сервера баз данных за счет переадресации некоторых операций чтения к репликам. Docsvision самостоятельно выбирает самую новую реплику для работы, а если такой нет, получает данные с мастера.
-
При получении данных карточек.
-
При выполнении отчёта с признаком "Только чтение".
-
При выполнении поисковых запросов.
-
При получении представлений.
-
Настроить AlwaysOn в Microsoft SQL Server.
-
Включить поддержку AlwaysOn в системе Docsvision.
Настройка группы доступности выполняется после создания БД Docsvision (её нужно будет выбрать при настройке).
Дополнительная информация по группам доступности AlwaysOn приведена на сайте Microsoft. |
Требования для использования AlwaysOn
-
Отказоустойчивый кластер Windows (WSFC) — Microsoft SQL Server AlwayOn настраивается в кластере Windows, при этом экземпляры SQL Server могут быть без кластеризации.
-
Microsoft SQL Server 2014 или выше с редакцией Enterprise Edition — должен быть установлен на каждом узле кластера.
-
Наличие Active Directory.
Полный список требований приведён на сайте Microsoft. |
Настройка группы доступности
-
Создайте отказоустойчивый кластер Windows Server. В кластер должен быть включён узел с установленным Microsoft SQL Server с БД Docsvision.
Инструкция по настройке кластера Windows Server приводится в первой части статьи SQL Server 2016 Step by Step: Creating AlwaysOn Availability Group.
-
Установите Microsoft SQL Server на другие узлы кластера.
-
У всех экземпляров Microsoft SQL Server должны быть настроены одинаковые параметры сортировки SQL Server (Collation).
-
Если используется FILESTREAM, он должен быть активирован на каждом сервере SQL, который планируется включить в группу доступности.
-
При установке нужно указать доменную учётную запись для запуска службы Microsoft SQL Server (можно настроить после установки). Данная учётная запись должна быть включена в локальную группу безопасности Администраторы. Рекомендуется для всех узлов указывать одну учётную запись.
-
-
Выполните следующие шаги 4 — 6 на всех узлах.
-
В настройках брандмауэра разрешите подключения на порт
5022
(требуется для работы AlwaysOn). -
В настройках Microsoft SQL Server включите использование протоколов
Shared Memory
,Named Pipes
иTCP/IP
.Рисунок 1. Настройки протоколов в конфигурации Microsoft SQL Server -
Убедитесь, что в настройках службы SQL Server (в SQL Server Configuration Manager), в т.ч. и на основном сервере, указана одна (рекомендуется) доменная учётная запись для запуска службы. Если указана локальная учетная запись — измените.
-
Учётная запись должна быть включена в локальную группу безопасности Администраторы.
-
У учётной записи должен быть доступ к SQL Server других узлов (обычно обеспечивается использованием общей доменной записи для всех экземпляров SQL Server).
Рисунок 2. Настройки службы SQL Server
-
-
На всех узлах в настройках службы Microsoft SQL Server (в SQL Server Configuration Manager) включите поддержку AlwaysOn.
Рисунок 3. Настройка поддержки AlwaysOn в конфигурации службы Microsoft SQL Server -
Создайте полную резервную копию БД Docsvision (и сателлитных БД, если используются).
-
Выполните шаги 10 — 17, чтобы создать группу доступности AlwaysOn с помощью Microsoft SQL Server Management Studio на основном сервере Microsoft SQL.
-
Вызовите команду New Availability Group Wizard из контекстного меню узла Always On High Availability.
Рисунок 4. Команда создания группы доступностиБудет запущен мастер.
Рисунок 5. Мастер создания группы доступности -
На странице Specify Options укажите название группы. Например,
DocsvisionDBs
. Другие параметры изменять не требуется.Рисунок 6. Мастер создания группы доступности -
На странице Select Databases выберите БД Docsvision, которые нужно включить в группу доступности.
Рисунок 7. Мастер создания группы доступности -
На странице Specify Replicas настройте параметры реплик.
-
Добавьте сервера Microsoft SQL, на которых будут располагаться реплики: нажмите кнопку Add Replica… и укажите параметры подключения к серверу.
Для всех экземпляров серверов:-
Установите флаг
Automatic Failover (Up to 3).
-
Availability Mode переключите в Synchronous commit.
-
Readable Secondary переключите в Yes.
Рисунок 8. Мастер создания группы доступностиНе изменяйте настройки на вкладке Listener.
-
-
На странице Select Data Synchronization оставьте переключатель в значении Automatic seeding (доступность варианта зависит от версии Microsoft SQL Server).
Рисунок 9. Мастер создания группы доступности -
При переходе на страницу Validation будет выполнена проверка создания группы доступности.
Рисунок 10. Мастер создания группы доступностиПроигнорируйте предупреждение Checking the listener configuration
. -
На странице Summary нажмите Finish, чтобы создать группу доступности.
-
Завершите работу мастера.
Состояние группы доступности можно посмотреть на панели мониторинга. Рисунок 11. Панель мониторинга группы доступностиДополнительная информация по настройке группы доступности AlwaysOn приведена в интернете.
Включение поддержки AlwaysOn в Docsvision
-
Откройте Консоль настройки Docsvision
-
Перейдите в раздел
. -
Выберите настраиваемую базу данных, для которой необходимо включить режим AlwaysOn, и нажмите кнопку Настройки. Будет открыто окно Свойства и управление базой данных.
БД должна быть включена в группу доступности AlwaysOn с ролью Primary.
-
Перейдите на вкладку AlwaysOn.
-
Установите флаг Использовать AlwaysOn.
Рисунок 12. Настройки AlwaysOn в Консоли настройки Docsvision -
Из списка доступных реплик, выберите реплики, которые могут использоваться сервером Docsvision.
Основной сервер в списке не отображается.
-
Нажмите на кнопку OK.
После сохранения настроек выбранные реплики появятся в СУБД Microsoft SQL в таблице "dvsys_replica_servers".
Для проверки настроек репликации можно использовать стандартное представление сервера Microsoft SQL "sys.dm_hadr_database_replica_states".
При отказе primary-сервера Microsoft SQL и назначении роли secondary-сервера Microsoft SQL на primary в группе доступности, необходимо самостоятельно переподключить Docsvision на работу с новым primary-сервером Microsoft SQL (автоматический переход не осуществляется). |