Назад
DevOps
PostgreSQL+1C на Ubuntu Linux RemoteApp Tool — пошаговая настройка RDP-доступа к приложениям RouterOS на Hyper-V Автозапуск 1С при подключении к ТС на Windows Server 2016 Автоматизация установки 1С Автоматическое создание резервной копии настроек Mikrotik с отправкой на почту и FTP Авторизация баз 1С в SQL через локальную учетную запись Базовая настройка Unifi контроллера Базовая настройка Windows Server 2019 Базовая настройка маршрутизаторов MikroTik на примере RB2011 Восстановление базы PostgreSQL 1С из резервной копии Восстановление базы данных 1С на SQL сервере Восстановление бэкапа в новый кластер PostgreSQL Восстановление кластера MySQL Восстановление почтовой базы данных Exchange Server 2013/2016 Восстановление системы Windows Server 2019 Восстановление файла данных Outlook (.pst) Делегирование полномочий пользователю конфигурации узла сеансов удаленных рабочих столов Windows Server 2012-2019 Диагностика компонентов Exchange 2016 Добавление второго контроллера домена в существующий домен Добавление диска LVM Добавление нового сотрудника в систему Sigur Запрет запуска программ Windows Изменение максимального размера вложений в Exchange и Outlook Изменение пароля на удаленном рабочем столе Инструкция добавления нового сотрудника в Biosmart Studio 5 + просмотр отчетов Интеграция облачной инфраструктуры с локальной ИТ-инфраструктурой Использование DNS challenge для выпуска SSL-сертификатов Lets Encrypt Как обновить платформу 1С на сервере Как опубликовать базы 1С на веб-сервере Windows и Linux Как организовать ИТ-поддержку клиентов Как организовать удаленную работу с клиент-банком Как передать файл с клиента на сервер 1С 8.3 Как перенести базу 1С в облако Как подключить COM-объект Excel в 1C Как подключиться удаленно к 1С Как устранить ошибку подключения по RDP Win 7 -> Win Server Миграция Active Directory с Windows Server 2016 на Windows Server 2022 Нагрузочное тестирование 1С:ERP+тест-центр Нагрузочное тестирование сервера на Linux Настройка AlwaysOn MS SQL Настройка Juniper Virtual Chassis QFX5100 Настройка Point In Time Recovery в PostgreSQL PRO 16 на Ubuntu 24.04 Настройка PostgreSQL на Centos Настройка PostgreSQL на Windows Настройка QoS для ISCSi Настройка RemoteApp на Windows Server 2019 Настройка SMS-оповещения в системе СКУД SIGUR Настройка SNMP на MikroTik Настройка VLAN в Proxmox VE Настройка VPN-сервера на Windows Server 2016 Настройка ZFS в Proxmox VE Настройка веб-публикации 1С, подключение кассового оборудования Настройка внутренней фильтрации содержимого в Exchange Server 2016 Настройка графика доступности в Zabbix: мониторинг ping-ответов Настройка групповой политики на Windows Server 2016 Настройка групповых политик Windows Server 2019 Настройка зеркалирования MS SQL 2019 Настройка кластера Asterisk с использованием VRRP Настройка кластера HAproxy при помощи VRRP Настройка коммутатора D-link SmartPro серии DES/DGS Настройка контроллера домена Windows Server 2019 Настройка подключения к удаленному рабочему столу на iOS Настройка резервирования интернет-канала (Mikrotik) Настройка репликации типа Master-Master на MySQL (MariaDB) Настройка сервера лицензирования Windows Server 2019 Настройка сервера лицензирования СЛК Настройка сетей Hyper-V Настройка сети в Proxmox 7 Настройка терминального сервера Windows 2012 R2 Настройка терминального сервера Windows Server 2016 Настройка терминального сервера на базе Windows Server 2022 Настройка файлового сервера Windows Server 2019 Настройка формата и оптимизация журнала регистрации 1С Настройка шифрованной телефонии на базе Asterisk Настройка экстренного отключения удаленного сервера Windows Некорректно отображается изображение при подключении к удалённому серверу через RDP Обновление оборудования Juniper Обновление тонкого клиента 1С при веб-публикации Ограничение доступа к веб-серверу по странам Отказоустойчивый FTP через HAproxy Отключение обновлений Windows Server через групповые политики Очистка кэша 1С Ошибка 1069 на сервере 1С Ошибка http при обращении к серверу 1C Ошибка «Не удается войти в учетную запись» в ОС Windows Ошибка в 1С при получении характеристик принтера Ошибка при обновлении SQL Server — MSSQLSERVER.INACTIVE Перенос TempDB на отдельный диск Перенос баз 1С Перенос журнала регистраций 1С (srvinfo) на другой диск Перенос ключей КриптоПро Перенос писем с помощью .pst в Microsoft Exchange Перенос почтовых ящиков Exchange на другой сервер Перенос файлов с помощью Robocopy Подключение iSCSI в Proxmox VE Подключение аппаратного USB-ключа лицензии 1С на удаленный сервер Подключение к облачному серверу 1C по OpenVPN на ipad / iphone Подключение к удаленному рабочему столу Windows через MacOS Подключение модуля расширения веб-сервера в 1С Подключение по RDP с Linux систем Подключение сетевого принтера на Windows 10 Поиск наиболее нагруженных баз MSSQL при работе с 1С Почтовый переезд средствами IMAP Проброс диска в Proxmox 7 Проброс портов на MikroTik Проверка актуальности учетных данных в документации ИТ-объекта Разворачиваем отказоустойчивый кластер MS SQL Server 2012 на Windows Server 2016 Разделение трафика TCP и HTTP в HAProxy Резервное копирование 1С на MSSQL Резервное копирование PostgreSQL Резервное копирование на Proxmox VE Решение ошибки Proxmox VE — error 0 occurred while receiving the document Решение проблемы: агент сервера 1С:Предприятие останавливается Решение проблемы: недостаточно памяти на сервере 1С Решение проблемы: ошибка 500 на веб-сервере IIS 1С Сброс пароля в Windows Сеанс удаленного рабочего стола или удаленного приложения не прекращается из-за splwow64.exe процесса Сервер хранилища конфигураций 1C на Linux Сжатие базы данных MySQL и MariaDB Смена истекшего пароля с помощью Windows RDS Смена рабочего места в базах 1С Создание mesh сети Wi-Fi на базе Ubiquiti Unifi 6 Создание и отзыв сертификатов OpenVPN Создание отказоустойчивого кластера 1С Создание резервных копий SQL Postgres на S3-хранилище Создание резервных копий БД SQL на серверы объектного хранилища S3 Создание шифрованых дисков с помощью PGP Сохранение конфигурации Juniper Схема действий в форс-мажорных ситуациях (IT) Тюнинг сервера для 1С: процессор Удаление агента сервера 1С Удаление базы 1С из кластера Удаление пользователя из 1С Удаление сеанса пользователя в 1С Удаление терминальных лицензий (RDS CAL) Установка 1С:Предприятие на Mac OS Установка Astra Linux Common Edition на VirtualBox Установка Bareos Установка COM-компонента в 1С Установка Exchange Server 2016 Установка Exchange Server 2019 Установка KVM на ubuntu Установка MariaDB на CentOS 7 Установка Proxmox 7 на Debian 11 Установка Proxmox Mail Gateway 7 Установка RabbitMQ (Windows) Установка Ubuntu на Proxmox 7 Установка Windows Server 2019 на Proxmox Установка Windows Server 2022 на виртуальную машину Hyper-V Установка драйвера принтера на терминальный сервер Windows Server 2019 Установка и базовая настройка MS SQL 2019 для 1С Установка и базовая настройка OpenMediaVault Установка и настройка DHCP на Windows Server 2019 Установка и настройка TrueNAS CORE Установка и настройка Zabbix, настройка агента и уведомлений Установка и настройка Zimbra на CentOS 7 Установка и настройка контроллера домена Active Directory Domain Установка и настройка СУБД Postgres Pro для 1С Установка квоты каталогов в Windows Servers Установка нескольких версий сервера 1С Установка сервера 1С и MS SQL с настройкой для оптимизации 1С Установка сервера 1С на Ubuntu + PostgreSQL Установка сервера 1С:Предприятие в связке с CentOS 7 и PostgreSQL Установка терминального сервера Windows Server 2019 Устранение ошибки 0x800700DF в WebDAV Устранение ошибки «удаленный хост разорвал существующее подключение 1С» Устранение ошибки проверки подлинности RDP Устранение ошибки службы Active Directory сейчас недоступны (не печатает принтер на Windows 10) Устранение проблемы несоответствия версий 1С Фильтрация писем в Exchange (Outlook web) Что делать, если сервер 1С:Предприятие не обнаружен

Настройка AlwaysOn MS SQL

В данной статье мы изучим пошаговую настройку группы высокой доступности SQL Server 2016 Standart Edition AlwaysOn для двух узлов.

Для настройки мы возьмем стенд с двумя виртуальными машинами:

  • PRD-1CSQL-01 – это будет основной экземпляр, где наши базы будут нормально работать.
  • PRD-1CSQL-02 – это будет наш второстепенный, с меньшей мощностью.

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

Добавляем роль кластера

Группы доступности AlwaysON в SQL Server созданы на основе служб отказоустойчивой кластеризации Windows, необходимо объединить реплики AG в один кластер Windows.

Открываем Диспетчер серверов нажимаем «Управление», «Добавить роль и компоненты», выбираем свой сервер и в списке «Компоненты» устанавливаем флажок

Отказоустойчивая кластеризация:

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

Объединение серверов в отказоустойчивый кластер

Открываем Диспетчер серверов и нажимаем «Средства» – «Диспетчер отказоустойчивости кластеров».

Нажимаем «Создать кластер…» чтобы запустить мастер:

Вводим имена всех серверов, которые будут участвовать в группе доступности, и нажимаем «Далее».

В следующем окне вводим имя называемого кластера и его уникальный IP-адрес, нажимаем «Далее».

Подтверждаем введенные данные и переходим на этап «Создания нового кластера». После завершения создания, в сводке отразится информация о новом кластере:

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

Включаем группы доступности AlwaysOn на каждом сервере

На каждой реплике запускаем диспетчер конфигурации SQL Server, затем перейдем в службы SQL Server, нажимаем ПКМ службу SQL Server и выбираем свойства.

На вкладке AlwaysOn High Aviliability устанавливаем флажок «Включить« и нажимаем «ОК«. Это не вступит в силу пока служба SQL Server не будет перезапущена. Повторяем это на всех серверах SQL.

Создание группы доступности

Запускаем SQL Server Management Studio и начинаем создавать группу доступности.

В нашем случае, мы сделали базу «Base_AlwaysON» её и будем копировать во вторичную реплику. База уже находится в режиме полного восстановления, и выполнена полное резервное копирование, поэтому база уже соответствует требованиям группы доступности AlwaysOn.

В обозревателе объекта нажимаем ПКМ «Высокий уровень доступности Always On» и выбираем «Мастер создания групп доступности».

Есть пару опций, которые требуют объяснения:

Определение уровня работоспособности баз данных – эта функция замечает, когда база данных выходит из сетевого режима, в случае если возникают какие-либо неполадки, и инициирует автоматический переход группы доступности на другой ресурс.

Поддержка DTC для каждой базы данных – координатор распределенных транзакций (DTC) обеспечивает одновременную фиксацию между несколькими SQL-серверами, размещенным на другом оборудовании.

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

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

Режим асинхронной фиксации представляет собой решение аварийного восстановления, которое работает хорошо тогда, когда реплики доступности распределены на значительном расстоянии. Если каждая вторичная реплика доступности работает в режиме асинхронной фиксации, первичная реплика не ждет, пока какая-либо вторичная реплика зафиксирует журнал. Вместо этого сразу же после помещения записи журнала в локальный файл журнала первичная реплика отправляет клиенту подтверждение транзакции. Первичная реплика работает с минимальной задержкой транзакции в отношении вторичной реплики, настроенной для работы в режиме асинхронной фиксации. Если текущая первичная реплика настроена на работу в режиме асинхронной фиксации, то она фиксирует транзакции асинхронно для всех вторичных реплик, независимо от режимов доступности, заданных в каждой из них.

Режим синхронной фиксации отдает предпочтение высокому уровню доступности и защите данных перед производительностью ценой повышенной задержки транзакций. В режиме синхронной фиксации транзакции не отправляют клиенту подтверждение, пока вторичная реплика не зафиксирует журнал на диск. Когда в базе данных-получателе начинается синхронизация данных, вторичная реплика начинает применять записи журнала, поступающие от соответствующей базы данных-источника. Сразу после того, как все записи журнала зафиксированы на диск, база данных-получатель переходит в состояние SYNCHRONIZED. После этого каждая новая транзакция фиксируется вторичной репликой перед помещением записи журнала в локальный файл журнала. Когда все базы данных-получатели данной вторичной реплики синхронизированы, режим синхронной фиксации поддерживает переход на другой ресурс вручную, а также автоматический переход на другой ресурс.

Режим только конфигурации применяется к группам доступности, которые не находятся на отказоустойчивом кластере Windows Server. Реплика в режиме только конфигурации не содержит данных пользователя. В этом режиме реплика базы данных master хранит метаданные конфигурации группы доступности

Выбираем синхронизацию данных.

После завершения работы мастера щелкаем ПКМ на группе доступности в обозревателе объектов и нажимаем «Показать панель мониторинга»:

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

В итоге мы видим что отработка происходит успешно и группа доступности между серверами MS SQL реплицируется.

Дата публикации: 26 декабря 2022
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

  • Павел

    Спасибо за статью. Остался неясной момент : пользователи работают только на одном сервере, который реплицируется или сразу на двух? Если на двух, то как балансируется нагрузка?

    • https://efsol.ru/ EFSOL

      При работе Always-ON выделяется Master сервер, на котором все актуальные данные и второстепенный сервер Slave, на который делается копия.
      Все запросы на изменение базы идут на Master, информация на нем доступна на запись и чтение, а информация на Slave – только на чтение.

  • Денис

    А как при такой схеме настраиваются планы обслуживания баз ? только на “мастере” или

    • https://efsol.ru/ EFSOL

      Планы обслуживания настраиваются на master’е.

  • Алексей

    Отличная статья, спасибо, что делитесь такой информацией! Подскажите пожалуйста, в каком режиме добавляете вторую реплику/ноду – синхронной или асинхронной фиксации? При асинхронной фиксации, если нужна больше скорость – в случае отказа база не портится?

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.