Когда фирме нужен сервер 1С и как его правильно собрать
Содержание
Сервер 1С — это программа «Сервер 1С:Предприятия 8.3», которая выполняет код конфигурации и работает с базой, хранящейся в СУБД (MS SQL Server или PostgreSQL). Пользователи подключаются к нему тонким клиентом по сети, а не открывают файл базы напрямую. Его ставят, когда в одной базе одновременно работают больше 5–10 человек, база растёт за десятки гигабайт или нужен доступ из нескольких офисов.
Частое заблуждение — что «сервер 1С» означает просто мощный компьютер в серверной, куда положили папку с базой. Это всё ещё файловый режим, только на другой машине. Серверным вариант становится, когда на машине работает служба сервера 1С, а данные лежат в СУБД. От этого и зависят скорость, блокировки и надёжность.
Как устроен клиент-серверный вариант 1С изнутри
В клиент-серверной схеме три уровня: клиент, кластер серверов 1С и СУБД. Клиент только показывает формы и передаёт команды. Вся тяжёлая работа — запросы, проведение, расчёты — идёт на сервере 1С, который сам обращается к СУБД.
Кластер состоит из нескольких процессов. Их имена пригодятся, когда будете смотреть диспетчер задач или журналы:
| Процесс | Роль | Порт по умолчанию |
|---|---|---|
ragent | Агент сервера: принимает первое подключение клиента и консоли | 1540 |
rmngr | Менеджер кластера: реестр баз, сеансы, блокировки, сервисы | 1541 |
rphost | Рабочие процессы: выполняют код конфигурации | 1560–1591 |
ras | Сервер администрирования для утилиты rac (ставится отдельно) | 1545 |
Порядок подключения такой: клиент стучится к агенту на 1540, агент направляет его к менеджеру кластера на 1541, тот назначает рабочий процесс из диапазона портов. Диапазон задаётся в свойствах рабочего сервера, а не кластера.
Если между клиентами и сервером стоит межсетевой экран, откройте не только 1540 и 1541, но и весь диапазон рабочих процессов. Иначе клиент «видит» сервер, но падает при входе в базу.
СУБД может стоять на той же машине или на отдельной. Для 1С 8.3 на практике используют MS SQL Server и PostgreSQL; для PostgreSQL берут сборки, адаптированные под 1С. Сервер 1С работает и под Windows Server 2016 и новее, и под Linux.
Файловая база или сервер 1С: чем они различаются на практике
В файловом режиме вся база — один файл 1Cv8.1CD. Каждый клиент открывает его по сети и сам выполняет запросы. Блокировки ставятся на целые таблицы: пока один бухгалтер проводит документ, второй ждёт.
В клиент-серверном режиме СУБД блокирует отдельные записи. Сеть нагружается меньше: по ней ходят команды и результаты, а не куски файла базы.
| Критерий | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Одновременных пользователей | комфортно до 5–10 | десятки и сотни |
| Размер базы | до 10–20 ГБ без заметных проблем | ограничен возможностями СУБД |
| Блокировки | на уровне таблиц | на уровне записей |
| Резервное копирование | копия файла или выгрузка .dt при выходе всех пользователей | средствами СУБД, без остановки работы |
| Риск повреждения базы | выше: сбой сети или питания у клиента | ниже: транзакции ведёт СУБД |
| Стоимость | только клиентские лицензии | + лицензия на сервер 1С, СУБД, железо |
| Администрирование | почти не нужно | нужен человек, который понимает кластер и СУБД |
Когда сервер 1С ставить рано
- 🟢 2–4 пользователя, одна база до нескольких гигабайт, офис в одной сети.
- 🟢 Нет никого, кто будет следить за СУБД и резервными копиями.
- 🟢 Работа идёт через облако или аренду 1С, где сервер уже обслуживает провайдер.
Признаки, что пора переходить
- 🔴 Пользователи регулярно видят «ожидание блокировки» в часы закрытия месяца.
- 🔴 Файл базы перевалил за 10–15 ГБ, и выгрузка
.dtидёт часами. - 🔴 Через VPN или удалённые офисы файловая база открывается минуты.
- 🔴 База повреждалась после сбоев сети, и приходилось запускать тестирование и исправление.
- 🔴 Нужны регламентные задания, которые должны работать круглосуточно: обмены, загрузка банка, ЭДО.
Какое железо нужно для сервера 1С
Для 1С важнее частота ядра, чем их число: проведение одного документа выполняется в одном потоке. Процессор с 8 ядрами по 4 ГГц для типичной фирмы полезнее, чем 32 ядра по 2,2 ГГц.
Второе узкое место — диски. Базу СУБД и файлы журнала транзакций держат только на SSD, лучше NVMe. HDD для рабочей базы — главная причина «сервер мощный, а 1С тормозит».
Ориентиры для случая, когда сервер 1С и СУБД стоят на одной машине:
| Пользователей | Процессор | Память | Диски |
|---|---|---|---|
| до 15 | 4–6 ядер, от 3,5 ГГц | 16–32 ГБ | NVMe SSD 500 ГБ–1 ТБ |
| 15–50 | 8–12 ядер, от 3,5 ГГц | 32–64 ГБ | NVMe SSD, отдельный диск под копии |
| 50–100 | 16+ ядер; СУБД лучше вынести | 64–128 ГБ на каждый сервер | NVMe в RAID 1 или RAID 10 |
| 100+ | отдельные серверы 1С и СУБД, несколько рабочих серверов | 128 ГБ и выше | быстрый массив, отдельные тома под данные, журнал и tempdb |
Это ориентиры, а не норма: тяжёлая УТ или ERP с обменами съест больше, чем Бухгалтерия на тех же пользователях.
Что проверить в конфигурации машины
- Схема электропитания Windows —
Высокая производительность. В режиме экономии частота процессора падает, и 1С заметно медленнее. - Память СУБД ограничена. У MS SQL параметр
max server memoryпо умолчанию не ограничен, и СУБД забирает почти всю память, оставляя рабочим процессам 1С крохи. Оставьте 1С и системе 25–40% объёма. - Антивирус не сканирует каталог данных СУБД и каталог кластера
srvinfo. Проверка этих файлов на лету тормозит каждую транзакцию. - Виртуальная машина получает выделенные ядра и память, без переподписки.
- Под резервные копии — отдельный диск или сетевое хранилище, а не тот же том, где база.
Лицензии и ключи защиты для сервера 1С
Сервер 1С требует двух видов лицензий, и их часто путают:
- 🔑 Лицензия на сервер 1С:Предприятия — одна на каждый рабочий сервер кластера. Без неё сервер не обслуживает клиентов. Бывает обычная и КОРП. КОРП нужна крупным внедрениям с расширенными возможностями управления кластером; маленькой и средней фирме хватает обычной.
- 👥 Клиентские лицензии — по числу одновременных подключений, а не по числу сотрудников. Продаются комплектами на 1, 5, 10, 20, 50, 100 и более мест.
- 🗄️ Лицензия СУБД — отдельная история. MS SQL Server лицензируется Microsoft, PostgreSQL бесплатен.
Ориентировочно лицензия на сервер обычного уровня стоит порядка 80–100 тыс. руб., КОРП — в несколько раз дороже. Точные цены и условия уточняйте у партнёра 1С: они меняются.
Программные ключи и USB-ключи
Лицензию защищают двумя способами.
Программная лицензия активируется пин-кодом и привязывается к параметрам компьютера. Файлы лицензий лежат в каталоге C:\ProgramData\1C\licenses. Если заменить материнскую плату, диск или пересоздать виртуальную машину, лицензия «слетит» — её активируют заново резервным пин-кодом из комплекта.
Аппаратный USB-ключ вставляется в сервер, для него ставят драйвер ключа защиты. Ключ не боится смены железа, но его можно потерять или сломать, а в виртуальной среде придётся пробрасывать USB.
Клиентские лицензии в клиент-серверном режиме удобно держать на сервере 1С. Тогда пользователи получают лицензию при подключении, и не нужно активировать её на каждом компьютере.
Сохраните конверт с пин-кодами и регистрационными данными комплекта. Без них повторная активация после замены железа превращается в переписку с центром лицензирования.
Сколько лицензий занято прямо сейчас, видно в консоли администрирования, в списке сеансов, или через утилиту:
rac cluster list
rac session list --cluster=<UUID кластера> --licenses
Как настроить кластер серверов 1С после установки
После установки сервера 1С служба «Агент сервера 1С:Предприятия 8.3» запускается автоматически, а кластер с портом 1541 создаётся по умолчанию. Дальше работа идёт в консоли администрирования серверов.
Шаг 1. Подготовьте консоль
Консоль — оснастка MMC. Если она не открывается или не видит сервер, зарегистрируйте библиотеку той версии платформы, что стоит на сервере. Командную строку запускайте от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\radmin.dll"
Номер версии подставьте свой. Версия консоли должна совпадать с версией сервера, иначе подключение не установится.
Шаг 2. Задайте администратора кластера
В дереве консоли откройте Кластеры → кластер → Администраторы и создайте администратора с паролем. Без этого кластером может управлять любой, кто дотянется до порта 1540.
Пароль администратора кластера запишите в хранилище паролей. Восстановить его штатно нельзя: потребуется остановить службу и вернуть файлы кластера из резервной копии.
Шаг 3. Создайте информационную базу
- В ветке
Информационные базынажмитеСоздать→Информационная база. - Укажите имя базы в кластере — его пользователи будут вводить при подключении.
- Выберите тип СУБД, сервер баз данных, имя базы в СУБД, пользователя и пароль СУБД.
- Поставьте флажок
Создать базу данных в случае ее отсутствия. - Если база будет копией рабочей — включите
Установить блокировку регламентных заданий, чтобы копия не начала обмены и загрузки за рабочую базу. - Загрузите в созданную базу выгрузку
.dtчерез Конфигуратор.
Пользователи подключаются тонким клиентом, в окне добавления базы выбирают вариант на сервере 1С:Предприятия и указывают имя сервера и имя базы. Строка подключения выглядит так:
Srvr="srv-1c";Ref="buh";
Шаг 4. Пройдитесь по свойствам рабочего сервера
Эти параметры находятся в свойствах рабочего сервера, ветка Рабочие серверы:
- ⚙️ Диапазон IP-портов рабочих процессов — тот, что открыт на межсетевом экране.
- ⚙️ Количество ИБ на процесс и Количество соединений на процесс — управляют тем, сколько баз и сеансов делят один
rphost. Значения по умолчанию подходят для начала. - ⚙️ Критический объём памяти процессов и Временно допустимый объём памяти процессов — пороги, после которых кластер перезапускает «распухшие» рабочие процессы.
- ⚙️ Менеджер под каждый сервис — выносит сервисы кластера в отдельные процессы; помогает при большой нагрузке.
- ⚙️ Требования назначения функциональности — какие задачи выполняет этот сервер, если серверов в кластере несколько.
В свойствах самого кластера задаются уровень отказоустойчивости, режим распределения нагрузки и интервал перезапуска рабочих процессов.
Обслуживание: что делать, чтобы сервер 1С не тормозил
Сервер 1С без регламента обслуживания со временем замедляется: растут индексы, устаревает статистика, копится кэш. Минимальный набор работ выглядит так.
Регламент на стороне СУБД
| Задача | MS SQL Server | PostgreSQL | Как часто |
|---|---|---|---|
| Обновление статистики | план обслуживания, задача обновления статистики | ANALYZE (часто через autovacuum) | ежедневно ночью |
| Перестроение индексов | план обслуживания, перестроение или реорганизация | REINDEX по необходимости | раз в неделю |
| Очистка «мёртвых» строк | не требуется | VACUUM | autovacuum + ручной при росте |
| Полная копия | план обслуживания или задание агента | pg_dump или физическая копия | ежедневно |
| Копия журнала транзакций | при модели восстановления «полная» | архивирование WAL | каждые 15–60 минут |
Копии средствами СУБД снимаются без отключения пользователей. Выгрузку .dt держите как дополнительную страховку перед обновлениями конфигурации, а не как основной способ копирования.
Регламент на стороне сервера 1С
- 🧹 Интервал перезапуска рабочих процессов в свойствах кластера — например, раз в сутки. Кластер поднимает новый процесс и плавно переводит на него сеансы.
- 🧹 Технологический журнал включают файлом
logcfg.xmlв каталогеconfплатформы, когда нужно поймать медленные запросы и взаимоблокировки. Постоянно на полной детализации его не держат: он быстро забивает диск. - 🧹 Обновление платформы — на сервере и всех клиентах до одного номера. Перед обновлением сервера снимите копию базы и проверьте релиз на копии.
- 🧹 Регламентные задания в базах, которые не должны работать, блокируйте в свойствах базы в консоли.
Очистка кэша кластера
Когда сервер ведёт себя странно после аварийного отключения — сеансы «висят», база не открывается, консоль показывает несуществующие соединения, — помогает очистка сеансовых данных в каталоге srvinfo.
- Предупредите пользователей: все сеансы будут разорваны, несохранённые данные пропадут. Делайте это вне рабочего времени.
- Остановите службу агента сервера 1С.
- Скопируйте каталог
srvinfoцеликом в резервное место. - В каталоге кластера
reg_1541удалите папки сеансовых данныхsnccntx…. Файлы реестра кластера1CV8Clst.lstи1CV8Reg.lstне трогайте — в них список баз и настройки. - Запустите службу и проверьте вход в базы.
Частые вопросы о сервере 1С
Можно ли поставить сервер 1С и СУБД на одну машину?
Нужен ли сервер 1С, если база работает через RDP?
Можно ли перенести файловую базу на сервер 1С без потерь?
.dt в Конфигураторе, создайте базу в кластере и загрузите выгрузку. Данные, пользователи и настройки переносятся целиком.