Свой сервер 1С:Предприятия 8.3 за один день: от установки до первой базы
Содержание
Чтобы создать кластер серверов 1С, достаточно установить компонент «Сервер 1С:Предприятия 8 (x86-64)» и запустить его как службу: при первом старте агент сам создаёт «Локальный кластер» на порту 1541. Дальше в консоли администрирования к кластеру добавляют информационные базы, а при росте нагрузки — второй рабочий сервер. Отдельной кнопки «Создать кластер с нуля» в обычной установке нет и не требуется.
Выбор схемы простой. Один сервер с 1С и СУБД на одной машине закрывает фирму на 10–40 пользователей. Разнесённая схема (сервер 1С отдельно, СУБД отдельно) нужна, когда пользователей больше или база тяжелее 50–100 ГБ. Несколько рабочих серверов в одном кластере — для отказоустойчивости и сотен сеансов.
Из чего состоит кластер серверов 1С и зачем он нужен
Кластер — это группа процессов, которые обслуживают клиентов 1С в клиент-серверном режиме. Клиент не открывает файл базы, как в файловом варианте. Он отправляет запросы серверу, а тот работает с СУБД.
Состав кластера:
- 🔹 Агент сервера (
ragent) — точка входа. Слушает порт 1540, через него подключаются клиенты и консоль администрирования. - 🔹 Менеджер кластера (
rmngr) — ведёт реестр кластера, сеансы, блокировки. Порт 1541. - 🔹 Рабочие процессы (
rphost) — выполняют код конфигурации и запросы к базе. Берут порты из диапазона, по умолчанию 1560–1591. - 🔹 Сервер администрирования (
ras) — нужен утилите командной строкиrac. Порт 1545.
Порядок подключения клиента: агент на 1540 → менеджер кластера на 1541 → свободный рабочий процесс из диапазона портов. Поэтому в брандмауэре открывают все три группы портов, а не только 1540.
Зачем переходить на кластер с файловой базы:
- 📈 файловая база начинает тормозить уже на 10–15 одновременных пользователях;
- 🔒 клиент-серверный режим даёт управляемые блокировки и меньше конфликтов при проведении;
- 🌐 базу удобно публиковать для удалённых сотрудников и подключать к обменам;
- 🛡️ резервное копирование делается средствами СУБД, без выгона пользователей.
Требования к серверу 1С: железо, ОС, лицензии
Ниже — ориентиры для бухгалтерии и торговли на типовых конфигурациях. Тяжёлые ERP-базы требуют больше.
| Пользователей | CPU | ОЗУ (1С + СУБД на одной машине) | Диск |
|---|---|---|---|
| до 15 | 4 ядра | 16 ГБ | SSD |
| 15–50 | 8 ядер | 32 ГБ | NVMe SSD |
| 50–150 | 12–16 ядер | 64 ГБ и больше | NVMe, СУБД на отдельном томе |
Что подготовить до установки:
- ОС. Windows Server 2016 и новее либо 64-битный Linux из списка поддерживаемых (Ubuntu, Debian, Astra Linux, РЕД ОС, Альт и др.).
- СУБД. Microsoft SQL Server, PostgreSQL (сборка с патчами для 1С), IBM Db2 или Oracle. Для PostgreSQL берите сборку, совместимую с вашей версией платформы.
- Дистрибутив платформы той же версии, что и у клиентов. Клиент и сервер должны совпадать по номеру версии полностью.
- Лицензия на сервер. Без неё кластер не будет обслуживать клиентов. Это программная лицензия (активируется на сервере) или аппаратный ключ. Плюс клиентские лицензии по числу одновременных пользователей.
- Постоянный IP или DNS-имя. Клиенты и рабочие серверы обращаются к центральному серверу по имени, оно должно разрешаться с каждой машины.
- Порты 1540, 1541, 1545 и диапазон 1560–1591 открыты между серверами и для клиентов.
Ориентир по лицензиям: программная лицензия на сервер x86-64 стоит примерно 85–100 тыс. руб., версия КОРП — заметно дороже. Клиентские лицензии на 10 рабочих мест — ориентировочно 60–70 тыс. руб. Точные цены уточняйте у партнёра.
Одна машина или несколько: выбор архитектуры кластера
Почти все начинают с одного сервера. Это нормально: кластер одного сервера — полноценный кластер, к нему позже добавляются машины без переустановки.
| Схема | Когда выбирать | Плюсы | Риски |
|---|---|---|---|
| 1С + СУБД на одном сервере | до 30–40 пользователей, одна-две базы | дёшево, минимум сети | 1С и СУБД делят память |
| Сервер 1С и сервер СУБД раздельно | 40–150 пользователей, тяжёлые отчёты | память и диски не конкурируют | нужна быстрая сеть между ними (от 1 Гбит/с, лучше 10) |
| Несколько рабочих серверов в кластере | от 150 пользователей, требования к простою | распределение нагрузки, резерв | лицензия КОРП для части функций, сложнее сопровождение |
Для распределённой схемы важны два понятия:
- Центральный сервер — на нём работает менеджер кластера и хранится реестр. Флаг «Центральный сервер» стоит в свойствах рабочего сервера.
- Уровень отказоустойчивости — свойство кластера: сколько центральных серверов может выйти из строя без остановки работы. Для уровня 1 нужны минимум два центральных сервера.
Как создать кластер 1С на Windows Server
Установка серверных компонентов
- Запустите
setup.exeиз дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows». - В списке компонентов отметьте «Сервер 1С:Предприятия 8 (x86-64)» и «Модули расширения веб-сервера», если будете публиковать базы.
- Поставьте флажок установки сервера как службы Windows. Установщик предложит создать пользователя
USR1CV8— согласитесь или укажите доменную учётную запись. - На шаге установки драйвера защиты включайте его только при аппаратном ключе.
- После установки проверьте службу «Агент сервера 1С:Предприятия 8.3 (x86-64)» в
services.msc: состояние «Выполняется».
На этом кластер уже создан. Каталог реестра — C:\Program Files\1cv8\srvinfo.
Регистрация консоли администрирования
Консоль серверов 1С — оснастка MMC. Если при запуске она пустая или пишет об ошибке оснастки, зарегистрируйте библиотеку той версии, что установлена (запуск от администратора):
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
После обновления платформы регистрацию повторяют с новым номером версии: консоль должна совпадать с версией сервера.
Ручная установка службы с нужными параметрами
Когда нужен другой каталог реестра, порты или второй экземпляр сервера на одной машине, службу регистрируют вручную:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "D:\srvinfo" -debug
ragent.exe -start
Для второго экземпляра берут другой набор портов, например -port 2540 -regport 2541 -range 2560:2591, и отдельный каталог.
Остановка службы агента обрывает все сеансы пользователей на этом сервере. Перерегистрацию и обновление делайте вне рабочего времени, предупредив пользователей.
Развёртывание кластера 1С на Linux
Установка сервера
Начиная с версии 8.3.20 для Linux есть единый установщик setup-full-8.3.xx.xxxx-x86_64.run. Пример установки без диалогов:
chmod +x setup-full-8.3.xx.xxxx-x86_64.run
sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended --enable-components server,server_admin
Состав компонентов смотрите в справке установщика: --help. Платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/, служба работает от пользователя usr1cv8.
Запуск как службы systemd
В свежих версиях в каталог платформы кладётся готовый юнит. Подключите и запустите его:
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable srv1cv8-8.3.xx.xxxx@default
sudo systemctl start srv1cv8-8.3.xx.xxxx@default
systemctl status srv1cv8-8.3.xx.xxxx@default
Реестр кластера по умолчанию лежит в домашнем каталоге usr1cv8: /home/usr1cv8/.1cv8/1C/1cv8.
Управление кластером без графической консоли
Оснастки MMC на Linux нет. Варианты:
- подключиться к Linux-серверу консолью с любой Windows-машины: в консоли добавляется центральный сервер по имени и порту 1540;
- работать через
ras+racпрямо на сервере.
Запуск сервера администрирования и первые команды:
/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --daemon
/opt/1cv8/x86_64/8.3.xx.xxxx/rac localhost:1545 cluster list
/opt/1cv8/x86_64/8.3.xx.xxxx/rac localhost:1545 infobase summary list --cluster=<uuid-кластера>
UUID кластера берётся из вывода cluster list. Полный перечень команд — rac help.
Нужен ли Wine для 32-битного сервера
Нет. Сервер 1С для Linux — нативный 64-битный, 32-битных серверных сборок для Linux в актуальных версиях нет. Запускать Windows-сервер 1С под Wine — неподдерживаемая схема: сеансы падают, лицензирование и драйвер защиты работают нестабильно. Через Wine иногда пытаются запустить Windows-консоль администрирования, но проще и надёжнее подключаться к кластеру консолью с Windows-машины или через rac.
Настройка кластера: рабочие процессы, серверы, базы
Свойства рабочего сервера
Откройте консоль: Центральные серверы → <имя сервера> → Кластеры → Локальный кластер → Рабочие серверы → <сервер> → Свойства. Ключевые поля:
- Количество ИБ на процесс — сколько баз может обслуживать один рабочий процесс. Значение 1 изолирует базы друг от друга: зависание одной не тянет остальные.
- Количество соединений на процесс — сколько сеансов обслуживает один
rphost. При тяжёлых отчётах значение снижают, и сервер запускает больше процессов. - Максимальный объём памяти рабочих процессов — общий потолок для всех
rphostсервера. - Безопасный расход памяти за один вызов — защита от «тяжёлого» запроса, который съедает всю память.
- Диапазон IP-портов — откуда рабочие процессы берут порты. Здесь же меняют диапазон, если 1560–1591 занят.
- Менеджер под каждый сервис — выносит сервисы кластера в отдельные процессы
rmngr, полезно на нагруженных серверах.
Добавление второго рабочего сервера
- Установите на новую машину сервер 1С той же версии и запустите службу.
- В консоли на центральном сервере:
Рабочие серверы → Создать → Рабочий сервер. Укажите имя машины и порт агента 1540. - Если сервер должен подхватить роль менеджера при сбое — отметьте «Центральный сервер».
- В «Требованиях назначения функциональности» рабочего сервера можно закрепить за ним, например, фоновые задания конкретной базы.
Создание информационной базы в кластере
Информационные базы → Создать → Информационная база. Заполните:
| Поле | Что указать |
|---|---|
| Имя | имя базы в кластере, без пробелов, например buh_main |
| Сервер баз данных | имя сервера СУБД (для PostgreSQL можно с портом) |
| Тип СУБД | MS SQL Server или PostgreSQL |
| База данных | имя базы в СУБД |
| Пользователь и пароль сервера БД | учётная запись с правом создавать базы (sa, postgres или выделенная) |
| Смещение дат | 2000 для MS SQL, для PostgreSQL — 0 |
| Создать базу данных в случае её отсутствия | включить для новой базы |
| Установить блокировку регламентных заданий | включить для копий и тестовых баз |
Блокировку регламентных заданий включайте на любой копии рабочей базы: иначе копия начнёт отправлять отчёты, загружать банк и обмениваться данными от имени настоящей организации.
Тайм-ауты и ограничения: сеансы, память, фоновые задания
Тайм-аут неактивного соединения и спящие сеансы
При обрыве связи сеанс не закрывается сразу, а «засыпает», удерживая лицензию. Управляют этим два параметра в свойствах информационной базы (задаются в секундах):
- Время засыпания пассивного сеанса — через сколько секунд без связи с клиентом сеанс уходит в сон. По умолчанию 300.
- Время завершения спящего сеанса — через сколько секунд спящий сеанс завершается и освобождает лицензию.
Если лицензий не хватает из-за «висящих» сеансов, уменьшают второе значение: например, до 600–1800 секунд. Слишком короткие значения вредят пользователям с нестабильным интернетом — их будет выкидывать при каждом сбое.
Перезапуск рабочих процессов по памяти и по времени
В свойствах кластера, тоже в секундах:
- Интервал перезапуска — плановый перезапуск
rphost, например 86400 (раз в сутки). Сеансы переносятся на новый процесс. - Допустимый объём памяти и Интервал превышения допустимого объёма памяти — процесс, который дольше заданного времени держит память сверх порога, перезапускается.
- Принудительно завершать проблемные процессы — снимает зависшие процессы автоматически.
Сколько фоновых заданий может работать одновременно
Поля «максимум фоновых заданий» в свойствах кластера нет. Нагрузку от фоновых заданий ограничивают так:
- 🔹 выносят их на отдельный рабочий сервер через требования назначения функциональности;
- 🔹 отключают лишние регламентные задания в самой конфигурации (в типовых — в разделе
Администрирование); - 🔹 в конфигурациях на БСП уменьшают число потоков для массовых операций, например обновления данных после перехода на новый релиз;
- 🔹 снижают «Количество соединений на процесс», чтобы тяжёлые задания расходились по разным
rphost.
Мониторинг и оптимизация кластера 1С
Что смотреть регулярно:
- 📊 Сеансы и соединения в консоли: кто держит лицензии, какие сеансы спят. Через
rac—rac session list --cluster=<uuid>. - 📊 Рабочие процессы: память, число соединений, «Доступная производительность». Если она проседает на одном процессе — там тяжёлый пользовательский запрос.
- 📊 Технологический журнал (
logcfg.xmlв каталогеconfплатформы) — исключения, долгие запросы, взаимоблокировки. Включайте точечно: полный журнал за час занимает гигабайты. - 📊 Счётчики и ограничения потребления ресурсов в консоли кластера — показывают, какой пользователь или база грузит процессор и память, и позволяют прервать слишком «дорогие» сеансы.
Типовые шаги оптимизации:
- Разнесите СУБД и сервер 1С по разным дискам или машинам.
- Для MS SQL ограничьте память СУБД, оставив 1С и ОС минимум 8–16 ГБ.
- Задайте «Количество ИБ на процесс» = 1, если на сервере несколько крупных баз.
- Настройте плановые регламентные операции в СУБД: обновление статистики ежедневно, перестроение индексов раз в неделю.
- Чистите каталог сеансовых данных
snccntx*в реестре кластера только при остановленной службе — это помогает при «распухшем» кэше и странных ошибках после обновления.
Остановка службы для очистки кэша завершает все сеансы. Предупредите пользователей и делайте это вечером или в выходные.
Частые вопросы о создании кластера 1С
Можно ли поставить два кластера на одну машину?
Нужен ли отдельный сервер СУБД для небольшой фирмы?
Почему клиент видит сервер, но не подключается к базе?
Как задать администратора кластера?
Локальный кластер → Администраторы → Создать. После этого консоль и rac запрашивают логин и пароль. Пароль храните в менеджере паролей: восстановить его без доступа к серверу нельзя.