Как правильно организовать и лицензировать тестовую базу 1С:Предприятие 8 отдельно от боевой?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Вопрос разделения «боевой» (рабочей) и тестовой сред является фундаментальным для обеспечения стабильности бизнеса. Работа в режиме отладки непосредственно на рабочей базе данных — это риск не только снижения производительности, но и критических сбоев. Рассмотрим подробно, как решить вопрос лицензирования и технического обустройства тестового контура, особенно при использовании операционных систем семейства Linux.

Зачем разделять боевую и тестовую базы?

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

  1. Производительность: Включение режима отладки (параметр -debug или -http) на рабочем сервере приводит к заметному падению быстродействия. При большом количестве пользователей (от 30-40 сеансов) это может стать критичным.
  2. Блокировки: При остановке кода на «точке останова» в конфигураторе разработчик может заблокировать таблицы базы данных, что остановит работу пользователей в продуктивной среде.
  3. Риск падения сервера: Ошибки в коде или тяжелые запросы на тестовой базе могут вызвать чрезмерное потребление памяти или аварийное завершение процессов rphost, что затронет всех пользователей сервера.

Варианты лицензирования серверной части

Рассмотрим ситуацию, когда необходимо разместить базы на разных виртуальных машинах под управлением Linux (например, CentOS 7 или аналоги). Выясним, какие существуют юридические и технические пути.

1. Использование одной серверной лицензии на одном сервере.
Если вы создаете несколько баз в рамках одного кластера 1С на одном сервере, вам достаточно одной лицензии на сервер 1С. Лицензия привязывается к параметрам железа (или виртуальной машины), а не к количеству баз данных. Это самый экономичный, но наименее безопасный вариант с точки зрения отказоустойчивости.

2. Использование «Мини-сервера» для тестов.
Для тестового контура отличным решением является покупка лицензии «1С:Предприятие 8.3. Сервер МИНИ на 5 подключений». Это полнофункциональный сервер 1С, имеющий лишь два ограничения: не более 5 сеансов пользователей и не более 1 рабочего процесса rphost. Для задач разработки и тестирования одного-двух специалистов этого более чем достаточно.

3. Технологическая «дыра» в Linux-версии.
Разберем технический нюанс: сервер 1С на ОС Linux может запускаться без лицензии, позволяя создавать один рабочий процесс и до 12 клиентских соединений. Однако важно понимать, что это не дает права на легальное использование ПО без покупки лицензии. С точки зрения лицензионного соглашения, любой экземпляр сервера (ragent), запущенный на отдельной ОС или порту, требует наличия купленной лицензии.

4. Комплект специалиста по разработке.
Для официальных партнеров и сертифицированных специалистов существует продукт «1С:Предприятие 8. Комплект специалиста по разработке и внедрению». Он включает в себя серверную лицензию и клиентскую лицензию на одно рабочее место по очень доступной цене. Проанализируйте возможность приобретения такого комплекта, если ваша деятельность связана с постоянной разработкой.

Архитектура с сервером лицензирования

Рассмотрим ситуацию, когда у вас есть пул клиентских лицензий и вы хотите распределить их между боевым и тестовым сервером. Для этого можно выделить отдельную виртуальную машину под Сервер лицензирования.

Разберем особенности этой схемы:

Технические ограничения файлового режима

Иногда возникает соблазн вынести тестовую базу в файловый вариант (файл 1Cv8.1CD), чтобы сэкономить на лицензии сервера. Выясним, с какими ограничениями вы можете столкнуться.

Основная проблема файлового режима — лимит на размер одной таблицы (например, таблицы движений регистров накопления или таблицы длинных строк). Посмотрим на цифры:

Проанализируем ситуацию, когда база в SQL занимает 50-100 Гб. В файловом варианте она может работать, только если данные распределены равномерно. Если же одна таблица (например, _InfoRegXXXX) превысит лимит, база перестанет открываться или будет выдавать ошибку при попытке записи. Для современных тяжелых конфигураций (ERP, КА 2, ДО КОРП) файловый режим для тестов подходит редко.

Рекомендации по настройке СУБД для 1С на Linux

Поскольку мы рассматриваем работу на CentOS 7, уделим внимание настройке PostgreSQL. Не используйте стандартные пакеты PostgreSQL из репозиториев ОС, так как они не содержат необходимых патчей для корректной работы блокировок 1С.

Рекомендуется использовать:

  1. Бесплатные сборки PostgreSQL от компании «1С» (доступны на портале ИТС).
  2. Сборки от Postgres Professional (Postgres Pro Standard).

При настройке тестового контура на Linux полезно использовать скрипты для автоматического восстановления копии базы из .dt или средствами СУБД. Пример структуры скрипта для очистки сеансов перед загрузкой:


# Остановка службы сервера 1С для полной очистки соединений
systemctl stop srv1cv83

# Выполнение операций с БД на уровне PostgreSQL
dropdb -U postgres test_db
createdb -U postgres -O enterprise_user test_db

# Запуск службы
systemctl start srv1cv83

Итоговый алгоритм действий

Подведем итог и составим план действий для правильной организации среды:

  1. Разделение машин: Создайте две разные виртуальные машины. Одну для боевой СУБД и сервера 1С, вторую — для тестовых целей.
  2. Лицензирование сервера: Купите полноценную лицензию на сервер для боевой базы и лицензию «Мини-сервер» (на 5 подключений) для тестовой. Это юридически чистое и технически надежное решение.
  3. Клиентские лицензии: Используйте многопользовательские программные ключи. Их можно активировать либо на серверах, либо использовать сервер лицензирования для раздачи из общего пула.
  4. Отладка: На тестовом сервере в файле конфигурации /etc/sysconfig/srv1cv83 (для RPM-систем) добавьте параметр SRV1CV8_DEBUG=1. На боевом сервере этот параметр должен быть отключен.
  5. Изоляция: Убедитесь, что тестовая база при запуске не обращается к боевым ресурсам (внешние источники данных, почтовые серверы, веб-сервисы интеграции). Для этого используйте обработку «Блокировка регламентных заданий».

Таким образом, мы обеспечим независимость сред, высокую скорость работы пользователей и соблюдение лицензионной чистоты программного обеспечения.

← На главную