Запуск нескольких экземпляров сервера 1С Предприятия 8.3 разных релизов на одном Linux-сервере

05.09.19

База данных - Инструменты администратора БД

Несколько слов о том, КАК это сделать, для тех кто сильно далек от GNU/Linux.

0. Общие моменты

Весь нижеследующий материал излагается с расчетом на то, что читатель как минимум заглядывал в Клиент-серверный вариант. Руководство администратора. В данном руководстве даже есть глава "4.3. Обеспечение совместной работы нескольких серверных процессов", в которой в свою очередь есть раздел 4.3.3. Для ОС Linux, однако, он не дает ответа на вопрос, обозначенный в заголовке статьи.

Теперь к сути! Специфика пакетных менеджеров, используемых в GNU/Linux для установки (обновления) программного обеспечения, такова, что зачастую отсутсвует возможность установить две разные версии одного и того же пакета. Так дело обстоит и с пакетами технологической платформы 1С Предприятия - устанавливая новую версию (новый релиз), происходит обновление (замена) пакета предыдущей версии.

Для специалистов, долгое время работавших с MS Windows, такое положение дел выглядит непривычным (необычным, непонятным, ...). Т.к. бывает удобно, когда у тебя одновременно установленно два (а может больше, ведь кто удаляет старые версии платформы?! ;) ) разных релиза платформы и ты можешь быстро "переключиться" между ними, либо запустить одновременно несколько серверов 1С Предприятия разных релизов.

В GNU/Linux "напрямую" такая возможность отсутствует, что конечно печалит некоторых коллег. Посему, постараюсь показать, что в решении данной задачи нет ничего сложного, НО ... Да - это "костыль" ...

Для решения обозначенной задачи нам надо определиться со следующими моментами:
а. На каких сетевых портах будут работать компоненты кластера 1С Предприятия (ragent, rmngr и rphost) каждого из экземпляров;
б. Место размещения каталога кластера каждого из экземпляров.

Дабы внести некую определенность, будем отталкиваться от следующих вводных:
1. Используемые релизы платформы 8.3.13.1644 и 8.3.13.1809 (могут быть любые другие). В нашем случае принципиально только то, что оба релиза версии 8.3, ибо одновременно установить версии 8.2 и 8.3 не составляет проблем;
2. Каталоги кластеров располагаются в /home/1C/first и /home/1C/second, соответственно;
3. Компоненты кластера работают на следующих сетевых портах: релиз 8.3.13.1809 на 1540,1541,1560-1590; релиз 8.3.13.1644 на 2540,2541,2560-2590;
4. Речь пойдет о x64-платформе, установленной на CentOS, но предлагаемый сценарий легко перенести на любой другой дистрибутив с некоторыми исправлениями.

ВАЖНО: Ответственность за любые последствия, возникшие в результате внесения изменений в работающую систему по материалам данной статьи, лежат исключительно на лице, внесшим данные изменения!

1. Подготовка окружения

1. Устанавливаем пакеты платформы релиза 8.3.13.1644 обычным способом;
2. Останавливаем, если запущен, сервер 1С Предприятия;
3. Копируем файл /etc/sysconfig/srv1cv83 в файл /etc/sysconfig/srv1cv83131644;
4. Копируем файл /etc/init.d/srv1cv83 в файл /etc/init.d/srv1cv83131644 (в нашем случае важно, чтобы имена новых файлов из п. 2 и п. 3 совпадали);
5. Рекурсивно копируем каталог /opt/1C/v8.3/x86_64/ в каталог /opt/1C/v8.3.13.1644/x86_64/;
6. Устанавливаем обычным образом пакеты релиза 8.3.13.1809;
7. В файле /etc/sysconfig/srv1cv83131644 меняем следующие параметры:

SRV1CV8_PORT=2540
SRV1CV8_REGPORT=2541
SRV1CV8_RANGE=2560:2591
SRV1CV8_DATA=/home/1C/second

8. В файле /etc/init.d/srv1cv83131644 меняем следующие строки:

G_BINDIR="/opt/1C/v${G_VER_MAJOR}.${G_VER_MINOR}.${G_VER_BUILD}.${G_VER_RELEASE}/${G_VER_ARCH}"

[ -z "$SRV1CV8_PIDFILE"   ] && SRV1CV8_PIDFILE="/var/run/srv1cv${G_VER_MAJOR}${G_VER_MINOR}${G_VER_BUILD}${G_VER_RELEASE}.pid"

9. В файле /etc/sysconfig/srv1cv83 меняем следующие строки:

SRV1CV8_DATA=/home/1C/first

10. Создаем каталоги /home/1C/first и /home/1C/second;
11. Устанавливаем владельцем на каталог /home/1C с подкаталогами пользователя usr1cv8 (man 1 chown в помощь).

2. Активация и запуск сервисов

Чтобы сервис для релиза 8.3.13.1644 запускался самостоятельно при загрузке системы необходимо выполнить команду:

$ sudo systemctl enable srv1cv83131644

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

$ sudo systemctl start srv1cv83
$ sudo systemctl start srv1cv83131644

После чего необходимо убедиться, что необходимые сервисы запустились и работают. Для этого можно прибегнуть к командам ps и/или pgrep (man 1 ps и man 1 pgrep в помощь), или к класическому service status <имя_сервиса>.

ВАЖНО: С помощью административной консоли (или ras/rac) требуется создать (проверить наличие) кластеров на каждом экземпляре сервера 1С Предприятия!

3. Резюме

Мы получили два сервиса: srv1cv83 для запуска сервера 1С Предприятия релиза 8.3.13.1809 и srv1cv83.13.1644 для запуска сервера 1С Предприятия релиза 8.3.13.1644 (файлы запуска /etc/init.d/srv1cv83 и /etc/init.d/srv1cv83131644 соответственно).

Получили два конфигурационных файла для сервера 1С Предприятия: /etc/sysconfig/srv1cv83131644 - для релиза 8.3.13.1644 и /etc/sysconfig/srv1cv83 - для релиза 8.3.13.1809.

Получили два каталога кластера 1С Предприятия: /home/1C/second - для релиза 8.3.13.1644 и /home/1C/first - для релиза 8.3.13.1809.

Для чего все это было надо? Думаю, каждый сам ответит для себя на этот вопрос ;)

P.S. Есть конструктивная критика? Всегда рад услышать!

кластер сервер сервис linux

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2766    11    1    

30

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    3253    10    1    

31

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177356    1071    0    

846

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27178    78    146    

59

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11706    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31042    31    18    

47

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61228    87    59    

72

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10897    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Sedaiko 571 09.09.19 12:47 Сейчас в теме
Спасибо за статью. Как раз планировал реализовать подобное в ближайшее время. Теперь не придется изобретать велосипед
2. starik-2005 3031 10.09.19 20:36 Сейчас в теме
3. Sloth 379 11.09.19 07:27 Сейчас в теме
(2) в отношении докера убедился на себе, когда не очень хорошо понимаешь (или не понимаешь совсем) как оно работает, то это может привнести дополнительные трудно диагностируемые плюшки, которых в обычном варианте развертывания никогда не словил бы ...
В общем же случае, каждый выбирает тот вариант который считает удобным для себя ;)
4. starik-2005 3031 11.09.19 12:15 Сейчас в теме
(3) Докер позволяет на любой хост-системе поднять независимое окружение, в котором., в свою очередь, как в песочнице будет запущено любое ПО, совместимое с окружением. Если 1С отлично встает на убунту, а у нас какой-нить альт-линух, то образ с убунту и предустановленной в нем платформе может решать проблему совместимости и переносимости. Также несколько контейнеров могут позволить запустить совершенно любые версии ПО, для которых собирается свой докер-контейнер. И порты трогать не надо - все переопределяется для конкретного контейнера (для первого - базовые порты, для второго - переопределенные). Т.е. переопределение производится в настройке контейнера, а не ПО.
5. Sloth 379 11.09.19 12:27 Сейчас в теме
(4) преимущества контейнеров не оспариваю :) Просто надо учитывать определенные моменты ну и читать документацию перед тем, как начать пользоваться ;)
6. letarch 05.12.19 20:01 Сейчас в теме
оба процесса работают от одного пользователя? Я делал под каждый сервис своего юзера
7. Sloth 379 11.12.19 07:36 Сейчас в теме
(6) Какие реальные доводы для использования разных пользователей?
8. ansh15 11.12.19 10:52 Сейчас в теме
(7) Это позволит установить для каждой инсталляции сервера приложений свой собственный каталог для временных файлов.
Без этого все временные файлы будут создаваться в каталоге /tmp, по умолчанию, что может создать перебои в работе серверов приложений.
Несколько лет назад приходилось держать на одном сервере как 8.2 и 8.3, так и две платформы 8.3 различных версий. При использовании ими всеми одного каталога временных файлов /tmp, регулярно возникали ошибки, вплоть до аварийного завершения рабочих процессов, после разнесения каталогов временных файлов работа нормализовалась.
9. Sloth 379 11.12.19 12:38 Сейчас в теме
(8) Спасибо за информацию! Интересно ...
10. letarch 11.12.19 19:58 Сейчас в теме
(7)сделал на основе инструкции с ИТС для системы взаимодействия, там под каждый сервис свою юзер. Может там найдёте и доводы, если интересно )))
11. Sloth 379 15.12.19 23:37 Сейчас в теме
(10) СВ - это совсем другая история, ИМХО.
Однако, делая что-то по инструкции, хотелось бы не просто "копипастить", а понимать зачем нужно то или иное действие ...
12. rastle 12.11.21 13:47 Сейчас в теме
А запуск двух версий сервера одного релиза возможен?
13. Sloth 379 16.11.21 14:44 Сейчас в теме
(12) это как? Двух сервисов в смысле? Так все то же самое ... сделали сим-линки и запускай что хочешь, как хочешь ...
14. user1921424 13.03.23 19:17 Сейчас в теме
Подскажите, как быть с версиями 8.3.21 и старше? В этих версиях изменился способ регистрации юнита и т.д. Есть ли подобный способ для этих версий?
15. pumazavr 04.08.23 10:36 Сейчас в теме
(14)
с версиями 8.3.21 и старше? В этих версиях изменился способ регистрации юнита и т.д

нашли решение?
16. Sloth 379 04.08.23 14:56 Сейчас в теме
Оставьте свое сообщение