Сервер администрирования ras 1c windows

В данной статье познакомимся с сервером администрирования кластера серверов, а конкретно с утилитами rac.exe и ras.exe, а также программы deployka с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

По традиции, всем кому лень читать, предлагаю посмотреть вебинар на указанную тему

Ну а остальным добро пожаловать под кат:

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

  1. Общие сведения
  2. Установка компонент сервера администрирования
  3. Запуск сервера администрирования
  4. Запуск сервера администрирования в качестве службы Windows
  5. Администрирование кластера серверов с помощью утилиты rac.exe
  6. Программные обертки для работы с сервером администрирования
  7. Установка и настройка с программы deployka

1. Общие сведения

Управлять кластером серверов 1С:Предприятие версии 8.3 возможно как с помощью консоли администрирования серверов 1С, так и из командной строки. Для этих целей служит Сервер администрирования кластера серверов, который состоит из двух утилит: непосредственно самого сервера — программы rac.exe и  утилиты командной строки rac.exe, которая обращаясь к запущенному прежде серверу ras позволяет выполнять различные операции с кластером серверов 1С:Предприятия.

Подробно про данный механизм можно прочитать в поставляемой вместе с платформой книге «Руководство администратора. Клиент-серверный вариант» (или, соответственно, на сайте ИТС).

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

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

И сервер администрирования и утилита командной строки могут работать в любой поддерживаемой платформой 1С:Предприятия ОС. Но в данной статье мы ограничимся только ОС семейства Windows.

2. Установка компонент сервера администрирования

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

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

Подробно про установку сервера 1С:Предприятия я писал здесь.

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

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

После установки необходимо убедиться в наличии всех необходимых компонент описанным выше способом.

3. Запуск сервера администрирования

Для получения подробной информации по утилите ras.exe можно вызвать справку выполнив команду

ras help

Из справки видно, что сервер администрирования может работать как в режиме приложения, так и как служба Windows (параметр service ). Также с мы можем задать сетевой порт, на котором будет работать сервер администрирования (параметр port, по умолчанию используется порт 1545), а для режима администрирования кластера используется режим claster. Вызвать справку к данному режиму можно командой:

rac help cluster

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

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

rac cluster 

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

rac cluster server1c:2540

4. Запуск сервера администрирования в качестве службы Windows

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

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

Пусть это будет локальный пользователь с именем USR1CV8_RAS и паролем Pass123

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

Файл register-ras.bat:

@echo off
rem %1 - полный номер версии 1С:Предприятия
set SrvUserName=.\USR1CV8_RAS
set SrvUserPwd="Pass123"
set CtrlPort=1540
set AgentName=localhost
set RASPort=1545
set SrvcName="1C:Enterprise 8.3 Remote Server"
set BinPath="\"C:\Program Files\1cv8\%1\bin\ras.exe\" cluster --service --port=%RASPort% %AgentName%:%CtrlPort%"
set Desctiption="1C:Enterprise 8.3 Remote Server"
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%

В файле указываем:

  • имя пользователя и пароль из под которого будет запускаться служба — переменные SrvUserName и SrvUserPwd
  • адрес и порт агента сервера, который мы собираемся администрировать — переменные AgentName и CtrlPort
  • А также имя службы и сетевой порт на котором будет работать сервер администрирования — переменные RASPort и  SrvcName. Имеет смысл менять эти параметры только если вы хотите запустить параллельно несколько серверов администрирования, например для обслуживания разных серверов 1С.

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

Проверяем, что в системе появилась служба с указанным именем. И сразу запускаем ее, выбрав соответствующий пункт в контекстном меню.

На этом установка сервера администрирования в качестве службы завершена.

5. Администрирование кластера серверов с помощью утилиты rac.exe

Итак, сервер администрирования мы установили. Взаимодействием с сервером осуществляется с помощью специальной консольной утилиты rac.exe. Выполним команду

rac help

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

Как видно из справки, утилита имеет один общий аргумент, задающий адрес сервера администрирования (по умолчанию localhost:1545) и множество режимов работы: для администрирования агента кластера серверов, самого кластера, менеджера кластера, рабочих процессов и т. д. Справку по каждому режиму можно вызвать соответствующей командой.

Описывать все режимы работы, очевидно, нет никакого смысла. Приведу лишь несколько примеров работы.

Получение списка информации о кластерах:

Получение списка информационных баз на заданном кластере серверов:

Получение списка соединений с указанной информационной базой:

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

6. Программные обертки для работы с сервером администрирования

Как видно из примеров, работать из командной строки с утилитой rac то еще удовольствие. Но данный механизм и не создавался для ручного управления. Например, на сайте ИТС есть Java-архивов, который позволяет взаимодействовать с сервером администрирования из программы на языке Java, без помощи консольной утилиты администрирования. Скачать данный пакет можно здесь.

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

Например, среди прочего, работать с сервером администрирования может написанная на языке OneScript программа deployka.

О скиптовом движке OneScript я уже рассказывал здесь.

О программе deployka можно подробнее узнать здесь.

Ну а максимально полный обзор всех имеющихся библиотек и приложений написанных на OneScript приведен в этой статье.

7. Установка и настройка с программой deployka

Алгоритм установки OneScript и deployka довольно подробно разобран в статьях по указанным в предыдущем пункте ссылкам. Ну а если коротко, он состоит из следующих пунктов:

1. Скачиваем дистрибутив OneScript с официального сайта.

2. Устанавливаем, следуя инструкциям мастера.

3. Перелогиниваемся в системе, чтобы применились новые переменные среды.

4. Запускаем командную строку с правами администратора, проверяем, что предыдущие пункты выполнены корректно командной

oscript -help

5. Устанавливаем программу deployka с помощью пакетного менеджера opm, выполнив команду

opm install deployka

6. Проверяем, что все работает, вызвав справку «деплойки» командой

deployka help

7. Вот в общем то и все. Все режимы работы программы видны на экране. Далее читаем справку на сайте или в консоли, вызывав подсказку для каждого режима соответствующей командой:

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

deployka session kill -db Accounting_Demo -rac "C:\Program Files\1cv8\8.3.11.2867\bin\rac.exe" -db-user "АбрамовГС (директор)"

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

@echo on

rem Устанавливаем значения переменных
set ServerName="1CAPP:2541"
set RacPath="C:\Program Files\1cv8\8.3.11.2954\bin\rac.exe"
set uccode="123"
 
set BaseName="ERP_Test"
set UserName="Admin"
set UserPass="Pass123"
set ConStr="/1CAPP:2541\ERP_Test"
 
set RepoPath="tcp://1CAPP/ERP_DEV"
set RepoUserName="test"
set RepoUserPass="123"

rem Завершаем работу пользователей
call deployka session kill -db %BaseName% -db-user %UserName% -db-pwd %UserPass% -rac %RacPath% -lockuccode %uccode%

rem Обновляем конфигурацию базы из хранилища
call deployka loadrepo %ConStr% %RepoPath% -db-user %UserName% -db-pwd %UserPass% -storage-user %RepoUserName% -storage-pwd %RepoUserPass% -uccode %uccode%

rem Обновляем конфигурацию базы данных
call deployka dbupdate %ConStr% -db-user %UserName% -db-pwd %UserPass% -uccode %uccode%

rem Снимаем блокировку сеансов
call deployka session unlock -db %BaseName% -db-user %UserName% -db-pwd %UserPass% -rac %RacPath% -lockuccode %uccode%

Всем спасибо, кто дочитал до конца. Пишите, если у вас остались вопросы.

 
эта статья является продолжением серии обучающих статей, предыдущая http://www.gilev.ru/handybackup/

Администрирование кластера 1с

Самое простое

При установке компонент надо установить «дополнительные функции администрирования»

Вы можете создать в кластере 1с пустую базу.


запускаем базу в режиме предприятие

RAS

Сервер администрирования кластера серверов из командной строки скорее не инструмент, а заготовка, но он является основой для работы выше рассмотренного инструмента и должен быть запущен.
Вручную это делается так:
sudo /opt/1cv8/x86_64/8.3.22.1750/ras --daemon cluster

скопируйте шаблон файла настройки службы в системный каталог
или командой в терминале
sudo cp /opt/1cv8/x86_64/8.3.22.1750/ras-8.3.22.1750.service /etc/systemd/system/ras-8.3.22.1750.service
или интерактивно в файловом менеджере

ранее службы мы запускали через Инициализацию системы SystemGenie (хотя более удачное название имхо было бы «порядок старта служб»),
можно там же запустить либо через команды в терминале Fly
sudo systemctl start ras-8.3.22.1750.service
sudo systemctl enable ras-8.3.22.1750.service

Теперь можно запускать «администрирование серверов» и добавить подключение к конкретному серверу.

Для администрирования Postgres Pro вам также потребуется установка PgAdmin4.

В следующей статье мы установим веб-сервер.

администрирование кластера 1с в Ubuntu

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

Администрирование кластера серверов

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

Во-первых, это внешняя обработка Управление серверами. Она позволяет администрировать серверы различных версий из одной информационной базы. Для взаимодействия с сервером администрирования (ras) в обработке используется программный интерфейс встроенного языка. Одним из важных преимуществ этой обработки является ее кроссплатформенность — «Управление серверами» можно запустить под любой операционной системой, поддерживаемой «1С:Предприятием 8».

Во-вторых, это Windows утилита администрирования кластера. Она представляет собой консоль управления Microsoft, позволяющую подключаться одновременно к нескольким кластерам серверов и в графическом виде управлять их составом и свойствами.

В-третьих, это набор кросс-платформенных инструментов, работающих и в Windows, и в Linux, которые из командной строки позволяют выполнять все административные действия независимо от используемой платформы.


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

@echo off
rem %1 – полный номер версии 1С:Предприятия
rem %2 – имя сервера (с портом агента). Важно указать именно 1540, а не 1541
rem %3 – порт RAS
set SrvUserName=LocalSystem
set SrvUserPwd=««
set Agent=%2
set RASPort=%3
set SrvcName=«ras %Agent%«
set BinPath=«\«C:\Program Files (x86)\1cv8\%1\bin\ras.exe\« cluster —service —port=%RASPort% %Agent%«
set Description=«1C:8.3 RAS %1 %Agent%«
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Description%

Сервер удалённого администрирования

Назначение

Включение сервера удалённого администрирования позволяет получить полный доступ к управлению кластером 1С:Предприятия 8 без необходимости обращения к оснастке MMC «Администрирование сервера 1С предприятия» (файл *.msc)

Установка

RAS поставляется 1С в составе пакета 1c-enterprise-<версия>-server, далее предполагается что он уже установлен и и кластер запущен. Для получения доступа к управлению кластером необходимо обеспечить запуск opt/1cv8/x86_64/<версия>/ras с соответствующими опциями согласно документации 1С. Опции запуска также можно получить по команде

ras --help

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

systemctl link /opt/1cv8/<архитектура>/<версия>/ras-8.3.22.1709.service

Настроить автозапуск:

systemctl enable ras-<версия>.service

с одновременным запуском:

systemctl enable ras-<версия>.service --now

Просто запустить:

systemctl start ras-<версия>.service

Настроить автозапуск:

systemctl enable ras-<версия>.service

Отменить автозапуск:

systemctl disable ras-<версия>.service

Если всё правильно, должно получиться что-то вроде

# systemctl status ras-8.3.22.1709.service
● ras-8.3.22.1709.service - 1C:Enterprise Remote Administration Server 8.3 (8.3.22.1709)
     Loaded: loaded (/opt/1cv8/x86_64/8.3.22.1709/ras-8.3.22.1709.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-05-19 12:58:40 MSK; 2h 17min ago
   Main PID: 2250909 (ras)
      Tasks: 54 (limit: 115972)
     Memory: 43.6M
     CGroup: /system.slice/ras-8.3.22.1709.service
             └─2250909 /opt/1cv8/x86_64/8.3.22.1709/ras cluster --port=1545

мая 19 12:58:40 nsserver.credo.alt systemd[1]: Started 1C:Enterprise Remote Administration Server 8.3 (8.3.22.1709).
мая 19 12:58:41 nsserver.credo.alt ras[2250909]: 1C:Enterprise 8.3 (x86-64)  (8.3.22.1709) Remote Administration Server started. Ctrl+C to exit.

Использование

Если установка и запуск прошли успешно, получить доступ к функциональности 1C RAS можно как минимум двумя способами:

Интерфейс командной строки

Для обращения к RAS c командной строки предназначен компонент /opt/1C/v8.3/x86_64/rac. Так, команда

/opt/1cv8/<архитектура>/<версия>/rac cluster list

если всё хорошо, выдаёт перечень кластеров с основными параметрами (cluster, host, port, name и так далее). Ознакомиться с возможностямии режима командной строки можно командой

/opt/1cv8/<архитектура>/<версия>/rac --help

или из документации 1С.

Графический интерфейс пользователя

Начиная с ветки 8.3.15 платформы 1С:Предприятие, обратиться к RAS можно посредством меню Функции для технического специалиста… — Стандартные — Управление серверами. Меню это присутствует в любом запущенном экземпляре приложения даже при пустой конфигурации (ИБД без конфигурации) прикладного решения. По умолчанию меню Функции для… не отображается. Чтобы оно стало доступно, следует предварительно установить соответствующую опцию в меню Настройки — Параметры, на панели внизу. Возможности этого интерфейса полностью соответствуют функциональности Консоли управления кластером под Windows.

Ещё один графический интерфейс пользователя предлагает ИТ-Экспертиза. По заявлению разработчиков, Панель Управления Сервисами и Компонентами (сокращённо ПУСК) — универсальный кроссплатформенный продукт, позволяющий администрировать кластеры серверов 1С удобным и наглядным образом — см. Web-администрирование серверов 1С.

Ссылки

  • ПУСК
  • Web-администрирование серверов 1С

  • Сервер печати windows 10 не запускается
  • Сервер windows для обновления времени windows
  • Сервер печати windows 10 как открыть
  • Сервер rpc недоступен windows server 2019
  • Сервер rpc недоступен windows server 2008 r2