Вопрос разделения «боевой» (рабочей) и тестовой сред является фундаментальным для обеспечения стабильности бизнеса. Работа в режиме отладки непосредственно на рабочей базе данных — это риск не только снижения производительности, но и критических сбоев. Рассмотрим подробно, как решить вопрос лицензирования и технического обустройства тестового контура, особенно при использовании операционных систем семейства Linux.
Прежде чем переходить к лицензированию, проанализируем причины, по которым совмещение баз на одном физическом или виртуальном сервере считается плохой практикой:
-debug или -http) на рабочем сервере приводит к заметному падению быстродействия. При большом количестве пользователей (от 30-40 сеансов) это может стать критичным.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, ДО КОРП) файловый режим для тестов подходит редко.
Поскольку мы рассматриваем работу на CentOS 7, уделим внимание настройке PostgreSQL. Не используйте стандартные пакеты PostgreSQL из репозиториев ОС, так как они не содержат необходимых патчей для корректной работы блокировок 1С.
Рекомендуется использовать:
При настройке тестового контура на Linux полезно использовать скрипты для автоматического восстановления копии базы из .dt или средствами СУБД. Пример структуры скрипта для очистки сеансов перед загрузкой:
# Остановка службы сервера 1С для полной очистки соединений
systemctl stop srv1cv83
# Выполнение операций с БД на уровне PostgreSQL
dropdb -U postgres test_db
createdb -U postgres -O enterprise_user test_db
# Запуск службы
systemctl start srv1cv83
Подведем итог и составим план действий для правильной организации среды:
/etc/sysconfig/srv1cv83 (для RPM-систем) добавьте параметр SRV1CV8_DEBUG=1. На боевом сервере этот параметр должен быть отключен.Таким образом, мы обеспечим независимость сред, высокую скорость работы пользователей и соблюдение лицензионной чистоты программного обеспечения.