Администрирование · 12 мин
Как развернуть 1С в клиент-серверном варианте
Как развернуть 1С в клиент-серверном варианте: выбор СУБД, установка сервера 1С:Предприятия, настройка кластера, создание базы и типичные ошибки.
Клиент-серверный вариант работы 1С:Предприятия становится необходимостью, когда с базой одновременно работает более 10–15 пользователей, объём данных исчисляется десятками гигабайт, а файловая база начинает «тормозить» и падать с ошибками. В этой архитектуре данные хранит система управления базами данных (СУБД), а логику приложения выполняет сервер 1С:Предприятия, который выступает посредником между клиентами и СУБД.
Развёртывание включает несколько обязательных этапов: выбор и установку СУБД, установку сервера 1С, настройку кластера, создание информационной базы и подключение пользователей. Каждый этап имеет свои подводные камни — от несовпадения разрядности компонентов до неправильных настроек памяти, из-за которых сервер работает медленнее, чем мог бы.
Ниже разобран полный цикл развёртывания на примере связки «сервер 1С + PostgreSQL» (наиболее распространённый и экономичный вариант) с пояснениями, где решения отличаются для MS SQL Server. Инструкция предполагает, что у вас есть дистрибутивы платформы, лицензии и права администратора на сервере.
Что понадобится перед началом работы
Для развёртывания потребуется выделенный сервер (физический или виртуальный) с 64-битной операционной системой — Windows Server или Linux. Минимально комфортная конфигурация для небольшой компании: 4–8 ядер CPU, 16–32 ГБ ОЗУ и быстрые диски SSD под базу данных. Точные требования зависят от числа пользователей и размера базы, поэтому закладывайте запас по памяти: СУБД эффективно использует доступную оперативную память под кэш.
Из программного обеспечения понадобятся: дистрибутив платформы 1С:Предприятия (компонент «Сервер 1С:Предприятия»), дистрибутив СУБД, лицензия на сервер 1С и клиентские лицензии. Учтите, что серверная лицензия 1С привязывается к аппаратным параметрам сервера — при существенном изменении конфигурации «железа» или переносе на другую машину её придётся активировать заново.
Выбор СУБД: PostgreSQL или MS SQL Server
1С:Предприятие поддерживает несколько СУБД, но на практике выбор почти всегда сводится к двум вариантам: PostgreSQL (с патчами от 1С или сборка PostgresPro) и Microsoft SQL Server. PostgreSQL бесплатен и хорошо справляется с нагрузкой малых и средних компаний, но требует обязательной установки специальных патчей — «ванильный» PostgreSQL с 1С не работает. MS SQL Server стоит заметных денег (лицензируется по ядрам или по пользователям), зато проще в администрировании и лучше документирован для типовых задач 1С.
Если бюджет ограничен и в штате есть специалист, готовый разбираться с Linux и настройкой PostgreSQL, — разумный выбор PostgreSQL. Если важна предсказуемость, есть администратор Windows и средства на лицензии — берите MS SQL. Производительность при грамотной настройке обоих вариантов для типовых конфигураций сопоставима.
Сравнение СУБД для 1С
Бесплатный, работает на Windows и Linux. Требует установки патчей и ручной настройки конфигурации. Подходит для малых и средних внедрений.
Платные лицензии, только Windows (или Linux в новых версиях). Проще администрирование, встроенные средства бэкапа и мониторинга. Подходит для средних и крупных баз.
Экзотика для крупных предприятий с существующей инфраструктурой этих вендоров. Для типового внедрения не рекомендуются.
Установка и настройка СУБД
Рассмотрим PostgreSQL. Скачайте дистрибутив с патчами с официального портала 1С (раздел обновлений) либо используйте сборку PostgresPro, сертифицированную для работы с 1С. При установке задайте пароль суперпользователя postgres и запомните его — он понадобится при создании базы. Локаль оставьте по умолчанию (C) либо выберите русскую, главное — учитывать её при создании базы данных.
После установки откройте файл postgresql.conf и скорректируйте ключевые параметры под объём оперативной памяти сервера. Ориентировочные значения для сервера с 16 ГБ ОЗУ: shared_buffers — около четверти памяти (4 ГБ), effective_cache_size — половина-две трети памяти, work_mem — 32–64 МБ, maintenance_work_mem — 512 МБ–1 ГБ. Также увеличьте max_connections с запасом: каждый рабочий процесс сервера 1С открывает несколько соединений с СУБД.
Для MS SQL Server установка проще: запустите установщик, выберите установку экземпляра Database Engine, задайте смешанный режим аутентификации и создайте учётную запись для 1С с правами на создание баз данных. Дополнительная тонкая настройка на старте не требуется — сервер сам распределяет память.
Установка сервера 1С:Предприятия
Запустите установщик платформы 1С:Предприятия на сервере и выберите компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия» (консоль кластера). Если планируете публиковать базы через веб — добавьте «Модули расширения веб-сервера». На Windows сервер устанавливается как служба «Агент сервера 1С:Предприятия», которая запускается под системной учётной записью USR1CV8 (создаётся при установке) либо под указанной вами учёткой.
После установки проверьте, что служба агента запущена, и откройте консоль администрирования серверов. По умолчанию создаётся локальный кластер с центральным сервером и рабочими процессами. Для небольших внедрений настроек по умолчанию достаточно; при росте нагрузки можно увеличить число рабочих процессов и настроить требования назначения функциональности.
Установите серверную лицензию 1С через конфигуратор или консоль кластера (программная лицензия активируется по пин-коду, аппаратный ключ HASP вставляется в USB-порт сервера). Без активной серверной лицензии база в клиент-серверном варианте не запустится, даже если клиентские лицензии есть.
- 1Установите и настройте СУБД, проверьте подключение к ней
- 2Установите компонент «Сервер 1С:Предприятия» той же разрядности, что и ОС
- 3Убедитесь, что служба агента сервера запущена
- 4Откройте консоль кластера и проверьте наличие центрального сервера и рабочих процессов
- 5Активируйте серверную лицензию 1С
- 6Создайте информационную базу и проверьте запуск в режиме предприятия
Создание информационной базы и перенос данных
Создать базу можно двумя способами. Первый — через конфигуратор: при добавлении новой базы выберите «Создание информационной базы», укажите тип «На сервере 1С:Предприятия», затем задайте имя сервера, имя базы данных, тип СУБД и учётные данные администратора СУБД. Платформа сама создаст пустую базу в СУБД. Второй способ — через консоль кластера: правый клик по узлу «Информационные базы» → «Создать» с теми же параметрами.
Перенос данных из файловой базы выполняется через механизм выгрузки/загрузки. Откройте файловую базу в конфигураторе, выполните «Администрирование → Выгрузить информационную базу» и сохраните файл .dt. Затем откройте новую пустую серверную базу в конфигураторе и выполните «Загрузить информационную базу», указав сохранённый файл. Для больших баз (десятки гигабайт) загрузка может занять часы — планируйте перенос на нерабочее время.
После загрузки обязательно выполните тестирование и исправление базы (хотя бы проверку логической целостности) и обновите конфигурацию базы данных, если платформа этого потребует. Затем создайте пользователей, назначьте права и проверьте вход под несколькими учётными записями одновременно.
Пример строки подключения клиента к серверной базе:
Srvr="srv1c";Ref="TradeBase";
(добавляется в список баз: тип — на сервере 1С:Предприятия,
сервер — srv1c, имя базы — TradeBase)Настройка резервного копирования и мониторинга
Главное преимущество клиент-серверного варианта — надёжные штатные средства резервного копирования на уровне СУБД. Настройте регулярный бэкап средствами самой СУБД: для PostgreSQL — задание pg_dump или базовый бэкап pg_basebackup по расписанию через планировщик, для MS SQL — план обслуживания с полным бэкапом ежедневно и бэкапом журнала транзакций несколько раз в день. Не полагайтесь на выгрузку .dt как на единственный бэкап: это медленный способ, не гарантирующий целостность при открытых транзакциях.
Проверяйте восстановление из копии хотя бы изредка на тестовом стенде — бэкап, который ни разу не восстанавливался, нельзя считать рабочим. Храните копии на отдельном носителе или в сетевом хранилище, а не на диске самого сервера баз данных.
Для наблюдения за работой используйте консоль кластера (загрузка рабочих процессов, активные сеансы), журнал регистрации 1С и системные счётчики производительности. Признаки проблем: рост времени отклика, ошибки взаимоблокировок в журнале, упирающийся в 100% диск или память. Эти симптомы — повод заняться оптимизацией запросов и настроек СУБД, а не просто добавлять мощности.
Как проверить результат развёртывания
База открывается в режиме предприятия без ошибок, сеанс виден в консоли кластера
Ошибка «информационная база не обнаружена» или требование лицензии
5–10 пользователей работают одновременно без зависаний и конфликтов блокировок
Частые ошибки «конфликт блокировок» и таймауты
Тестовое восстановление бэкапа проходит успешно на копии сервера
Бэкап не восстанавливается или восстанавливается с ошибками
Типичные ошибки при развёртывании
Самая частая проблема — попытка создать базу под PostgreSQL без установленных патчей 1С: платформа выдаёт ошибку несовместимости версий СУБД. Вторая по популярности — несовпадение разрядности сервера 1С и СУБД, из-за чего сервер 1С не видит СУБД или падает при подключении. Третья — недостаток прав: учётная запись, от имени которой создаётся база, должна иметь право создавать базы данных в СУБД.
Отдельный класс ошибок связан с производительностью: настройки PostgreSQL «из коробки» рассчитаны на слабое оборудование, и без корректировки postgresql.conf база работает в разы медленнее возможного. Также часто забывают про антивирус: исключите каталоги СУБД и сервера 1С из проверки в реальном времени, иначе получите постоянные задержки при обращении к файлам данных.
Когда клиент-серверный вариант не нужен
Если с базой работают до 5–10 пользователей, объём данных невелик и никто не жалуется на скорость — файловый вариант проще и дешевле: не нужны лицензия на сервер 1С, СУБД и её администрирование. Переход на клиент-сервер оправдан при росте числа пользователей, необходимости регламентных заданий без блокировки работы, требованиях к разграничению доступа на уровне СУБД и объёмах базы, при которых файловый вариант становится нестабильным.
Промежуточная альтернатива — 1С:Фреш или аренда готового сервера 1С у хостинг-провайдера: вы получаете клиент-серверную архитектуру без необходимости содержать собственное железо и администрировать СУБД. Это разумный вариант для компаний без системного администратора в штате.
Что важно запомнить
Развёртывание клиент-серверной 1С — это цепочка: СУБД с правильными настройками → сервер 1С той же разрядности → серверная лицензия → создание базы → перенос данных через .dt → настройка бэкапов средствами СУБД. Большинство проблем возникает из-за отсутствия патчей PostgreSQL, несовпадения разрядности и настроек памяти по умолчанию.
Частые вопросы
Можно ли разместить сервер 1С и СУБД на разных машинах?
Да, это даже рекомендуется при высокой нагрузке: сервер 1С и СУБД конкурируют за память и процессор. На старте с небольшим числом пользователей допустимо размещение на одном сервере, но с ростом нагрузки компоненты лучше разнести, обеспечив быструю сеть между ними.
Нужна ли отдельная лицензия на сервер 1С?
Да. Клиентские лицензии определяют число одновременных подключений, а серверная лицензия — саму возможность работы сервера 1С:Предприятия. Без неё клиент-серверная база не запустится. Исключение — сервер уровня «мини» на ограниченное число подключений, который поставляется в некоторых комплектах.
Как перенести базу обратно из клиент-серверного в файловый вариант?
Тем же механизмом выгрузки/загрузки: выгрузите базу в файл .dt через конфигуратор на серверной базе, создайте пустую файловую базу и загрузите в неё этот файл. Учтите ограничения файлового формата по размеру отдельных таблиц — очень большие базы могут не загрузиться.
Сколько памяти выделять под PostgreSQL на сервере 1С?
Общий принцип: shared_buffers — около четверти оперативной памяти, effective_cache_size — половина-две трети. Остальное оставьте операционной системе и серверу 1С, если он на той же машине. Точные значения подбираются под конкретную нагрузку по результатам мониторинга.
Что делать, если при создании базы появляется ошибка несовместимости версий СУБД?
Это почти всегда означает, что PostgreSQL установлен без патчей 1С. Удалите «ванильную» сборку и установите дистрибутив с портала 1С либо сертифицированную сборку PostgresPro, затем повторите создание базы.
Можно ли обновлять платформу без остановки работы пользователей?
Полноценно — нет: обновление платформы на сервере требует перезапуска службы агента и завершения сеансов. Минимизировать простой помогает планирование обновлений на нерабочее время и предварительное оповещение пользователей. Обновление конфигурации в режиме динамического обновления возможно без разрыва сеансов, но только для незначительных изменений структуры.