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

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

8400 руб.

20.08.2024    17070    119    59    

121

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

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

15000 руб.

10.11.2023    12453    49    33    

70

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

18000 руб.

06.12.2023    11378    48    8    

78

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

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

14400 руб.

29.04.2020    34316    109    152    

75

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

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

3600 руб.

06.02.2017    32850    145    18    

51

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

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

6000 руб.

06.11.2012    74089    629    45    

88

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10332    10    4    

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