Назад

Как добиться максимальной доступности и отказоустойчивости 1С на территориально разнесенных площадках

Дата публикации: 25 апреля 2025
Как добиться максимальной доступности и отказоустойчивости 1С на территориально разнесенных площадках
У многих клиентов EFSOL рано или поздно возникает задача добиться максимальной надежности и отказоустойчивости в работе 1С, особенно если на эту систему завязаны оплаты розничных точек или оперативные отгрузки со склада. И, как следствие, возникает логичный вопрос: как этого добиться?

Шаг 1. Анализ текущей архитектуры 1С

Первым шагом стоит проанализировать текущую архитектуру 1С и оценить, какие узлы (сервисы) требуют дублирования для обеспечения отказоустойчивости. Обычно система 1С состоит из:
  • сервера СУБД (MSSQL или Postgres);
  • сервера приложений (1С предприятие);
  • системы клиентского доступа через web или сервис удаленных рабочих столов (RDP);
  • обслуживающих сервисов ИТ-инфраструктуры.

Шаг 2. Оценка предельно допустимого времени простоя (RTO)

На втором шаге необходимо оценить предельно допустимое время простоя (RTO — Recovery Time Objective). В зависимости от этого выбирается подходящее решение. Если требования к RTO у бизнеса стоят максимально жесткие, то помимо кластеризации вышеуказанных сервисов, необходимо реализовать разнесение инфраструктуры 1С между двумя независимыми площадками. Даже если используется высококачественный дата-центр, может произойти непредвиденная ситуация. Например, серьезный пожар, попадание беспилотника или остановка работы ДЦ правоохранительными органами в рамках следственно-оперативных действий. Территориальное распределение данных можно выполнить тремя принципами:
Резервное копирование данных Это позволит в случае длительной остановки основной ИТ-инфраструктуры за несколько дней построить с нуля новую и получить доступ к данным компании.
“Холодное” резервирование Перенос данных в формате репликации, что позволяет обеспечить полноценный доступ к сервисам в течение суток.
“Горячее” резервирование Полная кластеризация всех сервисов, позволяющая переключиться на резервную структуру в течение считанных минут.

Как достигается резервирование?

1 способ:

С первым вариантом все понятно: согласовывается формат резервных копий, настраивается их автоматическое выполнение и система мониторинга, которая контролирует создание бэкапов. В случае наступления форс-мажора, требуется развернуть новую ИТ-структуру и подгрузить в нее данные из резервных копий. Для этого требуется значительное время и высокая компетенция специалистов. Зато расходы на эксплуатацию резервной площадки будут минимальные.

2 способ:

Вариант с “холодными” резервированием заметно сложнее. Для его реализации требуется создать ИТ-структуру аналогичную основной и обеспечить репликацию данных между двумя площадками. В случае применения виртуализации возможна настройка репликации виртуальных машин. В случае наступления долгосрочного сбоя основной площадки, резервная структура запускается, перенастраивается сетевая связанность, тестируется, после чего она готова к подключению пользователей. Так как данные уже загружены, все указанные процессы происходят гораздо быстрее и требуют меньшего уровня компетенции от ИТ-отдела. Стоимость такой реализации выше, чем первого, но все равно достигается серьезная экономия на RAM и CPU, канале связи между площадками, т.к. резервная структура не активна.

3 способ:

Самая отказоустойчивая и быстрая реализация резервирования — это “горячее” резервирование всей ИТ-структуры. Такое подход обеспечивает доступ всех пользователей к данным в течение считанных минут. Далее рассмотрим схему реализации подобной структуры.

Этапы реализации отказоустойчивости 1C на территориально разнесенных площадках

Начинать построение подобной системы необходимо с организации сетевой связности между площадками. Рекомендуется иметь единую подсеть, что упростит настройку кластеризации. Если подсети не могут быть объединены, они должны быть маршрутизируемыми. Для синхронной репликация данных потребуется высокоскоростной канал не менее 1 Гбит/с низкими задержками (желательно выделенное волокно, т.к. любые VPN на маршруте — это серьезные задержки).

Вторая задача, которую предстоит решить — это организация интернет канала с единым адресом для входа между разными площадками. Для web-подключений 1С можно использовать HAProxy. Это решение позволит корректно обрабатывать недоступность основного адреса. Для тонких клиентов потребуется указывать два адреса подключения — основной и резервный.

Следующим шагом необходимо настроить кластеризацию основных сервисов, отвечающих за работу 1С: Сервер СУБД (MSSQL или Postgres). В случае MSSQL настраиваем режим работы AllwaysOn с синхронной репликацией. Для Postgres сложнее — по умолчанию Postgres не поддерживает работу в кластере. Поэтому будем использовать стороннее приложение, например Patroni – Framework (разработанный на языке Python) для построения кластера Postgres высокой доступности на основе потоковой репликации.

Рисунок 1 – Схема работы подключений через HAProxy.

Кластеризация сервера приложений на разных площадках (сервера 1С) не сложна. Это типовой функционал данного приложения. Разве что, надо будет указать, что все подключения должны идти преимущественно на серверы на основной площадке, чтобы пользователей не перекидывало на резервную. Последний этап – надо зарезервировать пользовательскую среду. Если применяются серверы терминалов, то на резервной площадке разворачиваются дополнительные терминальные сервера. На TS Broker указываем, что подключения к ним возможны только при недоступности основных терминальных серверов.

Вывод

Построение отказоустойчивой системы для зрелой организации не так сложно, как может показаться. Существует три варианта, подходящих для разных бюджетов — от начального до более дорогого. Рекомендуем бизнесу не хранить все данные в одной “корзине” (технологической площадке), а разносить их по разным территориям (ЦОД). Это позволит минимизировать риски утраты данных, ведь могут произойти различные ситуации на любой из площадок. В этом случае важно не остаться без доступа к ключевым системам и накопленной информации.
Лого ES мини

EFSOL

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

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

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