Меню Рубрики

Установка двух платформ на один сервер 1с

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

1С: Предприятие 8.2 и 8.3. Совместный запуск на одном Linux-сервере.

В наших материалах мы уже рассказывали, как запустить две версии платформы 1С:Предприятие на одном Windows-сервере. Сегодня мы поговорим о том, как установить две различных платформы на сервер под управлением Ubuntu. Сам процесс довольно несложен, но имеет свои подводные камни, некоторые из которых выявляются только эмпирическим путем.

Будем считать, что у вас уже есть сервер с установленной платформой 8.2, подробно на этом вопросе мы останавливаться не будем, так как разбирали его здесь. В этом случае у вас уже имеются все зависимости и для установки платформы 8.3 вам понадобятся только пакеты сервера.

По умолчанию сервер 1С:Предприятия использует следующие порты:

  • 1540 — агент сервера
  • 1541 — менеджер кластера
  • 1560:1691 — динамический диапазон портов для рабочих процессов.

Для успешной работы двух платформ 1С:Предприятие на одном сервере необходимо изменить рабочие порты для одной из них. В среде Linux это делается через скрипты запуска в /etc/init.d, необходимые файлы называются srv1cv82 и srv1cv83 соответственно. В нашем случае оставим платформу 8.2 работать со стандартными настройками, а для платформы 8.3 внесем изменения.

Откроем /etc/init.d/srv1cv83 в котором раскомментируем и укажем необходимые значения для следующих параметров:

Сохраним изменения. Теперь проверим состояние и остановим работающие службы 1С:Предприятие, в нашем случае это платформа 8.2:

Платформа 8.3 запущена не будет, но на всякий случай также можем в этом убедиться.

Теперь удалим список кластеров в файле srvribrg.lst, который расположен в домашней директории пользователя usr1cv82:

После чего можно производить первый запуск сервисов.

ВАЖНО! Первой необходимо запускать платформу с нестандартными номерами портов, в противном случае ее запуск будет невозможным.

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

Если же вы столкнулись с подобной ошибкой, то остановите службы, удалите srvribrg.lst и 1cv8wsrv.lst, затем выполните запуск в правильной последовательности.

После этих нехитрых действий мы получим две работающие платформы 1С:Предприятие на Linux-сервере. Для пользователей платформы 8.2 никаких изменений не произойдет, а для платформы 8.3 потребуется дополнительно указывать порт (1741), через двоеточие после имени сервера:

После чего можем успешно использовать на одном рабочем месте два кластера с разными версиями платформы 1С:Предприятие.

источник

Как правильно обнов​и​ть платформу 1С и запустить несколько служб 1С на одном сервере​?

Как правильно обнов​и​ть платформу 1С и запустить несколько служб 1С на одном сервере​?

Введение

Как быстро и без проблем установить новую версию платформы 1С и при этом минимизировать прерывание работы пользователей? Как запустить несколько экземпляров сервера 1С на одной машине? Данные вопросы являются распространенным предметом для обсуждения среди администраторов серверов 1С. В общем, ответы на них вы можете найти на сайте ИТС по этой ссылке, а также по этой.

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

Обновление платформы

Так как установка службы 1С на сервер, где ее еще не было, не представляет никаких сложностей и не отличается какими-то особенностями, рассмотрим другую задачу, когда у нас уже есть продуктивный сервер с запущенным сервером приложений, в котором работают пользователи, и нам необходимо обновить на нем версию платформы 1С. Эту задачу можно разбить на два условных этапа: подготовительный этап и этап обновления.

Подготовительный этап

Когда мы убедились, что все в порядке, можем запускать установку платформы 1С на сервере приложений. Если при его установке снять галочку «установить как сервис», можно не останавливать службу 1С, обслуживающую текущую версию платформы 1С и, что очень важно, можно не прерывать работу пользователей.

После этого все компоненты сервера будут установлены, но не будут использоваться.

Этап обновления

После того, как подготовительный этап закончен, необходимо согласовать с пользователями время, когда можно будет прервать их работу на несколько минут. Когда это время настанет, нужно остановить службу 1С и изменить строку запуска службы 1С, а именно путь к исполняемому файлу ragent.exe. Это можно сделать несколькими способами:

  • вручную, при помощи regedit:

  • при помощи заранее подготовленного файла реестра:

В нужный момент кликаем правой кнопкой мыши на экспортированный файл реестра с измененной строкой запуска службы 1С и нажимаем «Слияние». Преимущество данного метода в том, что данный файл мы можем подготовить заранее и выполнить изменение параметров службы 1С в два клика без необходимости «копаться» в реестре.

  • или с помощью скрипта, с применением утилиты sc (выполняется из командной строки с правами администратора):
Читайте также:  Установка круиз контроля на ярис

sc config [имя службы 1С в которой меняем версию платформы 1С] binPath= [строка запуска службы 1С новой версии платформы]

Строку запуска службы 1С новой версии платформы можно получить из строки запуска службы 1С текущей версии платформы, заменив в ней путь до исполняемого файла ragent.exe:

Например, если мы хотим обновить версию платформы с текущей (например, 8.3.7.1873) до 8.3.7.1917, тогда строка запуска текущей версии может выглядеть так:

«C:\Program Files\1cv8\8.3.7.1873\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d «C:\Program Files\1cv8\srvinfo»
из неё получим строку запуска службы 1С новой версии платформы:
«C:\Program Files\1cv8\8.3.7.1917\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d «C:\Program Files\1cv8\srvinfo»

имя службы 1С, например, следующее:
1C:Enterprise 8.3 Server Agent (x86-64)

тогда скрипт будет выглядеть так:

sc config «1C:Enterprise 8.3 Server Agent (x86-64)» binPath= «/»C:\Program Files\1cv8\8.3.7.1917\bin\ragent.exe/» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d /»C:\Program Files\1cv8\srvinfo/»»

Установка дополнительной службы 1С

Итак, для того, чтобы использовать несколько экземпляров сервера 1С на одной машине, для обеих версий серверов 1С(если они отличаются) сначала выполняем «Подготовительный этап» из предыдущего пункта.

Далее нам понадобится следующий скрипт:

@echo off
rem %1 — полный номер версии 1С:Предприятия
rem %2 — первые цифры номеров портов
rem %3 — цифра сотого разряда номеров портов
rem %4 — каталог с данными службы 1С
set SrvUserName=
set SrvUserPwd=
set RangePort=%2%301:%2%399
set BasePort=%2%300
set CtrlPort=%2000
set SrvcName=»1C:Enterprise 8.3 Server Agent %CtrlPort%»
set BinPath=»\»C:\Program Files\1cv8\%1\bin\ragent.exe\» /srvc /agent /regport %BasePort% /port %CtrlPort% /range %RangePort% /d \»%

4\» /debug»
set Desctiption=»Агент сервера 1С:Предприятия 8.3. Параметры: %1, %CtrlPort%»
if not exist «%

4″
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/Tcpip6/lanmanworkstation/lanmanserver

Процесс Порты
ragent 1540
rmngr 1541
rphost 1560:1591

К сожалению, такая структура портов не всегда является удобной. Например, если мы захотим использовать несколько кластеров в рамках одной службы 1С, а служб мы при этом используем несколько на одной машине. В этом случае может возникнуть путаница с диапазоном используемых процессами rphost портов. Если, например, процесс ragent одной службы 1С занимает порт 1540, а другой — 1640, для первой создан кластер 1С диапазон портов которого 1560:1591 и мы хотим создать еще один кластер, то диапазон портов для него, по логике, должен быть 1660:1691, но этот диапазон может быть занят (и, скорее всего так и будет) рабочими процессами кластера ragent’а занимающего порт 1640.

ragent *000 (вместо * — любое число больше 2) rmngr **00 (вместо * — любая цифра) rphost **01: **99

Итак, приведенный выше скрипт следует сохранить в командный файл, который назовем register-service.bat. Перед его применением необходимо указать в нем данные реального пользователя (имя и пароль) от имени которого будет работать служба кластера серверов (строки set SrvUserName= и set SrvUserPwd=). Примечание: если в скрипте используются символы кириллицы, командный файл следует сохранять в кодировке OEM 866.

Для регистрации службы выполните из командной строки следующую команду:

register-service [номер версии платформы] [первые цифры номеров портов] [цифра сотого разряда номеров портов] [каталог службы 1С]

Например, если нам необходимо зарегистрировать две службы для двух серверов 1С одинаковой версии 8.3.6.2332, то в командной строке напишем следующее:

register-service 8.3.6.2332 2 1 «C:\Program Files\1cv8\srvinfo_2000
register-service 8.3.6.2332 3 1 «C:\Program Files\1cv8\srvinfo_3000

Типичные ошибки и возможные проблемы

Помимо этого, необходимо помнить, что по умолчанию 1С регистрирует порт 1541 для менеджера кластера, то есть в параметрах запуска службы 1С можно увидеть:

Это значит, что после установки новой версии платформы при запуске службы по умолчанию всегда будет создан новый кластер и запущен процесс rmngr.exe, даже если он в принципе на сервере нам не нужен, и мы не хотим использовать этот рабочий сервер, как центральный. Также в строке запуска указан диапазон портов rphost для нового кластера:

К сожалению, на данный момент нет возможности управлять созданием локального кластера при первоначальном запуске службы 1С с помощью параметров командной строки службы. Но эту задачу можно решить следующими двумя способами.

Первый и, пожалуй, самый простой — это удалить созданный локальный кластер из консоли кластера 1С:

Второй вариант: для того, чтобы при первоначальном запуске службы 1С новый кластер не создавался, перед её запуском в каталоге служебных файлов данной службы, который указан в строке её запуска после ключа –d, необходимо создать файл с именем 1cv8wsrv.lst следующего содержания:

Читайте также:  Установка программного обеспечения с компакт дисков

Мы получим такой же файл при удалении локального кластера, как это описано в первом варианте.

После этого можем запускать данную службу 1С. При старте службы, происходит проверка наличия файла 1cv8wsrv.lst в каталоге служебных файлов новой службы 1С. Из этого файла читаются данные о зарегистрированных кластерах. Если файла нет – создается кластер по умолчанию с параметрами, заданными в строке запуска службы, если файл есть, данные читаются из него и автоматического создания не происходит. Соответственно, в этом случае наличие данного файла подтверждается и новый кластер не создается.

Если новый кластер создать все-таки нужно, то необходимо проверить, что порт в параметре /regport (или порт по умолчанию — 1541, если параметр /regport не указан), при регистрации новой службы не занят. Если этого не сделать, то возможно проявление ситуации, когда две службы будут работать с одним менеджером кластера, если, например, для порта, указанного в строке запуска новой службы (или для порта по умолчанию — 1541, если ключ –regport не указан в строке запуска) уже зарегистрирован менеджер кластера. Причиной этого является то, что при первоначальном старте службы и регистрации порта для менеджера кластера не происходит проверки занят этот порт или нет. Задача по реализации данной проверки известна и будет реализована в следующих версиях платформы.

Еще один параметр строки запуска службы 1С, который стоит рассмотреть, это:

Он отвечает за каталог, в котором будут расположены (или располагаются) служебные файлы службы сервера 1С (в том числе список кластеров). По умолчанию каталог устанавливается следующий:

Также многие забывают указывать ключ в строке запуска, отвечающий за возможность использования приложения в режиме отладки, если он необходим:

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

Каталог реестра кластера выглядит следующим образом:

«C:\Program Files\1cv8\srvinfo\reg_[номер порта менеджера кластера]»

Каталог служебных файлов информационной базы:

«…\srvinfo\reg_****\[UUID информационной базы]»

Например, если номер порта менеджера кластера 1541, то каталог служебных файлов некоторой информационной базы с уникальным идентификатором «0c1bd57c-4a1b-47df-a229-ade9833de359» будет:

Список неиспользуемых баз можно получить, сравнив по уникальному идентификатору список баз в файле «1CV8Clst.lst» (располагается в каталоге реестра кластера) и список баз, для которых существуют каталоги со служебными файлами. Для быстрого получения идентификаторов баз и их имен из файла реестра кластера можно воспользоваться следующим регулярным выражением: «\<(\w<8>\-.*\w<12>)\,\»(.*?)\»\,.*[\\r]*\n+.*\»\,\d+\>».

Заключение

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

Также достаточно важным было для нас описать, как настроить одновременную работу нескольких служб кластера 1С на одной машине. Эта информация может быть полезна тем, кто хочет изолировать несколько кластеров 1С, например, для целей разработки или тестирования или вы используете в работе информационные базы, управляемые разными версиями 1С:Предприятия.

Надеемся, вы сможете с легкостью выполнить нужную вам задачу и продолжите с удовольствием пользоваться продуктами 1С. Ну а если у вас что-то не получится, или вы столкнетесь с какими-то трудностями, обращайтесь к нам, мы обязательно поможем!

источник

Параллельный запуск нескольких серверов «1С:Предприятия» разных версий на одном компьютере

В текущей статье рассмотрим процесс запуска и настройки параллельной работы нескольких серверов «1С:Предприятия» различных версий (актуально для версий 8.1, 8.2 и 8.3) на одном компьютере. В данном примере будет запущен сервер «1С:Предприятия» 8.3 при работающем сервере версии 8.2, но статья будет актуальна и для других подобных ситуаций, например при запуске сервера «1С:Предприятия» версии 8.1 при работающем сервере версии 8.3 или запуске двух серверов различной разрядности.

0. Оглавление

1. Постановка задачи

Предположим имеется работающий сервер «1С:Предприятия» версии 8.2. Причем агент сервера запущен как служба и выбраны стандартные параметры запуска агента сервера, т. е:

  • Номер сетевого порта агента сервера — 1540
  • Номер сетевого порта менеджера кластера — 1541
  • Диапазон портов для динамического выбора — 1560:1591
  • Данные кластеры расположены в каталоге: «C:\Program Files\1cv82\srvinfo»
  • Служба запускается от локального пользователя USR1CV8

Запустим и настроем для работы на этом же физическом компьютере сервер «1С:Предприятия» версии 8.3.

2. Установка серверной части «1С:Предприятия» версии 8.3

Запускаем установку сервера «1С:Предприятия» (подробно про установку сервера «1С:Предприятия» я писал здесь), выбираем для установки компоненты:

  • Компоненты доступа к серверам 1С:Предприятия 8
  • Сервер 1С:Предприятия 8
Читайте также:  Установка концевика капота для логан

А заодно запомним каталог установки файлов «1С:Предприятия» (в данном случае — «C:\Program Files\1cv8\8.3.4.389» ).

Сервер «1С:Предприятия» устанавливаем не как службу, а как приложение, т. е. снимаем флаг «Установить сервер 1С:Предприятия 8 как сервис Windows» во время установки.

3. Регистрация сервера «1С:Предприятия» версии 8.3

Теперь вручную зарегистрируем новый сервер «1С:Предприятия» как службу Windows, с измененными параметрами. Для этого воспользуемся командной строкой или программой Windows PowerShell. Запустить PowerShell можно выполнив команду powershell (для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне «Выполнить» (Run) ввести имя команды в поле «Открыть» (Open) и нажать «ОК») или кликнув по соответствующему ярлыку в панели задач.

В открывшейся консоли Windows PowerShell, для удобства ввода дальнейших команд перейдем в каталог bin каталога с установленными файлами «1С:Предприятия» (каталог из пункта 1), выполнив команду

Если сервер «1С:Предприятия» версии 8.3 все же был установлен ранее как служба, необходимо удалить существующую регистрацию сервера. Для этого необходимо выполнить команду

А также необходимо удалить все файлы каталога реестра кластера, прошлой установки сервера «1С:Предприятия». По умолчанию это директория C:\Program Files\1cv8\srvinfo.

Теперь можно переходить к регистрации новой службы агента сервера «1С:Предприятия». Т. к. порты, используемые по умолчанию (1540, 1541, 1560-1690) уже заняты службой сервера «1С:Предприятия» версии 8.2, необходимо использовать альтернативные порты, например 2540, 2541 и диапазон 2560-2591. Для регистрации сервера с данными параметрами выполним команду

(подробно про параметры запуска агента сервера «1С:Предприятия» можно прочитать в статье Агент сервера «1С:Предприятия» 8.3 и его параметры запуска)

В данном примере выполняется регистрация сервера со следующими значениями параметров:

  • Номер сетевого порта агента сервера — 2540
  • Номер сетевого порта менеджера кластера — 2541
  • Диапазон портов для динамического выбора — 2560:2591
  • Служба запускается от имени локального пользователя — USR1CV8
  • Пароль пользователя от имени которого запускается служба — UsrPass8
  • Данные реестра кластера расположены в каталоге «C:\Program Files\1cv8\srvinfo»
  • Если необходимо включить отладку на сервере необходимо к строке запуска добавить параметр —debug

Ну и сразу произведем запуск службы, выполнив команду

Перейдем в службы Windows и увидим, что в списке появилась требуемая служба с именем 1C:Enterprise 8.3 Server Agent (x86-64). Служба запущена, и при запуске службы используются введенные только что параметры.

А если перейти в каталог с файлами реестра кластера, мы увидим что там появились соответствующие файлы.

4. Добавление правила в Брандмауэр Windows для используемых портов

Для того чтобы вновь установленный сервер «1С:Предприятия» был доступен другим компьютерам в сети, необходимо добавить используемые сервером порты (2540, 2541, 2560-2591) в исключения Брандмауэра Windows (Windows Firewall). Подробно об этом читайте в статье Добавление правила в Брандмауэр Windows Server 2012 R2.

5. Добавление сервера «1С:Предприятия» версии 8.3 в консоль администрирования серверов

Для администрирования сервера «1С:Предприятия» используется консоль администрирования серверов «1С:Предприятия». Открыть консоль администрирования необходимой версии можно из подкаталога common каталога с установленными файлами программы «1С:Предприятия» (не обязательно данного компьютера — консоль можно установить отдельно на любой компьютер в сети), запустив оснастку 1CV8 Server (x86-64).msc.

В консоли администрирования серверов «1С:Предприятия», кликнув правой кнопкой мыши в дереве настроек на вкладке «Central 1C:Enterprise 8.3 servers», выберем в контекстном меню пункт «Создать» — «Центральный сервер 1С:Предприятия 8.3».

В появившемся окне параметров центрального сервера «1С:Предприятия» укажем:

  • Протокол — tcp
  • Имя — имя компьютера, на котором запущен сервер «1С:Предприятия»
  • IP порт — номер сетевого порта агента сервера, в данном случае 2540
  • Описание — произвольное описание центрального сервера «1С:Предприятия»

Нажимаем «ОК» для сохранения введенных параметров.

После чего только что установленный сервер «1С:Предприятия» версии 8.3 будет доступен для администрирования через данную оснастку.

Смотрите также:

Для групповой разработки конфигурации в системе «1С:Предприятия» 8.3 используется хранилище конфигурации. Доступ разработчиков к хранилищу конфигурации может осуществляться по локальной сети (файлы базы данных располагаются на общем сетевом ресурсе), по протоколу…

В браузере Google Chrome версии 37 и выше не работает открытие модальных окон в веб-клиенте «1С:Предприятия» в конфигурациях, где модальные окна до сих под используются. В частности, при попытке выбора периода…

В данной статье будет рассказано про агент сервера 1С:Предприятие 8.3 (справедливо и для версии 8.2) в случае использования агента в операционных системах семейства Windows. Будут приведены параметры запуска агента, а…

источник

Добавить комментарий

Adblock
detector