Глава 4. Запуск компонентов системы
4.1. Общая информация
При установке «1С:Предприятия» в меню Пуск ‑ Программы будет создана следующая структура (приводится для ОС Windows 10):
Копировать в буфер обмена1С Предприятие 1С Предприятие 8 (папка) 1C Предприятие (A.B.C.D) ReadMe - Дополнительная информация Регистрация утилиты администрирования серверов (A.B.C.D) Администрирование серверов 1С Предприятия Запуск сервера (A.B.C.D) Установка драйвера защиты Удаление драйвера защиты
В вышеприведенном списке:
|
Пункт |
Назначение |
|
Установка драйвера защиты |
Запуск установки драйвера защиты |
|
Удаление драйвера защиты |
Запуск удаления драйвера защиты |
|
ReadMe ‑ Дополнительная информация |
Дополнительная информация, не вошедшая в документацию |
|
Администрирование серверов 1С Предприятия |
Утилита администрирования кластера серверов (если были установлены компоненты доступа к кластеру серверов «1С:Предприятия») |
|
Запуск сервера (A.B.C.D) |
Запуск сервера «1С:Предприятия» как сервиса (если при установке сервера был установлен флажок Установить сервер 1С:Предприятия 8 как сервис Windows) или как приложения (если при установке сервера не был установлен флажок Установить сервер 1С:Предприятия 8 как сервис Windows). Остановка сервера в этом случае выполняется как закрытие обычного приложения. |
|
Регистрация утилиты администрирования серверов (A.B.C.D) |
Выполняет регистрацию утилиты администрирования серверов «1С:Предприятия» (radmin.dll) конкретной версии, после чего можно подключаться к серверам этой версии с помощью утилиты администрирования. |
В данной таблице:
● Указание имени какой-либо программы без указания версии означает, что будет использовать программа или файл из той версии, которая была установлена последней в хронологическом порядке.
● Указание рядом с именем программы конструкции вида (A.B.C.D) означает, что в меню будет столько строк, сколько версий установлено, при этом A.B.C.D означает полный номер установленной версии. Например, если установлено две версии: 8.3.12.100 и 8.3.12 150, то в меню будет две строки Запуск сервера (8.3.12.100) и Запуск сервера (8.3.12.150).
● Если установлена 64-разрядная версия системы «1С:Предприятие», то в названии папки и записей в этой папке будет присутствовать строка x86-64.
При запуске компонентов сервера «1С:Предприятия» активно используется интерфейс командной строки системы. Подробное описание устройства данного интерфейса см. здесь.
Если сервер «1С:Предприятие» установлен в режиме «для пользователя», то он не может работать в режиме сервиса ОС Windows.
4.2. Запуск агента сервера
4.2.1. Общая информация
Для того чтобы выполнить запуск кластера серверов «1С:Предприятия», следует запустить агент сервера (ragent). Все дальнейшие действия будут выполнены системой автоматически. При запуске агент сервера выполняет поиск списка кластеров, зарегистрированных на данном компьютере.
Если список кластеров обнаружен, то агент сервера запускает указанные менеджеры кластеров. С их помощью он получает информацию о рабочих процессах, которые должны быть запущены в каждом из кластеров, и выполняет их запуск самостоятельно или с помощью агентов других рабочих серверов кластера.
Если список кластеров не обнаружен, агент сервера создает кластер по умолчанию. Кластер по умолчанию имеет следующие характеристики:
● номер сетевого порта ‑ 1541;
● диапазон сетевых портов ‑ 1560:1591;
● при запуске в отладочном режиме с использованием протокола HTTP, сервер отладки использует порт 1550;
● один рабочий процесс, номер порта устанавливается из указанного диапазона.
Описание командной строки агента сервера (ragent) см. здесь.
4.2.2. Для ОС Linux
4.2.2.1. Общая информация
Программа установки настраивает запуск серверных процессов так, что они запускаются в режиме «демонов», то есть без привязки к управляющему терминалу. При необходимости агент сервера может быть запущен с указанием ключей командной строки.
Примечание. При работе сервера «1С:Предприятия» в режиме «демона» не поддерживается отладка с использованием протокола HTTP.
В зависимости от используемой архитектуры используемого процессора, для управления запуском кластера серверов «1С:Предприятие» используются различные подсистемы управления службами операционной системы:
● Архитектура x86/x86-64, ARM64 ‑ подсистема systemd. Для работы с systemd служит утилита systemctl. Файлы, которые используются для настройки systemd, называются юнитами или service-файлами.
● Архитектура E2K ‑ подсистема init. Инструменты работы с init зависят от используемого дистрибутива (и формата пакетов) Linux.
Если необходимо настроить системы так, чтобы кластер серверов запускался сразу при старте системы, то необходимо соответствующим образом настроить соответствующую подсистему управления службами операционной системы Linux. Для работы с подсистемой управления службами необходимы права суперпользователя (root). При написании примеров этот момент игнорируется (для сокращения примера), поэтому при реальном использовании вам будет необходимо или запустить консоль от имени суперпользователя или предварять каждую команду работы с подсистемой управления службами командой sudo, например так: sudo systemctl list (получает список работающих сервисов) или sudo chkconfig --add <УникальноеИмяСкрипта> (добавление скрипта запуска кластера серверов в стартовый скрипт системы для RPM-дистрибутивов).
4.2.2.2. Запуск как приложения
Агент сервера может быть запущен как приложение. В простейшем варианте команда запуска будет выглядеть следующим образом:
Копировать в буфер обмена/opt/1cv8/x86_64/8.3.27.100/ragent /d "~/cluster data" /debug -HTTP
В данном примере запускается агент сервера со следующими параметрами:
● Версия системы «1С:Предприятие»: 8.3.27.100, 64-разрядный вариант.
● Каталог служебных файлов кластера серверов: ~/cluster data.
● Кластер серверов запущен в режиме отладки (/debug) по протоколу HTTP (/debug HTTP).
Смотри также:
● Командная строка запуска агента сервера (ragent) (см. здесь).
● Конфигурационный файл настройки пользователей сервера отладки (см. здесь).
4.2.2.3. Запуск как сервиса
4.2.2.3.1. Подсистема systemd
внимание! Только при использовании архитектуры x86/x86-64 или ARM64.
Для того чтобы сервер «1С:Предприятия» мог использоваться как сервис, а также мог автоматически запускаться во время загрузки операционной системы, необходимо зарегистрировать юнит кластера серверов в systemd:
● Для ОС Linux (кроме CentOS 7) необходимо выполнить команду:
Копировать в буфер обменаsystemctl link /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@.service
Для выполнения регистрации следует указывать полный путь к юниту systemd.
● Для CentOS 7:
● Создать жесткую ссылку или копию файла srv1cv8-A.B.C.D@.service под именем srv1cv8-A.B.C.D@default.service:
Копировать в буфер обменаln /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@{,default}.service
● Выполнить регистрацию юнита:
Копировать в буфер обменаsystemctl link /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@default.service
В вышеприведенных примерах команд следует заменить слово arch на разрядность используемой версии системы «1С:Предприятие»:
● 32-разрядная версия: i386.
● 64-разрядная версия: x86_64.
С помощью юнита, который поставляется в дистрибутиве системы «1С:Предприятие», будет регистрироваться экземпляр сервиса кластера серверов с именем default. При необходимости организовать одновременную работу нескольких экземпляров кластера серверов на одном компьютере, необходимо выполнить некоторые настройки. Эти настройки зависят от того, какие версии платформы используются для разных экземпляров кластера:
● Одна версия для разных экземпляров ‑ см. здесь.
● Разные версии для разных экземпляров ‑ см. здесь.
После выполнения предыдущих действий в список автоматически запускаемых служб будет добавлен запуск кластера серверов конкретной версии и разрядности.
После выполнения регистрации, можно настраивать автоматический запуск нужного экземпляра сервиса при старте операционной системы, а также управлять работой конкретного экземпляра сервиса:
|
Действие |
Команда |
|
Включить автоматический запуск |
systemctl enable srv1cv8-A.B.C.D@instName |
|
Отключить автоматический запуск |
systemctl disable srv1cv8-A.B.C.D@instName |
|
Запуск |
systemctl start srv1cv8-A.B.C.D@instName |
|
Остановка |
systemctl stop srv1cv8-A.B.C.D@instName |
|
Получение статуса |
systemctl status srv1cv8-A.B.C.D@instName |
В таблице используется уникальное имя сервиса: srv1cv8-A.B.C.D@instName, где instName ‑ это имя конкретного экземпляра. Для экземпляра, который регистрируется с параметрами по умолчанию, определено имя default.
4.2.2.3.2. Подсистема init
внимание! Только при использовании архитектуры E2K.
Для того чтобы сервер «1С:Предприятия» автоматически запускался во время загрузки операционной системы, необходимо выполнить следующие действия:
1. Скопировать файл srv1cv83 из каталога нужной версии в каталог /etc/init.d.
2. Переименовать скопированный файл так, чтобы имя скрипта в рамках каталога /etc/init.d было уникальным (далее используется как <УникальноеИмяСкрипта>)! Можно указать в имени скрипт запуска полный номер версии запускаемого сервера. Например, для версии 8.3.22.100, скрипт запуска будет иметь имя srv8-3-22-100.
3. Скопировать конфигурационный файл srv1cv83.conf из каталога нужной версии в следующий каталог:
● для RPM-систем: /etc/sysconfig.
● для DEB-систем: /etc/default.
4. В каталоге-приемнике, для скопированного конфигурационного файла, следует:
● Удалить расширение файла.
● Переименовать файл так, чтобы его имя совпадало с именем стартового скрипта (созданного при выполнении п.2). В переименованном конфигурационном файле будут содержать параметры запуска того сервера, чье имя носит конфигурационный файл. Для примера из п.2, конфигурационный файл должен называться srv8-3-22-100.
5. Добавьте скрипт запуска сервера в стартовый скрипт системы:
● для RPM-систем:
Копировать в буфер обменаchkconfig --add <УникальноеИмяСкрипта> chkconfig <УникальноеИмяСкрипта> on
● для DEB-систем:
Копировать в буфер обменаupdate-rc.d <УникальноеИмяСкрипта> defaults service <УникальноеИмяСкрипта> start
В приведенных командах <УникальноеИмяСкрипта> ‑ это то имя скрипта запуска (и конфигурационного файла), который выбрано во время копирования файла srv1cv83 в каталог /etc/init.d. Для примера из п.2, вместо <УникальноеИмяСкрипта> следует подставить srv8-3-22-100.
В результате в список автоматически запускаемых служб будет добавлен запуск сервера конкретной версии и разрядности.
4.2.2.3.3. Подсистема init: скрипт управления работой
Для управления кластером серверов «1С:Предприятия» используется скрипт, созданный на основе скрипта srv1cv83, который находится в каталоге конкретной версии. Скрипт управления конкретной версией может быть создан копированием или созданием символической ссылки. Такой скрипт расположен в каталоге /etc/init.d и должен иметь уникальное имя (подробнее указано в п.2 предыдущего раздела). Скрипт из каталога конкретной версии не предназначен для непосредственного запуска из этого каталога. Однако, все скрипты, сделанные на основе скрипта srv1cv83, будут иметь одинаковую командную строку:
Копировать в буфер обменаscript-from-srv1cv83 start|stop|restart|info|status
Команды скрипта:
|
Команда |
Описание |
|
info |
Отображает информацию о настройках сервера: порты, указанные при запуске, каталог кластера, статус режима отладки конфигурации, уровень безопасности соединений. |
|
restart |
Перезапускает сервер. Эквивалентна последовательности команд stop и start. |
|
start |
Запускает сервер. Скрипт позволяет запустить один экземпляр сервера «1С:Предприятие», который специфицирован во время настройки. |
|
status |
Отображает информацию о состоянии сервера (запущен/не запущен, и если запущен, то работает ли в данный момент). |
|
stop |
Останавливает сервер. При этом останавливается только тот сервер, который ранее был запущен этим скриптом (см. команду start). |
4.2.2.4. Редактирование параметров экземпляра кластера серверов
4.2.2.4.1. Подсистема systemd
внимание! Только при использовании архитектуры x86/x86-64 или ARM64.
Для того, чтобы отредактировать параметры какого-либо экземпляра кластера серверов, необходимо использовать следующую команду:
Копировать в буфер обменаsystemctl edit srv1cv8-A.B.C.D@instanceName
Затем в открывшемся файле необходимо создать секцию [Service] (если такая секция еще не задана) и в ней указать изменяемые параметры в следующей нотации: Environment=SRV1CV8_REGPORT=1541. В данном примере:
● Environment ‑ обязательное значение. Определяется синтаксисом описания юнита systemd.
● SRV1CV8_REGPORT ‑ имя параметра кластера серверов. Список параметров описан в таблице ниже.
● 1541 ‑ значение параметра. Зависит о имени параметра.
4.2.2.4.2. Подсистема init
внимание! Только при использовании архитектуры E2K.
Для того, чтобы отредактировать параметры какого-либо экземпляра кластера серверов, необходимо открыть конфигурационный файл соответствующего экземпляра кластера серверов любым доступным редактором. Имя конфигурационного файла соответствует файлу с именем скрипта запуска. Конфигурационный файл должен быть без расширения.
Размещение конфигурационного файла зависит от используемого варианта операционной системы:
● для RPM-систем: /etc/sysconfig.
● для DEB-систем: /etc/default.
4.2.2.4.3. Параметры конфигурационного файла
В таблице приведен список параметров, доступных для редактирования:
|
Параметр |
Описание |
|
SRV1CV8_DATA |
Каталог данных сервера. Полный путь к каталогу, в котором располагаются служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера). Значение по умолчанию: /home/usr1cv8/.1cv8/1C/1cv8. |
|
SRV1CV8_DEBUG |
Признак запуска кластера серверов в режиме отладки. Параметр может принимать следующие значения: ● Пустое значение ‑ отладка отключена. ● -debug ‑ включена отладка по протоколу TCP. ● -debug -tcp ‑ включена отладка по протоколу TCP. ● -debug -http ‑ включена отладка по протоколу HTTP. Значение по умолчанию: пустое значение. |
|
SRV1CV8_KEYTAB |
Путь к keytab-файлу, который будет использоваться кластером серверов «1С:Предприятие» для аутентификации операционной системы. Значение по умолчанию: /opt/1cv8/x86_64/A.B.C.D/usr1cv8.keytab. |
|
SRV1CV8_PINGPERIOD |
Период проверки системы отслеживания разрыва соединений, миллисекунды. Подробнее см. здесь. Значение может изменяться с помощью инструментов администрирования кластера. Если в настройках кластера хотя-бы один из параметров Период проверки и Таймаут проверки отличны от 0, то будут использоваться эти значения. В противном случае будут использованы параметры командной строки запуска кластера серверов. Значение по умолчанию: 1 000. |
|
SRV1CV8_PINGTIMEOUT |
Таймаут проверки системы отслеживания разрыва соединений, миллисекунды. Подробнее см. здесь. Значение может изменяться с помощью инструментов администрирования кластера. Если в настройках кластера хотя-бы один из параметров Период проверки и Таймаут проверки отличны от 0, то будут использоваться эти значения. В противном случае будут использованы параметры командной строки запуска кластера серверов. Значение по умолчанию: 5 000. |
|
SRV1CV8_PORT |
Номер сетевого порта агента сервера (ragent). Подробнее см. здесь. Значение по умолчанию: 1540. |
|
SRV1CV8_RANGE |
Диапазоны сетевых портов для динамического выбора. Подробнее см. здесь. Значение по умолчанию: 1561:1590. |
|
SRV1CV8_REGPORT |
Номер сетевого порта главного менеджера кластера (rmngr). Подробнее см. здесь. Значение по умолчанию: 1541. |
|
SRV1CV8_SECLEV |
Уровень безопасности соединений. Подробнее см. здесь. Параметр может принимать следующие значения: ● 0 ‑ выключено (значение по умолчанию). ● 1 ‑ установка соединения. ● 2 ‑ постоянно. |
4.2.3. Для ОС Windows
4.2.3.1. Запуск как приложения
Агент сервера может быть запущен как приложение. В простейшем варианте команда запуска будет выглядеть следующим образом:
Копировать в буфер обмена"C:\Program Files\1cv8\8.3.27.100\bin\ragent.exe" /d "D:\Рабочий каталог\1C srvinfo\" /debug -HTTP
В данном примере запускается агент сервера со следующими параметрами:
● Версия системы «1С:Предприятие»: 8.3.27.100. Разрядность зависит от разрядности используемой ОС.
● Каталог служебных файлов кластера серверов: D:\Рабочий каталог\1C srvinfo\.
● Кластер серверов запущен в режиме отладки (/debug) по протоколу HTTP (/debug HTTP).
Смотри также:
● Командная строка запуска агента сервера (ragent) (см. здесь).
● Конфигурационный файл настройки пользователей сервера отладки (см. здесь).
4.2.3.2. Запуск как сервиса
Если при установке кластера серверов был выбран вариант запуска агента центрального сервера как сервиса, то данный сервис будет запущен автоматически, в процессе установки, и также будет запускаться при старте операционной системы.
Если агент центрального сервера был установлен как приложение, то существует возможность зарегистрировать сервис вручную и затем осуществить его запуск.
Имя сервиса различается в 32‑ и 64-разрядных версиях «1С:Предприятия»:
|
Версия «1С:Предприятия» |
Имя сервиса |
|
32-разрядная версия |
1C:Enterprise 8.3 Server Agent |
|
64-разрядная версия |
1C:Enterprise 8.3 Server Agent (x86-64) |
В простейшем виде, командная строка регистрации сервиса выглядит следующим образом:
Копировать в буфер обменаC:\Program Files\1cv8\8.3.27.100\bin\ragent /srvc /agent /d "D:\Рабочий каталог\1C srvinfo\"
Примечание. Выполнение операций регистрации, отмены регистрации, запуска и остановки сервиса агент кластера (ragent) необходимо выполнять от имени администратора. В процессе работы проверяет наличие необходимых для работы привилегий, и в случае их отсутствия выполняется запрос повышения привилегий.
Запуск сервиса по умолчанию осуществляется автоматически при включении компьютера. Также запуск сервиса можно выполнить средствами Windows: Мой компьютер ‑ Управление ‑ Службы и приложения ‑ Службы ‑ Агент сервера 1С:Предприятия 8 (My computer ‑ Manage ‑ Computer Management ‑ Services and Applications ‑ Services ‑ 1C:Enterprise 8 Server Agent). Остановка сервиса также выполняется средствами Windows.
Для отмены регистрации сервиса следует выполнить команду:
Копировать в буфер обменаragent /rmsrvc
Для упрощения регистрации и отмены регистрации сервиса кластера серверов можно воспользоваться командными файлами, пример которых см. здесь.
Смотри также:
● Командная строка запуска агента сервера (ragent) (см. здесь).
● Конфигурационный файл настройки пользователей сервера отладки (см. здесь).
4.3. Обеспечение совместной работы нескольких серверных процессов
4.3.1. Общая информация
В подавляющем большинстве случаев на одном рабочем сервере функционирует один агент сервера.
Когда несколько кластеров создаются под управлением одного агента сервера, агент сервера обеспечивает отсутствие конфликтов их сетевых портов. В случае, когда кластеры создаются под управлением разных агентов сервера, отсутствие конфликтов сетевых портов менеджеров кластера следует обеспечивать самостоятельно.
Отсутствие конфликтов диапазонов сетевых портов рабочих процессов на данном сервере (если данный сервер задействован в разных кластерах) всегда следует обеспечивать самостоятельно даже в том случае, когда такие кластеры функционируют под управлением одного и того же агента сервера.
Ситуация, когда на одном компьютере функционируют параллельно два и более агента серверов, каждый из которых управляет своим набором кластеров, является вполне нормальной, но достаточно редкой и специфичной. Например, необходимость в этом может возникнуть тогда, когда на одном компьютере нужно использовать различные версии сервера «1С:Предприятия».
Для того чтобы обеспечить параллельное функционирование двух агентов сервера, обслуживающих различные кластеры, нужно соблюсти следующие условия:
● агенты серверов должны иметь различные сетевые порты;
● агенты серверов должны обращаться к различным каталогам служебных файлов;
● кластеры серверов, создаваемые для каждого из агентов серверов, должны иметь различные сетевые порты;
● диапазоны сетевых портов, используемых рабочими процессами на данном сервере, не должны пересекаться (если данный сервер задействован в различных кластерах).
Возможность замены сетевых портов для работающего экземпляра сер-вера «1С:Предприятия» не предусмотрена. Это можно сделать только регистрацией другого экземпляра кластера серверов и переноса информационных баз в новый кластер.
4.3.2. Для ОС Linux
4.3.2.1. Общая информация
Рассмотрим действия, которые необходимо предпринять для того, чтобы запустить на компьютере более одного экземпляра кластера серверов «1С:Предприятие».
Следует помнить, что программа установки не позволяет поменять сетевые порты сервера, поэтому после установки новый экземпляр сервера не сможет работать.
Примечание. Установка сервера «1С:Предприятия» для ОС Linux всегда выполняется в режиме демона.
В зависимости от используемой архитектуры используемого процессора, для управления запуском кластера серверов «1С:Предприятие» используются различные подсистемы управления службами операционной системы:
● Архитектура x86/x86-64, ARM64 ‑ подсистема systemd. Для работы с systemd служит утилита systemctl. Файлы, которые используются для настройки systemd, называются юнитами или service-файлами.
● Архитектура E2K ‑ подсистема init. Инструменты работы с init зависят от используемого дистрибутива (и формата пакетов) Linux.
Если необходимо настроить системы так, чтобы кластер серверов запускался сразу при старте системы, то необходимо соответствующим образом настроить соответствующую подсистему управления службами операционной системы Linux. Для работы с подсистемой управления службами необходимы права суперпользователя (root). При написании примеров этот момент игнорируется (для сокращения примера), поэтому при реальном использовании вам будет необходимо или запустить консоль от имени суперпользователя или предварять каждую команду работы с подсистемой управления службами командой sudo, например так: sudo systemctl list (получает список работающих сервисов) или sudo chkconfig --add <УникальноеИмяСкрипта> (добавление скрипта запуска кластера серверов в стартовый скрипт системы для RPM-дистрибутивов).
4.3.2.2. Разные версии «1С:Предприятия» для разных экземпляров кластера
4.3.2.2.1. Как сервис
Если требуется запустить несколько экземпляров кластера серверов «1С:Предприятие» разных версий, то для этого следует зарегистрировать в подсистеме управления службами требуемое количество экземпляров служб и выполнить корректную настройку параметров каждого экземпляра.
Для регистрации каждой службы следует выполнить последовательность действий по установке автоматического запуска (подробнее см. здесь). После этого каждым экземпляром кластера серверов можно будет управлять теми инструментами, которые соответствуют подсистеме управления службами используемого варианта ОС Linux.
4.3.2.2.2. Как приложение
Одновременный запуск нескольких экземпляров сервера разных версии, работающего как приложение, возможен из командной строки.
Копировать в буфер обмена/opt/1cv8/x86_64/8.3.27.200/ragent -port 1540 -regport 1541 -range 1560:1590 -d /home/usr1cv8/.1cv8/1C/srv1 /opt/1cv8/x86_64/8.3.27.300/ragent -port 2540 -regport 2541 -range 2560:2590 -d /home/usr1cv8/.1cv8/1C/srv2
В примере выполняется запуск двух экземпляров сервера «1С:Предприятие» со следующими параметрами:
● 1-й кластер серверов:
● Для запуска кластера используется 64-разрядная версия 8.3.27.200 системы программы «1С:Предприятие».
● Кластер серверов обслуживает сетевые порты 15хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv1.
● 2-кластер серверов:
● Для запуска кластера используется 64-разрядная версия 8.3.27.300 системы программы «1С:Предприятие».
● Кластер серверов обслуживает сетевые порты 25хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv2.
4.3.2.3. Одна версия «1С:Предприятия» для разных экземпляров кластера
4.3.2.3.1. Как сервис
Подсистема systemd
внимание! Только при использовании архитектуры x86/x86-64 или ARM64.
Для того, чтобы запускать несколько экземпляров кластера серверов «1С:Предприятие» одной версии, можно воспользоваться параметризацией шаблона юнита srv1cv8-8.X.Y.Z@.service. Эта параметризация выполняется с помощью передачи произвольного имени после символа «@».
Например, требуется запустить еще один экземпляр кластера текущей версии. Для этого следует проделать следующие действия:
1. Выбрать имя нового экземпляра. Для примера, таким именем будет 2xports.
2. Создать конфигурационный файл для этого экземпляра кластера серверов:
Копировать в буфер обменаsystemctl edit srv1cv8-A.B.C.D@2xports.service.
3. Внести в файл следующий текст:
Копировать в буфер обмена[Service] Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8_2xports Environment=SRV1CV8_PORT=2540 Environment=SRV1CV8_REGPORT=2541 Environment=SRV1CV8_RANGE=2560:2591
4. В открывшемся файле указать (или исправить) значения параметров SRV1CV8_DATA, SRV1CV8_PORT, SRV1CV8_REGPORT и SRV1CV8_RANGE.
5. Зарегистрировать новый юнит в systemd:
Копировать в буфер обменаsystemctl link /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@2xport.service
6. Новый сервис (2xport) доступен для управления аналогично тому, как было описано при регистрации автоматического запуска кластера серверов (подробнее см. здесь).
Подсистема init
внимание! Только при использовании архитектуры E2K.
Для того чтобы обеспечить одновременную работу двух кластеров серверов «1С:Предприятия», необходимо выполнить следующие действия:
1. Скопировать файл srv1cv83 из каталога нужной версии в каталог /etc/init.d.
2. Переименовать скопированный файл так, чтобы имя скрипта в рамках каталога /etc/init.d было уникальным (далее используется как <УникальноеИмяСкрипта>)! Можно указать в имени скрипт запуска полный номер версии запускаемого сервера. Например, для версии 8.3.22.100, скрипт запуска будет иметь имя srv8-3-22-100.
3. Скопировать конфигурационный файл srv1cv83.conf из каталога нужной версии в следующий каталог:
● для RPM-систем: /etc/sysconfig.
● для DEB-систем: /etc/default.
4. В каталоге-приемнике, для скопированного конфигурационного файла, следует:
● Удалить расширение файла.
● Переименовать файл так, чтобы его имя совпадало с именем стартового скрипта (созданного при выполнении п.2). В переименованном конфигурационном файле будут содержать параметры запуска того сервера, чье имя носит конфигурационный файл. Для примера из п.2, конфигурационный файл должен называться srv8-3-22-100.
В созданном конфигурационном файле необходимо указать корректные параметры для создаваемого экземпляра кластера серверов. После окончания редактирования можно запустить созданный экземпляр с помощью скрипта, созданного во время выполнения п.2 вышеописанного алгоритма. Описание параметров скрипта см. здесь.
4.3.2.3.2. Как приложение
Одновременный запуск нескольких экземпляров сервера разных версии, работающего как приложение, возможен из командной строки.
Копировать в буфер обмена/opt/1cv8/x86_64/8.3.27.200/ragent -port 1540 -regport 1541 -range 1560:1590 -d /home/usr1cv8/.1cv8/1C/srv1 /opt/1cv8/x86_64/8.3.27.200/ragent -port 2540 -regport 2541 -range 2560:2590 -d /home/usr1cv8/.1cv8/1C/srv2
В примере выполняется запуск двух экземпляров сервера «1С:Предприятие» со следующими параметрами:
● Для запуска обеих кластеров используется 64-разрядная версия 8.3.27.200 системы программы «1С:Предприятие».
● 1-й кластер серверов:
● Кластер серверов обслуживает сетевые порты 15хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv1.
● 2-кластер серверов:
● Кластер серверов обслуживает сетевые порты 25хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv2.
4.3.2.4. Замена сетевых портов работающего экземпляра сервера «1С:Предприятие»
Возможность замены сетевых портов уже работающего экземпляра сервера «1С:Предприятия» не предусмотрена. При возникновении такой необходимости следует:
1. Создать новый экземпляр сервера с необходимыми значениями сетевых портов и остальных параметров.
2. Зарегистрировать в новом сервере существующие информационные базы.
3. Перевести клиентов на новый сервер;
4. Остановить и удалить старый экземпляр сервера «1С:Предприятия» (вместе с данными кластера).
4.3.3. Для ОС Windows
4.3.3.1. Общая информация
Рассмотрим действия, которые необходимо предпринять для того, чтобы запустить на компьютере второй экземпляр сервера «1С:Предприятие».
Совет.
Установку второго экземпляра сервера «1С:Предприятия» рекомендуется выполнять
как приложение, а не сервис ОС Windows. При необходимости регистрацию
сервера в качестве сервиса можно выполнить позднее, указав при регистрации
нужные параметры.
Примечание.
Операции регистрации, отмены регистрации, запуска и остановки сервиса
агент кластера (ragent) необходимо выполнять от имени
администратора. В процессе работы проверяется наличие необходимых для работы
привилегий, и в случае их отсутствия выполняется запрос повышения
привилегий.
Следует помнить, что программа установки не позволяет поменять сетевые порты сервера, поэтому после установки новый экземпляр сервера не сможет работать.
Примеры необходимых действий будут выполняться при запуске сервера «1С:Предприятия» на ОС аналогичной разрядности, т. е. 32-разрядного сервера на 32-разрядной ОС или 64-разрядного сервера на 64-разрядной ОС. В случае запуска 32-разрядного сервера «1С:Предприятия» на 64-разрядной ОС Windows следует путь C:\Program Files заменить на C:\Program Files (x86) во всех примерах в следующих разделах.
4.3.3.2. Вспомогательные инструменты
Программа установки всегда выполняет изменения параметров запуска одной единственной службы кластера серверов «1С:Предприятия».
В «1С:Предприятии» отсутствуют штатные средства регистрации нескольких экземпляров сервиса сервера «1С:Предприятия». Для того чтобы выполнить такую регистрацию (и отмену такой регистрации), следует воспользоваться утилитой sc. При регистрации нескольких экземпляров кластера серверов «1С:Предприятие» работающего в режиме сервиса, следует помнить, что все одновременно работающие экземпляры кластеров должны иметь различные наборы сетевых портов и различные каталоги кластера.
Пакетные файлы, позволяющие выполнять необходимые действия в ОС Windows, см. здесь.
4.3.3.3. Разные версии «1С:Предприятия» для разных экземпляров кластера
4.3.3.3.1. Как сервис
Для того, чтобы на одном компьютере могли функционировать как сервис кластеры серверов нескольких различных версий системы «1С:Предприятие», необходимо воспользоваться командным файлом register-agent.bat (см. здесь).
Допустим, нам необходимо иметь возможность одновременного исполнения кластеров серверов версий 8.3.26.100 и 8.3.27.200. Для этого следует выполнять регистрацию служб кластера следующим образом:
Копировать в буфер обменаregister-agent 8.3.26.100 15 "c:\cluster_data\cluster 1" register-agent 8.3.27.200 25 "c:\cluster_data\cluster 2"
В данном примере первая строка выполняет регистрацию службы сервера со следующими параметрами:
● Версия системы «1С:Предприятие»: 8.3.26.100.
● Имя службы: 1C:Enterprise 8.3 Server Agent 1540 8.3.26.100.
● Порты сервера: 1540, 1541, 1560:1591.
● Каталог с данными реестра кластера: C:\cluster_data\cluster 1.
● Описание службы: Агент сервера 1С:Предприятия 8.3. Параметры: 8.3.26.100, 1540, 1541, 1560:1591.
Вторая строка выполняет регистрацию службы сервера со следующими параметрами:
● Версия системы «1С:Предприятие»: 8.3.27.200.
● Имя службы: 1C:Enterprise 8.3 Server Agent 2540 8.3.27.200.
● Порты сервера: 2540, 2541, 2560:2591.
● Каталог с данными реестра кластера: C:\cluster_data\cluster 2;
● Описание службы: Агент сервера 1С:Предприятия 8.3. Параметры: 8.3.27.200, 2540, 2541, 2560:2591.
4.3.3.3.2. Как приложение
Одновременный запуск нескольких экземпляров сервера разных версии, работающего как приложение, возможен из командной строки.
Копировать в буфер обменаstart "Server 1" "C:\Program Files\1cv8\8.3.27.200\bin\ragent.exe" /port 1540 /regport 1541 /range 1560:1590 /d d:\ClusterData\Srv1 start "Server 2" "C:\Program Files\1cv8\8.3.27.200\bin\ragent.exe" /port 2540 /regport 2541 /range 2560:2590 /d d:\ClusterData\Srv2
В примере выполняется запуск двух экземпляров сервера «1С:Предприятие» со следующими параметрами:
● 1-й кластер серверов:
● Для запуска кластера используется версия 8.3.27.200 системы программы «1С:Предприятие». В зависимости от разрядности используемой ОС Windows, это может быть и 32- и 64-разрядная версия.
● Окно имеет заголовок Server 1.
● Кластер серверов обслуживает сетевые порты 15хх.
● Каталог данных кластера находится в каталоге d:\ClusterData\Srv1.
● 2-кластер серверов:
● Для запуска кластера используется версия 8.3.27.200 системы программы «1С:Предприятие». В зависимости от разрядности используемой ОС Windows, это может быть и 32- и 64-разрядная версия.
● Окно имеет заголовок Server 2.
● Кластер серверов обслуживает сетевые порты 25хх.
● Каталог данных кластера находится в каталоге d:\ClusterData\Srv2.
4.3.3.4. Одна версия «1С:Предприятия» для разных экземпляров кластера
4.3.3.4.1. Как сервис
Для того, чтобы на одном компьютере могли функционировать как сервис кластеры серверов одной версий системы «1С:Предприятие», но настроенные на разные параметры, необходимо воспользоваться командным файлом register-agent.bat (см. здесь).
Допустим, нам необходимо иметь возможность одновременного исполнения кластеров серверов версии 8.3.27.200. Для этого следует выполнять регистрацию служб кластера следующим образом:
Копировать в буфер обменаregister-agent 8.3.27.200 15 "c:\cluster_data\cluster 1" register-agent 8.3.27.200 25 "c:\cluster_data\cluster 2"
В данном примере выполняется регистрация двух служб кластера серверов, которые используют исполняемые файлы одной версии (8.3.27.200), но используют разные параметры и разные имена зарегистрированных служб:
● 1-й кластер серверов:
● Имя службы: 1C:Enterprise 8.3 Server Agent 1540 8.3.27.200.
● Порты сервера: 1540, 1541, 1560:1591.
● Каталог с данными реестра кластера: C:\cluster_data\cluster 1.
● Описание службы: Агент сервера 1С:Предприятия 8.3. Параметры: 8.3.27.200, 1540, 1541, 1560:1591.
● 2-й кластер серверов:
● Имя службы: 1C:Enterprise 8.3 Server Agent 1540 8.3.27.200.
● Порты сервера: 2540, 2541, 2560:2591.
● Каталог с данными реестра кластера: C:\cluster_data\cluster 2.
● Описание службы: Агент сервера 1С:Предприятия 8.3. Параметры: 8.3.27.200, 2540, 2541, 2560:2591.
4.3.3.4.2. Как приложение
Одновременный запуск нескольких экземпляров сервера разных версии, работающего как приложение, возможен из командной строки.
Копировать в буфер обменаstart "Server 1" "C:\Program Files\1cv8\8.3.27.200\bin\ragent.exe" /port 1540 /regport 1541 /range 1560:1590 /d d:\ClusterData\Srv1 start "Server 2" "C:\Program Files\1cv8\8.3.27.200\bin\ragent.exe" /port 2540 /regport 2541 /range 2560:2590 /d d:\ClusterData\Srv2
В примере выполняется запуск двух экземпляров сервера «1С:Предприятие» со следующими параметрами:
● Используется версия 8.3.27.200 системы «1С:Предприятие». В зависимости от разрядности используемой ОС Windows, это может быть и 32- и 64-разрядная версия.
● 1-й кластер серверов:
● Окно имеет заголовок Server 1.
● Кластер серверов обслуживает сетевые порты 15хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv1.
● 2-кластер серверов:
● Окно имеет заголовок Server 2.
● Кластер серверов обслуживает сетевые порты 25хх.
● Каталог данных кластера находится в каталоге /home/usr1cv8/.1cv8/1C/srv2.
4.3.3.5. Замена сетевых портов работающего экземпляра сервера «1С:Предприятие»
Возможность замены сетевых портов уже работающего экземпляра сервера «1С:Предприятия» не предусмотрена. При возникновении такой необходимости следует:
● создать новый экземпляр сервера с необходимыми значениями сетевых портов и остальных параметров;
● зарегистрировать в новом сервере существующие информационные базы;
● перевести клиентов на новый сервер;
● остановить и удалить старый экземпляр сервера «1С:Предприятия» (вместе с данными кластера).