Запуск нескольких экземпляров сервера 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С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    52076    291    145    

264

SALE! %

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

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

17000 16000 руб.

10.11.2023    21471    84    42    

96

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    19150    70    10    

103

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

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

14400 руб.

29.04.2020    41055    123    152    

84

Инструменты администратора БД Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

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

12000 руб.

06.02.2017    34558    148    18    

53

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    77201    633    45    

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