Серверы для 1С

Один сервер или кластер 1С: что выбрать под допустимый простой

Дмитрий Потоцкий 1 мин чтения
Один сервер или кластер 1С: что выбрать под допустимый простой

Компания переносит 1С со старого сервера на два новых узла. Директор ждёт, что пользователи забудут о простоях. Но при отказе СУБД работа останавливается по-прежнему: второй сервер 1С не заменяет базу данных.

Поэтому выбирать нужно не между «простым» и «серьёзным» решением. Вопрос другой: сколько часов простоя принимает бизнес и после отказа какого компонента работа должна продолжиться.

Второй узел не ускорит один тяжёлый запрос

Сначала раздели две задачи: ускорить 1С и пережить отказ сервера. Для них нужны разные обоснования закупки.

Две стойки и общее хранилище

Если документы проводятся по восемь секунд, ищи ограничение в процессоре, памяти или дисках. Кластер распределяет сервисы платформы между рабочими серверами, информационными базами и сессиями. Это следует из руководства администратора 1С:Предприятия 8.3.24. Но один последовательный запрос не разделится автоматически между двумя процессорами.

Возьмём профиль из нагрузочного испытания:

  • пик — 8 физических ядер;
  • занятая память — 72 ГБ;
  • рабочий набор базы — 400 ГБ;
  • допустим простой на ремонт сервера.

Закладываем 50% по процессору: 8 × 1,5 = 12 ядер. Для памяти берём 33%: 72 × 1,33 ≈ 96 ГБ. Под такой профиль подходит один сервер с 12 быстрыми ядрами и 96 ГБ ECC RDIMM.

Это расчёт для измеренной нагрузки, а не норма на пользователя. Если замеров ещё нет, сначала оцени профиль базы и параллельность работы. Отдельный пример есть в расчёте сервера для 1С на 50 пользователей.

Один сервер здесь дешевле и проще. Плата за экономию известна заранее: поломка системной платы, процессора или контроллера остановит 1С до ремонта либо переноса на резервную машину.

Кластер нужен, когда отказ узла не должен остановить 1С

Руководство администратора 1С описывает кластер как набор независимых сервисов. Платформа распределяет их по рабочим серверам, а при ненулевом уровне отказоустойчивости включает репликацию.

Это не означает бесшовное переключение любого компонента. В документации 1С сервисы разделены по поведению при переносе:

  • Migration+ — перенос без потери данных;
  • Migration− — перенос с потерей части данных;
  • No migration — сервис остаётся на компьютере главного сервера кластера;
  • Single server — сервис работает только на одном рабочем сервере.

Для переноса сервиса обновления конфигурации базы платформа требует остановить рабочие процессы. Сервис распознавания речи между рабочими серверами не мигрирует. Поэтому обещание «пользователь ничего не заметит» нельзя принимать без проверки конкретных сервисов и сценария отказа.

В закупке из этого следует жёсткое правило: два узла N+1 нельзя считать как две половины одного сервера. После отказа первой машины вторая должна выдержать весь расчётный пик.

Для принятого профиля нужны два одинаковых узла по 12 физических ядер и 96 ГБ памяти. Пара серверов по 6 ядер и 48 ГБ даст нужную сумму только до первого отказа. Затем оставшийся узел получит нагрузку, которая в него не помещается.

Цена кластера — не просто второй корпус. Ты оплачиваешь двукратную вычислительную ёмкость, потому что в штатном режиме часть ресурсов служит запасом на отказ.

СУБД и хранилище живут за границей кластера 1С

Кластер платформы распределяет собственные сервисы. Он не превращает одиночный сервер СУБД, один коммутатор или общее хранилище в отказоустойчивые компоненты.

Представь два узла 1С и отдельную машину PostgreSQL или MS SQL Server. Один рабочий сервер 1С выключился — второй принял сервисы. Отказала машина с СУБД — оба узла остались без базы.

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

Поэтому заявку на кластер проверяют по всей цепочке:

клиент → сеть → сервер 1С → СУБД → диски

Любой одиночный компонент в этой цепочке определяет доступность системы. Можно купить два сервера и всё равно получить прежний простой — только дороже.

Спецификация под типовую задачу

Считаем для измеренного пика в 8 физических ядер, 72 ГБ памяти и рабочего набора базы в 400 ГБ. Добавляем 50% по CPU, 33% по RAM, двукратный запас по дисковой ёмкости и возможность пережить отказ одного накопителя.

Один сервер с допустимым простоем на ремонт

КомпонентСпецификацияПочему столько
Процессор12 быстрых физических ядер8 × 1,5 = 12; частота важнее лишних незанятых ядер
Память96 ГБ ECC RDIMM72 × 1,33 ≈ 96; точную раскладку модулей сверяют с каналами выбранной платформы
Диски2 × 800 ГБ NVMe, RAID1зеркало переживает отказ одного накопителя; полезная ёмкость 800 ГБ равна двойному рабочему набору
Сетьминимум 2 портаможно развести рабочий трафик и резервный путь; коммутаторы тоже должны быть разными
Питание2 блока питаниякаждый блок подключают к отдельной линии или ИБП
Корпусот 2 свободных отсеков после сборкиможно добавить отдельный массив без замены корпуса
Память под ростсвободные слоты DIMMследующий объём набирается добавлением модулей, если платформа допускает симметричную установку

Этот вариант закрывает производительность и отказ одного диска либо блока питания. Отказ материнской платы или процессора остановит систему.

Кластер N+1

Каждый узел получает ту же расчётную мощность:

Компонент одного узлаСпецификацияОбоснование
Процессор12 быстрых физических ядероставшийся узел выдерживает пик после отказа соседа
Память96 ГБ ECC RDIMMрабочая нагрузка не зависит от памяти отказавшего узла
Локальные дискипара накопителей в RAID1 под ОС и компоненты платформыотказ одного локального диска не выводит узел из работы
Сетьот 2 портов на разных сетевых путяхрезервируется не только сетевой адаптер, но и путь до коммутатора
Питание2 блока на разных линияходин блок или одна линия могут отказать без выключения узла
Корпуссвободные отсеки и слоты DIMMостаётся место для роста без замены платформы

СУБД и её диски в эту таблицу намеренно не включены: их резервирование требует отдельной схемы. Нужно выбрать репликацию СУБД, порядок переключения, место хранения журналов и допустимую потерю данных. Без этого два узла 1С защищают только слой платформы.

Если пик вырастет до 12 ядер, при прежнем запасе каждому узлу понадобится 12 × 1,5 = 18 физических ядер. Нельзя добавить шесть ядер только на один сервер: при его отказе кластер потеряет расчётную ёмкость.

Если бизнес принимает простой на ремонт, оставляй один узел на 18 ядер. Если требует продолжить работу после отказа сервера, покупай два таких узла и отдельно резервируй СУБД, сеть, хранение и питание.

Что записать в заявку поставщику

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

Перед заказом потребуй от поставщика ответы на пять вопросов:

  1. Выдержит ли один узел весь измеренный пик после отказа второго?
  2. Какие используемые сервисы 1С мигрируют без потери данных, а какие потребуют остановки процессов?
  3. Где продолжит работать СУБД после отказа её основного сервера?
  4. Какие общие компоненты — хранилище, коммутатор, ИБП — остались одиночными?
  5. Сколько минут займёт восстановление работы при отказе каждого компонента?

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