Создание дополнительного кластера 1С предприятия для Windows Server 2012 на одном физическом сервере

09.07.15

База данных - Инструменты администратора БД

Чем отличается копирование сервиса 1С предприятие на Windows Server 2012? Как поднять дополнительный кластер 1С на сервере 2012?

Если у вас есть опыт создания дополнительного кластера 1С предприятие на сервере 2008 R2 и ниже. И если вы пытаетесь перенести свой опыт на Windows 2012 Server, вы столкнетесь с тем, что простое копирование веток реестра HKLM\System\CurrentControlSet\Services не создает новой копии службы 1С предприятие в списке служб.

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

Ничего не изменилось для программ и установщиков, которые прописывают службы через Windows API. А вот для системного администратора уже давно существует утилита SC.EXE. Просто ей мало кто пользовался.

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

Для начала мы сделаем полную копию каталогов BIN и SrvInfo. 1C не рекомендует разным копиям кластера использовать один и тот же каталог SrvInfo.

Для этого мы можем выполнить следующие консольные команды:

xcopy "%PROGRAMFILES%\1cv8\8.3.5.1383\bin" "%PROGRAMFILES%\1cv8\8.3.5.1383\bin2"
xcopy "%PROGRAMFILES%\1cv8\SrvInfo" "%PROGRAMFILES%\1cv8\SrvInfo2"

Командная строка xCopy

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

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

sc create "1C:Enterprise 8.3 Server Agent (x86-64) 2" binpath= """"%PROGRAMFILES%\1cv8\8.3.5.1383\bin2\ragent.exe""" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d"""%PROGRAMFILES%\1cv8\srvinfo2""" -debug" DisplayName= "Агент сервера 1С:Предприятия 8.3 (x86-64) 2" start= auto

Для команды sc очень важно отсутствие пробела перед знаком равно ("=") в параметрах. Также важен пробел после знака равно ("=") в параметрах. Очень внимательно. Ну, а экранирование кавычек в командной строке, это просто "песня".

Командная строка Sc Create


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

Настройка службы "Вход в систему"+

Настройте параметры восстановления службы.

Настройка службы "Восстановление"

Запустите службу. Иногда бывает, что при копировании командной строки с сайта, часть символов заменяются. Возможно, вам придется откорректировать параметр запуска в реестре по пути “HKLM\SYSTEM\CurrentControlSet\1C:Enterprise 8.3 Server Agent (x86-64) 2”. Параметр ImagePath.

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

 

Следующим этапом необходимо настроить кластер 1С предприятия.

Консоль кластера "Добавить"

Укажите порт “RegPort”, соответствующий тому, который вы настроили для запуска сервиса:

Консоль кластера "Новый кластер"

Все. Теперь настраиваейте кластер как обычно. 

 

Для тех, кто дочитал досюда, но ему любопытно, что это за параметры 1640, 1641 и так далее.

Сервер 1С предприятия работает на трех основных процессах:

Ragent (агент кластера серверов 1С предприятия), по умолчанию, висит на порту 1540. В примере мы задали для дополнительной сущности порт 1640.

Rmngr (менеджер кластера 1С предприятия), по умолчанию, висит на порту 1541, ожидает, когда к нему постучатся пользователи, назначет пользователю процесс RpHost, а в промежутке между этими действиями выполняет еще кучу нужной и полезной работы. В примере для новой сущности задан порт 1641.

RpHost (рабочий процесс сервера 1С предприятия), по умолчанию занимает диапазон портов 1560:1591. Собственно, эти процессы и обслуживают работу пользователей. В примере мы задали диапазон портов 1660:1691.

Перед тем, как занимать порты под сервис 1С предприятия, уточните, а может, уже кто-то висит на вашем диапазоне портов. Воспользуйтесь командой консоли "NetStat -a -n -o".

И еще одно уточнение. В своем примере я создаю "отладочный кластер" 1С предприятия. Это достигается опцией "-debug" в командной строке запуска сервиса. На самом деле, режим отладки на сервере замедляет работу предприятия. Если вы не собираетесь отлаживать на сервере, то лучше отказаться от данного ключа запуска.

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3544    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177758    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27383    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31111    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10986    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. karpik666 3760 09.07.15 13:39 Сейчас в теме
На самое главное не увидел ответа, зачем нужно использовать 2 кластера на одном сервере?
shmyglya; elian; +2 Ответить
15. elian 137 18.04.18 18:39 Сейчас в теме
(1) Господин Гилёв для настройки своих сервисов рекомендует устанавливать их в отдельный кластер. Лично мне понадобилось именно для этого.
2. igel9780 171 09.07.15 14:41 Сейчас в теме
В моем примере, один из двух кластеров используется для отладки. А чаще всего, необходимость возникает когда нужно держать несколько версий платформы одновременно.
Lacoste4life; Andrefan; +2 Ответить
3. webester 26 09.07.15 16:37 Сейчас в теме
Совсем недавно добавлял еще одну версию платформы на сервер2012, просто скопировал ветку и все заработало без каких то либо утилит.
4. efin1 10.07.15 13:57 Сейчас в теме
У меня похожая задача, для 8.1 я решал ее так http://kb.mista.ru/article.php?id=639

Однако, сейчас в цепочке появился веб-сервер Apache2.2 (стоит на отдельном linux-сервере), который публикует базы и веб-сервисы в вебе.

Как бы Вы решили вопрос с одновременной установкой двух разных версий 1С на одном физическом сервере и запустили 2 apacha на разных портах?
5. igel9780 171 10.07.15 14:25 Сейчас в теме
Я как-то не запускал два апача на линкусе. Но, насколько мне известно, люди вполне себе поднимают и два и больше апача. Только вот зачем?
6. efin1 10.07.15 14:46 Сейчас в теме
(5) Затем, что на сервере 1С у меня 2 сервера приложений - 8.3.5 и 8.3.6
7. Danila-Master 116 14.07.15 08:51 Сейчас в теме
Для начала мы сделаем полную копию каталогов BIN и SrvInfo. 1C не рекомендует разным копиям кластера использовать один и тот же каталог SrvInfo.

С каталогом SrvInfo, допустим, согласен. Но считаю, что ошибки не будет, если использовать один каталог SrvInfo.
А зачем копировать коталог BIN?
8. igel9780 171 14.07.15 13:38 Сейчас в теме
Если не копировать SrvInfo, ошибка будет. Если настраивать второй кластер в каталоге SrvInfo, то он начинает пересекаться по основной рабочей машине. Более того, стандартная утилита администрирования умеет работать только с одним каталогом SrvInfo. Я лично запускал утилиту администрирования с разных машин к разным менеджерам кластера.

А вот по каталогу BIN, думаю, вы правы. Хотя я не проверял.
9. osipov_dv 15.07.15 15:28 Сейчас в теме
Не понял, зачем такой головняк автору...
Ставим первый нужный релиз, при установке выбираем ставить как сервис и т.п.
Запускаем первый релиз, работаем.
Ставим второй релиз, при установке не выбираем ставить как сервис.
Делаем экспорт ветки реестра “HKLM\SYSTEM\CurrentControlSet\1C:Enterprise 8.3 Server Agent (x86-64)” в reg файл.
Правим reg-файл (имя сервиса, путь до exe, порты)
вливаем изменения в реестр
запускаем второй сервис

PS: ну да, если платформа одинаковая в рамках 8.x, то надо путь еще создать\прописать другой для папки сервера.
10. Chai 07.01.18 21:53 Сейчас в теме
Мне понадобилась копия базы на сервере, поскольку имя базы содержится в метаданных, пришлось создать другой кластер (указал ему порт 1600) и в нем создал базу, восстановил ее конфигуратором из dt за определенную дату.
Но как теперь подключиться к этой вновь созданной базе? Подключение с указанием порта (сервер:порт) не помогает, все равно подключается к первой базе из локального кластера.
Подскажите?
11. Fox-trot 156 07.01.18 22:29 Сейчас в теме
(10) придется обождать... у чела день рождения :)
12. Chai 08.01.18 13:09 Сейчас в теме
Поздравляю именинника, пусть и с опозданием! )
Тема создания нового кластера мне так и непонятна. Сервер 1С кластер создаст и создаст в нем базу (с таким же именем, в данном случае), но для СУБД известия о новом кластере так и не дойдут. При обращении клиента к базе с указанием порта кластера приведет к обращению все к той же базе.

Если автор создавал кластер для тестовых целей, не указано, с каким именем создана в нем новая база.
13. Fox-trot 156 08.01.18 13:57 Сейчас в теме
база создана со старым именем ессесно
после всех манипуляций имеем две службы 1це и все таже одна база
14. igel9780 171 09.01.18 19:45 Сейчас в теме
Кластер 1С обслуживает базы-1С. Хранение баз данных обслуживает SQL-сервер. Соответственно, SQL-База данных должна либо иначе называться, либо работать в другом Instance SQL-сервера. В противном случае, при работе из двух несвязанных кластеров мы получим кашу в БД-SQL.
16. VKuser63359860 03.12.20 16:11 Сейчас в теме
Сделал все как обычно и как описано. Но вываливается ошибка 1053 при запуске службы.

UPD: нужно добавить в команду CMD c/
sc create "1C:Enterprise 8.3 Server TLE" binpath= """"CMD c/ %PROGRAMFILES%\1cv8\8.3.15.1489\bin2\ragent.exe""" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d"""%PROGRAMFILES%\1cv8\srvinfo2""" -debug" DisplayName= "1C:Enterprise 8.3 Server 2" start= auto
17. VKuser63359860 03.12.20 17:59 Сейчас в теме
18. baltexpert_39 03.12.20 22:49 Сейчас в теме
Пробовал на платформе 8.3.16.1063. Служба не запускается. Есть еще рабочие варианты?
19. VKuser63359860 14.01.21 13:32 Сейчас в теме
(18)вот правильный код
sc create "1C:Enterprise 8.3 Server TLE" binpath= """"%PROGRAMFILES%\1cv8\8.3.15.1489\bin2\ragent.exe""" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d """%PROGRAMFILES%\1cv8\srvinfo2""" -debug" DisplayName= "1C:Enterprise 8.3 Server 2" start= auto


Отличается тем что после -d нужен пробел
20. smit1c 106 14.06.23 16:28 Сейчас в теме
С лицензий на сервер проблем не будет , если поднять на той же машине второй кластер ?
21. igel9780 171 14.06.23 20:13 Сейчас в теме
(20) Лицензия на сервер «1С:Предприятия 8» распространяется на один компьютер, работающий в качестве сервера (отдельно или в составе кластера серверов).

https://v8.1c.ru/priobretenie-i-vnedrenie/otvety-na-tipovye-voprosy-po-litsenzirovaniyu-1s-predpriyatiya-8/
Оставьте свое сообщение