ГЛАВНАЯ Визы Виза в Грецию Виза в Грецию для россиян в 2016 году: нужна ли, как сделать

Администрирование серверов1С предприятие. Администрирование серверов1С предприятие Установка и настройка с программой deployka

В данной статье познакомимся с сервером администрирования кластера серверов, а конкретно с утилитами 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 %

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

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

При резервном копировании информационных баз работа пользователей с информационной базой должна быть прекращена.

«Завершить работу пользователей 1С:Предприятия»
Установите флаг, если необходимо произвести завершение работы пользователей с базой перед выполнением архивирования.

Возможные варианты завершения работы пользователей:

  • «Завершить сеансы на сервере 1С:Предприятие»

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

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

В консоли сервера 1С:Предприятия администраторы кластера находятся по следующему пути: «Console Root» - «1C:Enterprise 8.3 Central Servers» - «(*)имя компьютера» - «Кластеры» - «Локальный кластер» - «Администраторы»

«Имя администратора кластера:»
Имя пользователя «администратор кластера».

«Пароль администратора кластера:»
Пароль пользователя «администратор кластера».

«Используется не стандартный порт агента сервера»
Установите данный флаг если порт подключения к Агенту сервера отличный от стандартного.

«Порт:»
Порт подключения к агенту сервера 1С:Предприятия. По умолчанию 1540.

Для определения порта агента сервера зайдите в Сервер 1С при клике правой кнопкой мыши на имя компьютера из выпадающего меню выберете «Свойства» - «Параметры центрального сервера 1С:Предприятия» - «IP порт:» .

  • «Вызвать штатное завершение работы пользователей»

Вариант отключения пользователей путем вызова встроенного в типовые конфигурации механизма завершения работы пользователей. Данный механизм основан на использовании процедуры «Блокировка установки соединений с информационной базой».

Алгоритм выполнения следующий:

  • Запуск завершения работы пользователей.
  • Запуск выполнения задачи (архивирование, тестирование и исправление и т.д.).
  • Запуск разрешения работы пользователей.

«Код разрешения»
Параметр «КодРазрешения» будет доступен только для клиент-серверных баз 1С:Предприятия.
Обязательный параметр. Код разрешения используется для запуска заблокированной базы 1С:Предприятия. Для современных типовых конфигураций код разрешения «КодРазрешения» . Если Вы неверно укажете параметр код разрешения база данных останется заблокированной.

Ставя очередное обновление Бухгалтерии получил ошибку "Я работаю только на 8.3.4", ну вот... пришло время поставить 8.3.4. и так:

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

Служба Агент Сервера 1С
По умолчанию он ставиться на порт 1540, а там у меня крутится 8.2, поэтому меняем в ветке рееста
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent Параметр ImagePath
меняем номера портов, добавляя смещение: "C:\Program Files\1cv8\8.3.4.365\bin\ragent.exe" -srvc -agent -regport 1741 -port 1740 -range 1660:1691 -d "C:\Program Files\1cv8\srvinfo"

Запускаем Агента и Открываем консоль Администрирования серверов 1С и создаем кластер 8.3
Указал имя сервера и настроил на порт 1740 (на 1540 работает 8.2)

Создаем кластер + чуток оптимизировал(У меня всего небольшой ОДИН сервер, поэтому - указываю Интервал перезапуска рабочих процессов и объем памяти. т.к у меня один сервер - уровень отказоустойчивости - 0)


Теперь подробнее:
1. Интервал перезапуска: 86400 сек (24 часа). Момент перезапуска не регламентируется, видимо с момента установки параметров, либо запуска сервера приложений.
2. Также можно указать допустимый объем памяти: 3000000 Кб (3 Гб) - Для сервера с 4 ГБ оперативы, Если ее меньше, то не заполняйте этот параметр! .
3. Интервал превышения допустимого объема памяти - это непрерывный интервал времени превышения допустимого объема памяти, после которого сервер перезапустит процесс. Если указано 0 сек - будет ждать вечно.
4. Количество Рабочих процессов расчитывается автоматически на основании Ваших настроек
5. Уровень отказоустойчивости можно задавать уровень отказоустойчивости кластера как количество рабочих серверов, которые могут одновременно выйти из строя, и это не приведет к аварийному завершению работы пользователей. Резервные сервисы запускаются автоматически в количестве, необходимом для обеспечения заданной отказоустойчивости; в реальном режиме времени выполняется репликация активного сервиса на резервные.
6. Режим распределения нагрузки, который можно использовать либо для повышения производительности системы вцелом, либо использовать новый режим «экономии памяти», который позволяет работает «с ограниченной памятью» в случаи если используемая конфигурация «любит отъедать память».

Рабочий сервер
Сервер у меня простенький, 2 Gb оперативы всего и на нем будет всего 2 базы, поэтому настрою его так:

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

Информационная база
Добавляю ИБ:

В стартере пописываю базу:

Требования назначения функциональности
Я у себя это не настраиваю но думаю надо сказать об этом:
Управление кластером заключается в том, что администратор определяет состав компьютеров (рабочих серверов), на которых размещается кластер. Кроме этого (при необходимости) он может определить "требования" к ним: какие сервисы и соединения с информационными базами должны работать на каждом из рабочих серверов. Менеджеры кластера и рабочие процессы запускаются автоматически, исходя из назначенных "требований". "Требования" к рабочим серверам могут быть заданы интерактивно, из консоли администрирования кластера, или программно, из встроенного языка.
Так на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» - «Не назначать», т.е. запретить рабочим процессам данного сервера обрабатывать клиентские соединения. Еще больший интерес предоставляет возможность запускать «только фоновые задания» на рабочем сервере кластера без сеансов пользователей. Таким образом можно высоконагруженные задачи (код) вынести на отдельный машины. При чем можно одно фоновое задание «закрытия месяца» через «Значение дополнительного параметра» запускать на одном компьютере, а фоновое задание «Обновление полнотекстового индекса» на другом. Уточнение происходит через указание "Значение дополнительного параметра". Например если указать BackgroundJob.CommonModule в качестве значения, то можно ограничить работу рабочего сервера в кластере только фоновыми заданиями с любым содержимым. Значение BackgroundJob.CommonModule..- укажет конкретный код.

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

Стандартно, после создания, профиль безопасности запрещает выполнение всех потенциально опасных действий:
-обращение к файловой системе сервера;
-запуск COM-объектов;
-использование внешних компонентов 1С:Предприятия;
-запуск внешних обработок и отчётов;
-запуск приложений, установленных на сервере;
-обращение к ресурсам Интернета.
Таким образом защититься от нежелательных действий незнакомого прикладного решения очень просто: нужно создать пустой профиль безопасности и назначить его информационной базе. Далее, если есть необходимость, можно расширять этот профиль, описывая в нём действия, которые разрешается выполнять прикладному решению.

Расположение служебных файлов менеджера кластера в 1С Предприятии 8.3
Если при установке системы! «1С:Предприятие» был выбран вариант запуска сервера «1С:Предприятия» как сервиса, то первый запуск агента сервера будет выполнен еще в процессе установки системы. При этом сервис будет запущен от имени пользователя, выбранного в диалоге установки системы, но служебные файлы кластера серверов будут расположены в каталоге <каталог установки системы 1С:Предприятие>\srvinfo (в параметрах сервиса будет в явном виде указан ключ запуска -d).

Если при установке системы «1С:Предприятие» был выбран вариант запуска сервера как приложения, то запуск сервера в процессе установки системы не выполняется; агента сервера необходимо запустить самостоятельно, после того как установка системы будет закончена. При этом если ключ запуска -d указан не будет, служебные файлы кластера серверов будут расположены в каталоге по умолчанию: %USERPROFILE%\LocalSettings\ApplicationData\lC\lCv8 (%LOCALAPPDATA%\lC\lCv8 для ОС WindowsVista и старше).

ВНИМАНИЕ! Если однажды на данном центральном сервере уже был создан кластер, то при смене варианта запуска агента сервера (сервис, приложение) или при смене пользователя, от имени которого работает агент сервера, всегда следует заботиться о правильном указании пути к каталогу служебных файлов кластера серверов. Если в процессе запуска агент сервера не обнаружит список кластеров, он создаст новый кластер на данном сервере.
В операционной системе Linux служебные файлы кластера серверов будут расположены в папке /home/usrlcv8/.lcv8/lC/lcv8 (или сокращенный вариант записи - ~/.1cv8/1C/1cv8).

Обновлятор-1с. Как указать администратора кластера для серверной базы?

2017-01-30T20:28:09+00:00

Если обновлятору не удаётся подключиться к кластеру 1с, то первое что нужно проверить - это правильность указания имени и пароля администратора кластера для этой базы.

Зачем вообще указывать администратора кластера, если мы и так уже указали имя и пароль пользователя для входа в базу?

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

Обратите внимание! Администратор кластера 1с - это не то же самое, что администратор самой базы (которого мы указываем в окне авторизации 1с).

Администратор кластера, это пользователь, указанный в оснастке сервера 1с в качестве администратора:

Чтобы указать данные администратора кластера выделим нужную базу в списке обновлятора и нажмём кнопку "Кластер":

В открывшемся диалоге укажем имя и пароль администратора кластера, а также откорректируем порт агента на сервере, если он нестандартный:

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

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

С уважением, (преподаватель и разработчик ).

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

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

Пойдем по наиболее быстрому пути. Мы имеем права администратора на сервере, поэтмоу нам под силу обойтись наименьшими трудозатратами.

Решение

Первым делом остановим службу "Агент сервера 1С:Предприятия 8.2". Для этого в командной строке выполним:

Sc stop " 1 C:Enterprise 8 . 2 Server Agent "

То же самое можно проделать через графическую утилиту "Службы":

По данным файла можно судить о том, что на сервере был добавлен администратор "Adm" с некоторым паролем. Мы можем либо заменить данные на нужного нам пользователя с "правильным" паролем, либо удалить запись об администраторе сервера. Выберем последний способ. Вот так теперь выглядит содержимое файла:

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

Итог

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

" C:Program Files (x86) 1 cv82srvinforeg_1541 "

где "reg_1541" каталог настроек кластера, имя каталога которого зависит от его настроек.

В этом файле хранятся настройки информационных баз, а тажке аутентфикационные данные админинистраторов кластера.

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

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

Если интресно, то вот некоторые статьи по близкой тематике, а именно по подбору/восстановлению паролей пользователей информационной базы 1С:Предприятия 8.2:

  1. "Чем легче пароль, тем проще"

  2. "Вход без приглашения"

  3. "Сброс учетных записей. Пишем универсальную программу на.NET Framework"