Создание дополнительного кластера 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С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14627    109    46    

108

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

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

15000 руб.

10.11.2023    11957    45    33    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10744    47    8    

78

SALE! %

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

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

4800 3840 руб.

14.01.2013    191342    1153    0    

920

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

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

14400 руб.

29.04.2020    33865    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32676    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73773    629    45    

88

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10180    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. karpik666 3896 09.07.15 13:39 Сейчас в теме
На самое главное не увидел ответа, зачем нужно использовать 2 кластера на одном сервере?
shmyglya; elian; +2 Ответить
15. elian 145 18.04.18 18:39 Сейчас в теме
(1) Господин Гилёв для настройки своих сервисов рекомендует устанавливать их в отдельный кластер. Лично мне понадобилось именно для этого.
2. igel9780 173 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 173 10.07.15 14:25 Сейчас в теме
Я как-то не запускал два апача на линкусе. Но, насколько мне известно, люди вполне себе поднимают и два и больше апача. Только вот зачем?
6. efin1 10.07.15 14:46 Сейчас в теме
(5) Затем, что на сервере 1С у меня 2 сервера приложений - 8.3.5 и 8.3.6
7. Danila-Master 118 14.07.15 08:51 Сейчас в теме
Для начала мы сделаем полную копию каталогов BIN и SrvInfo. 1C не рекомендует разным копиям кластера использовать один и тот же каталог SrvInfo.

С каталогом SrvInfo, допустим, согласен. Но считаю, что ошибки не будет, если использовать один каталог SrvInfo.
А зачем копировать коталог BIN?
8. igel9780 173 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 163 07.01.18 22:29 Сейчас в теме
(10) придется обождать... у чела день рождения :)
12. Chai 08.01.18 13:09 Сейчас в теме
Поздравляю именинника, пусть и с опозданием! )
Тема создания нового кластера мне так и непонятна. Сервер 1С кластер создаст и создаст в нем базу (с таким же именем, в данном случае), но для СУБД известия о новом кластере так и не дойдут. При обращении клиента к базе с указанием порта кластера приведет к обращению все к той же базе.

Если автор создавал кластер для тестовых целей, не указано, с каким именем создана в нем новая база.
13. Fox-trot 163 08.01.18 13:57 Сейчас в теме
база создана со старым именем ессесно
после всех манипуляций имеем две службы 1це и все таже одна база
14. igel9780 173 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 нужен пробел
22. alvis87 02.08.24 03:45 Сейчас в теме
Здравствуйте, есть проблема. Настроено всё по инструкции (конечно добавлен пробел (19)), все запускается и работает. Однако каждое утро возникает ошибка, пользователи не могут зайти на первый кластер (с портами по умолчанию).
"Ошибка установки соединения по причине: Свободный рабочий процесс сервера 1С:Предприятия не найден за 20 попыток с интервалом 1500 миллисекунд"

В утилите администрирования обнаруживаем, что "Локальный кластер" теперь называется 0, а при попытке открыть что-то из его содержимого получаем сообщение об ошибке:
"Сервер <Имя сервера> не является центральным для кластера 00000000-0000-0000-0000-000000000000."

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

https://v8.1c.ru/priobretenie-i-vnedrenie/otvety-na-tipovye-voprosy-po-litsenzirovaniyu-1s-predpriyatiya-8/
23. alul 15.01.25 00:43 Сейчас в теме
Еще б рассказали как это счастье обновлять, цены б не было
Оставьте свое сообщение