Размещение БД Microsoft SQL в группе доступности AlwaysOn
-
Распределять нагрузку через группы доступности с целью обеспечения высокой доступности и возможности аварийного восстановления, см. подробнее в разделе "Настройка группы доступности".
-
Создавать отказоустойчивый кластер. Функциональность отказоустойчивых кластеров AlwaysOn в Docsvision напрямую не поддерживается, подробнее см. подробнее в разделе "Создание отказоустойчивых кластеров с функцией AlwaysOn".
| Включение поддержки AlwaysOn в Docsvision описано в документации Консоли управления Docsvision, см. раздел Распределение нагрузки. |
|
Для использования функции распределения нагрузки AlwaysOn в Docsvision требуется лицензионная опция Docsvision Кластер AlwaysOn. Использование функции без лицензии приведёт к ошибке. Лицензия не требуется для функциональности "отказоустойчивый кластер AlwaysOn". |
Требования для использования AlwaysOn
-
Отказоустойчивый кластер Windows (WSFC) — Microsoft SQL Server AlwayOn настраивается в кластере Windows, при этом экземпляры SQL Server могут быть без кластеризации.
-
Microsoft SQL SQL Server 2016 или выше с редакцией 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 (можно настроить после установки). Данная учётная запись должна быть включена в локальную группу безопасности Администраторы. Рекомендуется для всех узлов указывать одну учётную запись.
-
Вытеснение файлов в Filestream хранилище в базе данных Docsvision и FileStream хранилище во внешней базе данных Microsoft SQL Server поддерживается только для СУБД Microsoft SQL и только, когда сервер Docsvision работает под ОС Windows. При работе сервера под ОС Linux функциональность недоступна.
-
-
Выполните следующие шаги 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
|
Для использования функциональности "отказоустойчивый кластер AlwaysOn" дополнительная опция лицензии не требуется. Включать флаг |
Отказоустойчивый кластер AlwaysOn напрямую не поддерживается. Использование данной функциональности технически возможно, но вызовет ряд трудностей.
В Docsvision из соображений быстродействия часть таблиц БД вынесены из основной базы и хранятся в TempDB. TempDB используется для хранения большинства временных данных, включая курсоры представлений, результаты поисков, и т.п. При необходимости данный режим по умолчанию может быть изменён.
tempdb, используйте другие варианты конфигурации баз данных:-
Разместите резервные данные в сателлите _Metadata. В таком случае потребуется также настроить отражение этой базы вместе с основной базой.
-
Включите режим размещения всего в основной базе (такая конфигурация использовалась до версии 5.4 включительно).
| Обратите внимание, что это менее производительные режимы, которые приведут к снижению производительности! |