Переход на клиент-серверную архитектуру является неизбежным этапом развития любой компании, когда количество пользователей базы данных превышает 5–10 человек или когда файлы базы становятся слишком громоздкими для надежной работы в файловом варианте. В такой конфигурации вычислительная нагрузка распределяется между рабочими станциями пользователей и выделенным сервером приложений, что существенно повышает отказоустойчивость и скорость обработки транзакций.

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

В данной статье мы последовательно разберем все этапы внедрения серверной версии 1С:Предприятие 8.3, начиная с выбора операционной системы и заканчивая тонкой настройкой кластера серверов. Вы узнаете, как правильно подготовить окружение, какие компоненты необходимо инсталлировать в первую очередь и как избежать типичных ошибок администрирования.

Подготовка серверной инфраструктуры и выбор СУБД

Первым шагом является выбор операционной системы для сервера приложений. Хотя платформа 1С:Предприятие поддерживает различные ОС, в корпоративном сегменте стандартом де-факто стала операционная система Linux (чаще всего дистрибутивы на базе Debian или CentOS) в связке с СУБД PostgreSQL. Такое сочетание обеспечивает максимальную стабильность и не требует затрат на лицензирование серверной операционной системы.

Выбор системы управления базами данных (СУБД) напрямую влияет на производительность. Для серверного варианта чаще всего выбирают MS SQL Server или PostgreSQL. Первый вариант традиционно считается более простым в администрировании для специалистов, знакомых с экосистемой Microsoft, но требует покупки лицензий.

⚠️ Внимание: Версии сервера 1С и сервера СУБД должны быть строго совместимы. Использование слишком новой версии PostgreSQL со старым релизом платформы 1С может привести к ошибкам при создании базы данных или некорректной работе запросов. Всегда сверяйте таблицу совместимости на официальном сайте поддержки.

Аппаратные требования к серверу должны учитывать количество одновременных пользователей и объем обрабатываемых данных. Недостаток оперативной памяти приведет к активному использованию файла подкачки, что критически снизит скорость работы системы. Рекомендуется выделять не менее 2 ГБ оперативной памяти на каждое ядро процессора, если речь идет о нагруженных системах.

📊 Какую СУБД вы планируете использовать?
PostgreSQL
MS SQL Server
IBM DB2
Oracle
Не знаю, нужен совет

Установка сервера 1С:Предприятие на Linux

Процесс инсталляции серверной части в среде Linux отличается от установки в Windows отсутствием привычного графического мастера установки в большинстве случаев. Часто администраторы используют консольные команды или скрипты для автоматизации процесса, что позволяет быстрее развернуть инфраструктуру на нескольких узлах.

После загрузки дистрибутива платформы для Linux необходимо распаковать архив и запустить скрипт установки. Ключевым моментом здесь является правильный выбор компонентов: обязательно должны быть установлены сервер 1С:Предприятия и менеджер серверов 1С:Предприятия. Без менеджера кластер серверов не сможет управлять соединениями и распределением ресурсов.

В ходе установки система запросит создание специального системного пользователя, от имени которого будут запускаться процессы 1С. Обычно это пользователь usr1cv8. Крайне важно настроить права доступа к директориям так, чтобы этот пользователь имел полные права на запись в каталоги журналов регистрации и временных файлов.

  • 📦 Скачайте дистрибутив сервера 1С для вашей архитектуры (x86_64) с официального сайта.
  • 🔐 Создайте пользователя usr1cv8 и задайте ему надежный пароль для доступа к кластеру.
  • ⚙️ Убедитесь, что установлены все необходимые системные библиотеки, такие как libicu и libssl.
💡

Для упрощения обновлений в будущем используйте пакетный менеджер (apt или yum), добавив репозиторий фирмы 1С в список источников ПО вашей операционной системы.

После завершения установки службы необходимо запустить и добавить в автозагрузку. Команда запуска может отличаться в зависимости от используемой системы инициализации (systemd или sysvinit). Проверить статус службы можно через команду systemctl status srv1cv8.

Настройка СУБД PostgreSQL для работы с 1С

Установка и настройка PostgreSQL требует особого внимания к параметрам конфигурационного файла postgresql.conf. Стандартные настройки, предлагаемые при инсталляции, ориентированы на общие задачи и не учитывают специфику работы с платформой 1С:Предприятие, которая генерирует специфические запросы.

Необходимо увеличить параметр shared_buffers, который определяет объем оперативной памяти, выделяемой для кэширования данных базы. Оптимальное значение обычно составляет около 25% от всей доступной оперативной памяти сервера, но не более 8 ГБ, так как дальнейшее увеличение может не дать прироста производительности из-за особенностей кэширования ОС.

shared_buffers = 4GB

work_mem = 64MB

maintenance_work_mem = 512MB

effective_cache_size = 12GB

Также критически важным является настройка параметра max_connections. Он должен быть достаточным для покрытия всех возможных подключений от сервера 1С, но не чрезмерным, чтобы не расходовать лишнюю память. Каждое соединение потребляет определенный объем ресурсов, и их избыток может привести к исчерпанию памяти сервером СУБД.

Почему важна настройка autovacuum?

Процесс autovacuum в PostgreSQL отвечает за очистку базы от устаревших версий строк (MVCC). В 1С данные часто обновляются, и без правильной настройки этот процесс может либо нагружать диск, либо не успевать очищать базу, что приводит к её раздуванию и замедлению выборки данных.

Не забудьте настроить файлы аутентификации pg_hba.conf, разрешив подключение к базе данных только с IP-адреса сервера 1С. Это базовая мера безопасности, предотвращающая несанкционированный доступ к данным из внешней сети.

Создание и настройка кластера серверов 1С

Кластер серверов 1С — это логическая структура, управляющая всеми взаимодействиями между клиентами, сервером приложений и СУБД. Администрирование кластера осуществляется через утилиту командной строки rac (Remote Administration Console) или через графическую консоль администрирования.

Первым действием после установки является создание самого кластера. Для этого используется команда rac cluster create, где необходимо указать имя хоста, порт центрального сервера (по умолчанию 1541) и пароль администратора кластера. Этот пароль потребуется для любых последующих операций управления.

Параметр Значение по умолчанию Рекомендация Описание
Порт кластера 1541 Оставить без изменений Порт для управления кластером
Порт рабочих процессов 1540-1590 Диапазон 1560-1580 Порты для rphost (исполнительных процессов)
Порт сервера 1545 Оставить без изменений Порт основного процесса rmngr
Интервал пинга 300 сек 60-120 сек Частота проверки доступности клиентов

После создания кластера в нем необходимо зарегистрировать рабочий сервер. В простых конфигурациях, где все установлено на одной машине, имя рабочего сервера совпадает с именем хоста. В распределенных системах на один кластер может быть зарегистрировано несколько рабочих серверов для балансировки нагрузки.

⚠️ Внимание: При изменении настроек кластера (например, портов или имен хостов) необходимо перезапускать службы сервера 1С. Изменения не применяются "на лету" для уже запущенных процессов rmngr, что может привести к рассинхронизации конфигурации.

☑️ Проверка кластера

Выполнено: 0 / 4

Создание информационной базы и подключение клиентов

Финальным этапом развертывания является создание самой информационной базы (ИБ) в кластере. Это действие связывает логическое имя базы, видимое пользователям в списке 1С, с физической базой данных в СУБД. Операция выполняется через консоль администрирования или утилиту rac.

При создании базы необходимо указать тип СУБД, имя сервера базы данных, имя пользователя СУБД (обычно postgres или специально созданный пользователь 1С) и его пароль. Также задается имя базы данных в терминах СУБД и синоним базы для списка 1С.

После создания пустой базы в кластере, к ней можно подключить типовой конфигуратор или загрузить выгрузку из файла (dt).

  • 🔗 Запустите консоль администрирования 1С и подключитесь к созданному кластеру.
  • 🗄️ В контекстном меню кластера выберите "Создать" → "Информационная база".
  • 📝 Введите параметры подключения к PostgreSQL и имя новой базы.
  • 🚀 Запустите 1С в режиме Конфигуратор для загрузки конфигурации или обновления базы данных.

Для подключения тонкого клиента пользователи в строке запуска должны указать адрес сервера в формате srvname\basename или выбрать базу из списка, если используется публикация через веб-сервер. Прямое подключение к файлу базы в этом режиме невозможно и будет заблокировано системой.

💡

Информационная база в клиент-серверном варианте физически не существует в виде одного файла на диске; она представляет собой набор таблиц в СУБД и файлов хранилища, управляемых сервером 1С.

Лицензирование и безопасность серверного варианта

Вопрос лицензирования в серверном варианте имеет свои особенности. Лицензии могут располагаться как на сервере защиты (USB-ключ или программная пин-код лицензия), так и на рабочих местах пользователей. Сервер 1С при запуске сеанса проверяет наличие свободной лицензии в сети.

Для корректной работы необходимо, чтобы служба защиты лицензий (hasplms для ключей или 1C:License Manager для программных лицензий) была запущена и доступна по сети. Если сервер 1С не находит лицензию, он не позволит пользователям подключиться к базе, выдав соответствующую ошибку.

С точки зрения безопасности, критически важно ограничить доступ к портам сервера 1С (1540-1545) и портам СУБД (5432 для PostgreSQL) только из внутренней сети доверенных узлов. Открытие этих портов в интернет без использования VPN или шлюза терминального доступа является грубой ошибкой, ведущей к риску утечки данных.

⚠️ Внимание: Регулярно обновляйте правила брандмауэра. Смена IP-адресов рабочих станций или добавление новых подсетей требует актуализации настроек безопасности, чтобы легитимные пользователи не потеряли доступ к системе.

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

Часто задаваемые вопросы (FAQ)

Можно ли перевести существующую файловую базу 1С в клиент-серверный вариант?

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

Сколько пользователей может одновременно работать в серверном варианте?

Технических ограничений со стороны платформы 1С на количество подключений нет, оно ограничивается только аппаратными ресурсами сервера и количеством приобретенных клиентских лицензий. На практике, правильно настроенный сервер на базе Linux и PostgreSQL может комфортно обслуживать 50–100 и более одновременных пользователей.

Что делать, если сервер 1С не видит лицензию на ключе?

Проверьте, установлена ли и запущена ли служба защиты лицензий (HASP License Manager). Убедитесь, что ключ физически подключен к серверу (или серверу лицензий) и определяется системой. Также проверьте настройки файла nethasp.ini, если используется сетевой ключ, чтобы сервер 1С знал, где искать лицензию.

Обязательно ли использовать Linux для сервера 1С?

Нет, не обязательно. Сервер 1С:Предприятие отлично работает и под управлением Windows Server. Выбор ОС зависит от квалификации администраторов, существующей инфраструктуры и бюджетных ограничений (лицензии на Windows Server стоят денег, в то время как большинство дистрибутивов Linux бесплатны).

Как часто нужно делать резервное копирование серверной базы?

Резервное копирование следует выполнять ежедневно. Для PostgreSQL это можно делать средствами СУБД (утилита pg_dump) или с помощью специализированных агентов резервного копирования. Важно также регулярно проверять целостность резервных копий, пробуя восстановить из них базу на тестовом стенде.