Сервер 1С:Предприятия 8.3 с нуля: железо, СУБД, кластер, защита и обслуживание
Содержание
Чтобы организовать сервер 1С, нужны четыре вещи: машина с быстрым процессором и SSD, СУБД (PostgreSQL в сборке для 1С или MS SQL Server), установленный сервер 1С:Предприятия 8.3 с серверной лицензией и открытые порты 1540, 1541 и 1560–1591. Дальше базы создаются в консоли кластера, а пользователи подключаются к ним по адресу вида Srvr="имя-сервера";Ref="имя-базы";.
Всё, что ниже, относится к платформе 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП, УТ или ERP работают на сервере одинаково. Разница только в нагрузке, а значит — в железе.
Что проверить до покупки и установки
Клиент-серверный вариант оправдан, когда файловая база начинает тормозить. Обычно это 10–15 одновременных пользователей, база больше 5–10 ГБ или тяжёлые фоновые задания: обмены, загрузка банка, расчёт себестоимости.
Перед стартом соберите ответы на пять вопросов:
- 👥 сколько пользователей будет работать одновременно, а не всего в списке;
- 📦 сколько баз и какого объёма (размер файла
1Cv8.1CDдаст ориентир); - 🔄 какие обмены и регламентные задания крутятся в фоне;
- 🌐 как подключаются люди: из офиса, через RDP или через веб-клиент;
- 🔑 какие лицензии уже есть: клиентские (на рабочие места) и серверная.
Серверная лицензия — отдельный продукт. Клиентские лицензии на рабочие места её не заменяют. Для небольших компаний есть вариант «Сервер МИНИ» с ограничением до 5 одновременных подключений; для остальных — обычная серверная лицензия 32 или 64 бит. Без лицензии сервер базы не запустит.
Железо и операционная система для сервера 1С
Сервер 1С сильнее всего зависит от частоты одного ядра процессора. Многие операции платформы выполняются в одном потоке, поэтому 8 ядер по 3,8 ГГц полезнее, чем 32 ядра по 2,1 ГГц.
Ориентиры по конфигурации
| Одновременных пользователей | Процессор | Память | Диски |
|---|---|---|---|
| до 20 | 4–6 ядер, высокая частота | 16–32 ГБ | SSD/NVMe от 500 ГБ |
| 20–50 | 8–12 ядер | 32–64 ГБ | NVMe, отдельный диск под логи СУБД |
| 50–100 | 16+ ядер | 64–128 ГБ | NVMe RAID 1/10, раздельные тома под данные и логи |
Цифры ориентировочные. Расчёт себестоимости в ERP на 30 пользователях может съесть больше ресурсов, чем 80 человек в Бухгалтерии.
💡 Медленный диск — самая частая причина «тормозов» на новом сервере. Под файлы СУБД ставьте только SSD или NVMe. HDD допустимы лишь для архива бэкапов.
Windows или Linux
| Критерий | Windows Server | Linux (Ubuntu, Debian, Astra и др.) |
|---|---|---|
| Порог входа | ниже: привычный интерфейс | нужен опыт администрирования Linux |
| Стоимость | лицензии Windows Server и CAL | ОС бесплатна или дешевле |
| СУБД | MS SQL или PostgreSQL | PostgreSQL |
| Терминальный доступ | RDP встроен | нужен отдельный терминальный сервер |
Если пользователи работают через RDP, удобно держать терминальный сервер на Windows, а сервер 1С и СУБД — на отдельной машине с Linux. Из Windows Server берите версии 2016 и новее.
Виртуализация допустима. Только не отдавайте виртуальной машине больше ядер, чем есть в одном физическом процессоре, и не включайте сильное переподписание памяти на хосте.
Установка СУБД: PostgreSQL для 1С или MS SQL Server
Сервер 1С сам данные не хранит: таблицы баз лежат в СУБД. Выбор между PostgreSQL и MS SQL — главный архитектурный вопрос.
PostgreSQL
Обычный PostgreSQL из репозитория дистрибутива для 1С не годится. Нужна сборка с патчами для 1С: её распространяет фирма 1С вместе с платформой, также есть Postgres Pro для 1С. Версию СУБД подбирайте под версию платформы — список совместимых сборок публикуется вместе с релизом платформы.
После установки поправьте postgresql.conf под объём памяти. Ориентиры для сервера с 32 ГБ, где на той же машине работает сервер 1С:
shared_buffers = 8GB
effective_cache_size = 20GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_connections = 500
max_locks_per_transaction = 256
Параметры, которые нужны именно 1С (например, standard_conforming_strings = off), уже стоят в конфиге сборки. Не перетирайте их чужим «оптимальным» файлом из интернета.
MS SQL Server
При установке MS SQL проверьте три настройки:
- Сортировка экземпляра —
Cyrillic_General_CI_AS. - Ограничение памяти
max server memory. Оставьте операционной системе и серверу 1С минимум 25–30% ОЗУ, иначе SQL заберёт всё. - Модель восстановления базы.
Simple— если хватает ночного бэкапа.Full— если нужен откат на любой момент дня, но тогда обязателен бэкап журнала, иначе файл лога разрастётся на весь диск.
Для подключения 1С создайте отдельный логин SQL с правами на создание баз. Учётку sa в строке подключения не используйте.
Установка сервера 1С:Предприятия и создание кластера
Сервер 1С ставится из полного дистрибутива платформы той же версии, что будет у клиентов. Версия платформы на клиентах и на сервере должна совпадать до последней цифры, иначе подключения не будет.
Windows
- Запустите установщик платформы и отметьте компоненты «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия».
- На шаге установки сервера выберите запуск как службы Windows.
- Укажите пользователя службы. Установщик предлагает создать
USR1CV8— так и сделайте, давать службе права администратора домена не нужно. - Зарегистрируйте консоль администрирования: из каталога
binплатформы выполните от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Без этого оснастка консоли не откроется или подключится к старой версии, если на машине стояли разные платформы.
Linux
Поставьте серверные пакеты платформы. Начиная с 8.3.21 в каталоге платформы лежит готовый юнит systemd. Его подключают и включают так:
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable --now srv1cv8-8.3.xx.xxxx@default
Служба работает от пользователя usr1cv8. У него должны быть права на каталог кластера.
Первая база в кластере
При первом запуске служба создаёт кластер по умолчанию на порту 1541. Дальше:
- Откройте консоль администрирования серверов 1С и добавьте центральный сервер по имени машины.
- В кластере откройте
Информационные базыи создайте новую. - Заполните тип СУБД, адрес сервера СУБД, имя базы данных, логин и пароль.
- Отметьте «Создать базу данных в случае её отсутствия».
- Поставьте «Разрешить выдачу лицензий сервером 1С:Предприятия: Да», если на сервере стоит лицензия, которую должны получать клиенты.
Перенести существующую файловую базу
проще всего через выгрузку в .dt и загрузку в новую серверную базу
из Конфигуратора. На время загрузки нужен монопольный доступ к новой базе.
Роли, процессы и производительность кластера
Кластер 1С — это агент сервера (ragent), менеджер кластера (rmngr) и рабочие процессы (rphost). Пользовательские сеансы и фоновые задания выполняются в рабочих процессах.
Настройки рабочего сервера
Основные ручки управления — в свойствах рабочего сервера в консоли:
- ⚙️ Количество ИБ на процесс и Количество соединений на процесс — сколько баз и сеансов попадёт в один
rphost. Значения по умолчанию разумны; трогайте их только при перекосе нагрузки. - 🧠 Безопасный расход памяти за один вызов и Критический объём памяти процессов — защита от тяжёлого отчёта, который съедает всю память сервера.
- 🔌 Диапазон IP-портов рабочих процессов — по умолчанию
1560:1591. Если процессов много, расширьте диапазон и не забудьте про брандмауэр.
Несколько серверов в кластере
Когда одного сервера мало, в кластер добавляют второй рабочий сервер. Чтобы нагрузка шла туда, куда нужно, используют требования назначения функциональности. Они тоже задаются в свойствах рабочего сервера.
Типичная схема: фоновые и регламентные задания уходят на второй сервер, а пользовательские сеансы остаются на первом. Тогда ночной обмен с сайтом не тормозит бухгалтерию днём.
Что ещё влияет на скорость
- 🗂 СУБД и сервер 1С на одной машине работают быстрее, чем на двух, если хватает памяти: нет сетевых задержек. Разносить их стоит от 50–70 пользователей.
- ⚡ В Windows выставьте схему электропитания «Высокая производительность». В BIOS отключите энергосбережение процессора.
- 🧪 Замеряйте скорость тестом Гилёва до и после изменений. Цифры лучше ощущений пользователей.
- 📈 Технологический журнал (
logcfg.xml) включайте точечно и на время поиска проблемы: на полной записи он сам замедляет сервер и забивает диск.
Сеть, порты и безопасность сервера 1С
Клиент сначала обращается к агенту сервера на порт 1540, затем к менеджеру кластера на 1541, затем к рабочему процессу из диапазона 1560–1591. Консоль администрирования ходит через агент.
Что открыть в брандмауэре
| Порт | Кто слушает | Зачем |
|---|---|---|
| 1540 | агент сервера | первое обращение клиента и консоли |
| 1541 | менеджер кластера | регистрация сеанса в кластере |
| 1560–1591 | рабочие процессы | выполнение запросов клиента |
| 5432 / 1433 | PostgreSQL / MS SQL | только для сервера 1С, не для клиентов |
Порты СУБД не открывайте в интернет и в пользовательскую сеть. К СУБД должен ходить только сервер 1С.
Имя сервера
Клиенты подключаются по имени, а рабочие процессы сообщают клиенту имя своей машины. Если рабочие места не могут разрешить это имя через DNS, появляется ошибка подключения к рабочему процессу. Лечится записью в DNS или строкой в hosts на клиентах. Меняйте имя машины до установки сервера 1С: после переименования кластер придётся перенастраивать.
Защита кластера
- Назначьте администратора центрального сервера в консоли. Пока его нет, любой, кто видит порт 1540, может открыть консоль и управлять кластером.
- Назначьте администратора кластера. Пароль запишите в хранилище паролей компании, а не в блокнот на сервере.
- Задайте пароли пользователей базы данных СУБД и логин 1С с минимально нужными правами.
- Для доступа извне используйте VPN или веб-публикацию через HTTPS. Пробрасывать порты 1540–1591 на внешний IP нельзя.
- Если на сервере работают внешние обработки от разных людей, включите профили безопасности в кластере: они ограничивают доступ кода к файлам и сети.
Потеряли пароль администратора кластера — не пересоздавайте кластер. Остановите службу сервера 1С в нерабочее время (все сеансы пользователей оборвутся), восстановите файлы каталога кластера из резервной копии или обратитесь к администратору, который настраивал сервер.
Резервные копии и регламентное обслуживание
Основной бэкап серверной базы делается средствами СУБД. Выгрузка .dt годится для переноса и как дополнительная копия, но не как единственный способ: на больших базах она долгая.
Схема резервного копирования
| Что | Чем | Как часто |
|---|---|---|
| Полная копия базы | pg_dump / план обслуживания MS SQL | ежедневно ночью |
| Журнал транзакций (MS SQL, модель Full) | план обслуживания | каждые 15–60 минут |
Выгрузка .dt | Конфигуратор или пакетный запуск | раз в неделю или перед обновлением |
| Копия вне сервера | другой диск, NAS, облако | после каждого полного бэкапа |
Пример ночной копии для PostgreSQL:
pg_dump -U postgres -Fc -f /backup/buh_$(date +%F).dump buh
find /backup -name "buh_*.dump" -mtime +14 -delete
Ключ -Fc даёт сжатый файл, который восстанавливается через pg_restore. Вторая строка удаляет копии старше 14 дней.
💡 Раз в квартал разворачивайте бэкап в тестовую базу и открывайте её в 1С. Копия, которую ни разу не восстанавливали, — это надежда, а не бэкап.
Регламент обслуживания СУБД
- 🔧 MS SQL: еженедельно перестроение или реорганизация индексов, ежедневно обновление статистики. Обновление статистики даёт заметный прирост скорости запросов.
- 🔧 PostgreSQL: следите, чтобы работал autovacuum. После загрузки большой базы из
.dtзапустите вручнуюVACUUM ANALYZE— без статистики запросы пойдут медленно. - 🧹 Сервер 1С: при сбоях кэша иногда чистят сеансовые данные в каталоге кластера. Это делают только при остановленной службе, то есть вечером или в выходные, предупредив пользователей: все сеансы будут завершены.
- 🔄 Обновление платформы : ставьте новую версию сервера рядом со старой, переключайте службу и только потом обновляйте клиентов. Иначе люди останутся без доступа.
Перед обновлением конфигурации в рабочей базе делайте отдельный бэкап СУБД. Обновление структуры требует монопольного доступа, так что планируйте его на нерабочее время.