Администрирование серверов1С предприятие. Администрирование серверов1С предприятие Управление базами данных в консоли кластера

  • 18.08.2023

21/03/2016

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

Введение

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

Регистрация консоли 1С

Для регистрации консоли администрирования серверов 1С:Предприятие фирма 1С предлагает использовать исполняемый файл RegMSC .cmd , расположенный в папке bin каталога сервера 1С. Данный файл можно запустить из меню «Пуск» в Windows : «1С Предприятие 8 -> Дополнительно -> [нужная версия платформы 1С] -> Регистрация утилиты администрирования серверов 1С Предприятия».

Файл RegMSC .cmd содержит следующий скрипт:

regsvr32 /n /i:user radmin.dll

Цель данного скрипта состоит только в том, чтобы зарегистрировать компоненту radmin .dll . На практике использовать данный скрипт неудобно, так как каждый раз перед запуском консоли администрирования серверов 1С:Предприятие нужной версии приходится запускать соответствующий файл RegMSC .cmd . Плюс ко всему данный скрипт неработоспособен и нуждается в доработке (скорее всего, при его выполнении вы получите сообщение об успешной регистрации компоненты, но работать консоль не будет).

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

  1. Регистрация компоненты radmin . dll нужной версии;
  2. Запуск консоли кластера 1С.

Предлагаем изменить вышеуказанный скрипт и создать основной универсальный скрипт регистрации компоненты и запуска оснастки (консоли), а также создать «скрипты-стартеры» консолей нужных версий. Вот, что у нас получилось:

rem %1 - полный номер версии 1С:Предприятия

@echo off

Данный скрипт следует сохранить в исполняемый файл формата.bat (например, «start _console .bat »). Разберем данный скрипт поподробнее. За корректную регистрацию компоненты radmin .dll отвечает строка:

start /wait regsvr32 /s "C:\Program Files (x86)\1cv8\%1\bin\radmin.dll"

В качестве параметра (%1) в неё передается номер версии платформы 1С. Следующая строка отвечает за запуск консоли MMC с оснасткой для администрирования серверов 1С:Предприятие:

start "C:\Windows\System32\mmc.exe" "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"

start _console 8.3.7.1873

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

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

MMC could not create the snap in, Name: 1C:Enterprise (x86-64) Servers, CLSID:…

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

Заключение

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

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

Итак у вас установлено 1С:Предприятие, как определить каким способом или вариантом загружается ваша информационная база (ИБ)?

Если у вас файловый вариант работы то в строке при запуске 1С и при выборе информационной базы(в списке информационных баз) вы увидите: File=”C:\Documents and Settings\Pupkin\Мои документы\Infobase1”. Это папка, где хранится ваша файловая база.

Если вы увидите такую надпись типа Srvr=»192.168.6.1″;Ref=»Infobase1″;, то это означает, что вы работаете в клиент-серверном варианте работы с 1С.

Что означает файловый вариант работы — вы более или менее понимаете.

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

В случае клиент-серверного варианта работы на компьютере, где установлена база данных работает специальная служба, которую вы можете посмотреть в Панели управления, пункт “Администрирование” и выбрать оснастку “Службы”; в списке служб вы увидите примерно следующее (зависит от версии 1С) — “Агент сервера 1С:Предприятие 8.хх” или к примеру вот такую службу “1C:Enterprise 8.2 Server Agent:”.

В случае работы с клиент-серверным вариантом, очень полезна оснастка, которая находится в меню Пуск->Все программы(программы)->1С Предприятие 8.х->Дополнительно->Администрирование серверов 1С Предприятия.

Что нам дает данная оснастка в плане работы с пользователями и выгрузкой ИБ?

1. Здесь мы можем завершать работу пользователей

2. Здесь мы можем устанавливать блокировку, запрещающую вход пользователям (на тот случай если нам необходим монопольный доступ к информационной базе)


Оснастка может запрашивать пароль, но какой?

Имя пользователя и пароль (для вас как для Администратора БД) — укажите ваше Имя пользователя и пароль, который вы используете для входа в 1С:Предприятие.

Итак, что мы здесь видим. Видим сервер 1С Предприятия (My_1C) и информационную базу (порт по умолчанию 1541) — My_UPP. В правой части окна видим возможность выбрать -> Сеансы, Блокировки, Соединения.

Сейчас нас интересует ветка с информационными базами, — нажмите правую клавишу мыши на выбранной ИБ, и воспользуйтесь командой “Свойства”, Контекстного меню.

Для того, чтобы запретить пользователям входить и работать с информационной базой необходимо поставить галочку — “Блокировка начала сеансов включена”.

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

До тех, пор пока вы не снимите галочку, никто не может войти и работать с информационной базой, но … Для того, чтобы вы могли сами заходить в ИБ(при помощи командной строки), предусмотрите Код разрешения.

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

Пользователи при запуске 1С:Предприятия с установленной блокировкой получат Сообщение, указанное в пункте “Сообщение”.


Дополнительно

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

Сделаем следующее на локальной машине откроем оснастку “Администрирование серверов 1С Предприятия” (путь Пуск->Все программы (Программы)->1С_Предприятие 8.х->Дополнительно->Администрирование серверов 1С Предприятия). Если вдруг на локальной машине у вас не установлен этот компонент, то вы его не увидите — идете в Панель управления ->Установка и удаление программ и ищете строку с установкой 1С Предприятия, и изменяете настройку компонентов, добавляя оснастку “Администрирование сервера”

Итак, нашли, выполнили, посмотрели. Идём далее.

В оснастке мы видим пустую строку не включающуу в себя ничего, что то типа Console Root-> Central 1C:Entreprise 8.2 servers. Ставим курсор на эту строку, нажимаем правую клавишу мыши и выбираем команду Создать->Центральный сервер 1С Предприятия 8.2.

Вписываем имя нашего сервера, находящегося в сети, нажимаем “ОК”. и всё — мы имеем возможность работать с локального компьютера и управлять нашим сервером 1С.

Как многим наверное известно, система 1С Предприятие поддерживает два варианта работы. Это:

  • клиент–сервер;
  • файловый вариант работы.

Для клиент-серверного режима необходимо установить Сервер 1С: Предприятия.

В данной статье рассмотрим, как администрировать этот сервер с помощью утилиты Консоль администрирования серверов 1С 8.3 (8.2).

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

У нет собственного интерфейса для управления. Администрирование ведется при помощи консоли серверов 1С. Консоль входит в поставку 1С Платформы и устанавливается локально на компьютер пользователя. Сами Информационные базы могут размещаться как локально, так и на удаленных компьютерах или серверах.

Получите 267 видеоуроков по 1С бесплатно:

Создание, редактирование и удаление баз на Сервере 1С

Чтобы создать информационную базу на Сервере 1С, необходимо сначала создать Центральный сервер и Кластер, к которому будет принадлежать база. На строке 1C:Enterprise 8.3 Central Servers нужно «кликнуть» правой кнопкой мыши и выбрать в контекстном меню пункт «Создать». В открывшемся окне вводим имя сервера и номер порта.

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

В ветке «Информационные базы» с помощью контекстного меню добавляем новую базу. После заполнения ее параметров нажимаем «Ок». Информационная база готова к работе.

С помощью контекстного меню базу можно удалить или отредактировать свойства.

Действия в консоли

Чем может быть полезна нам консоль администрирования? Часто случается так, что у пользователя «зависает» компьютер, и при этом программа 1С у конкретного пользователя не запускается. Выходит сообщение, что под данным пользователем уже кто-то работает. Все дело в том, что на сервере 1С остаются «нерабочие» сеансы. Эти пользователи даже остаются в разделе «Активные пользователи». И когда в программе нужно сделать операции, требующие монопольного режима (например, удаление помеченных на удаление объектов), то если попросить всех пользователей выйти, операцию все равно не всегда получается осуществить.

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

Конкретно с DroidRAC со временем возникли следующие проблемы

DroidRAC2 0.0.4

Переписан полностью - стильно, модно, молодежно (Kotlin, JetPack, Single-activity)

Новое api от 1С, совместимость с 8.3.11+

В первой версии по традиции read-only и немного удаления (например удаление сеансов пользователей)

Добавлен раздел "Ключи". в нем собираются данные о лицензиях всех рабочих процессов/сеансов пользователей для контроля количества использованных лицензий

Добавление/изменение администраторов сервера и кластеров

Просмотр свойств значений счетчиков производительности

Редактирование свойств кластера и рабочего сервера

DroidRAC2 0.0.7

Изменение всех свойств компонентов кластера (которые не поддерживались в прошлых версиях)

DroidRAC2 0.0.8

Добавление/удаление считчиков и лимитов производительности
+ добавление новых баз данных

DroidRAC2 0.1.0

Поиск RAS. Позволяет найти и добавить адрес ras из локальной подсети. Возможен поиск в других подсетях и на нестандартном порту. Но! В зависимости от вашей юрисдикции, сканирование чужих подсетей может повлечь различные атата.
- множественное выделение строк в списках
- в режиме выделение доступно общее количество строк в списке и операции над выделенными элементами
- удаление сеансов и соединений в режиме множественного выделения. Удаляя сеансы, не удаляйте сеанс RAS, чтобы не оборвать собственное соединение. Удаляя соединения, помните, что можно удалить только соединения, связанные с сеансом, но часто это делать бессмысленно, т.к. 1С их восстанавливает

DroidRAC2 0.1.2

Добавление/удаление кластеров

Добавление/удаление рабочих серверов

Поиск в списках без учета регистра

Исправление ошибок

Тестирование выполнялось для платформы 8.3.13.1690

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

Звезды, комментарии, пожелания по развитию автору также будут приятны.

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

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

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

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 можно вызвать справку выполнив команду

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

rac help cluster

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

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

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

rac cluster server1c:2540

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

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

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

Файл 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. Выполним команду

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

opm install deployka

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

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 %

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

Помогла ли вам данная статья?