Параллельный запуск нескольких серверов 1С одной версии (в обычном режиме и в режиме отладки)

15.04.13

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

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

Изначально было найдено описание решения: //infostart.ru/public/71077/

"В 1С:Предприятии отсутствуют штатные возможности по регистрации нескольких экземпляров сервера 1С:Предприятия одной версии (8.1 или 8.2).

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

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

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

Первоначальная установка: 

Начальные условия: 1 копия агента сервера 1С уже установлена как служба. 

Порядок добавления второй (отладочной) копии:

1. Создаем новую папку для служебной информации сервера (рис. 1)рис. 1

проверяем/устанавливаем права доступа на данную папку сервера (anig99)

2. Создаем новую ветку реестра (проще всего через экспорт - импорт), меняем порты (на стандатных портах уже работает другой сервер 1с), папку (пп1), добавляем ключ "-debug" (для запуска в режиме отладки) рис. 2

Рис. 2
Параметр -debug можно расположить в любом месте строки параметров (на рисунке он в конце).

3. После этого нужно перезагрузить MS сервер - соответствующая служба появится в списке служб сервера  (рис. 3)

рис.3

Можно обойтись без перезагрузки сервера. Достаточно воспользоваться командой sc. что-то типа sc create 1CServerEnterpriseServer binPath= "C:\Program Files (x86)\1cv82\8.2.15.310\bin\ragent.exe". В этом случае создаться ветка в реестре и служба сразу появится в списке служб Windows. Останется только удалить из реестра эту новую ветку и переименовать созданную нами в 1CServerEnterpriseServer (вместо 1C:Enterprise 8.2 Server Agent[debug]). Все. Обновляем список служб и видим нашу службу, которую можно запускать.  (anig99)

Иногда после добавления второй службы в режиме отладки перестают запускаться в автоматическом режиме обе. Вручную стартуют. Журнал винды говорит "Сбой при запуске службы "Агент сервера 1С:Предприятия 8.2 (x86-64)" из-за ошибки Имя учетной записи задано неверно или не существует, или же неверен указанный пароль.", в этом случае нужно либо использовать для запуска сервера локальную учетную запись, либо вместо сетевой записи учетки типа username@domain, использовать запись типа domain\username. (motkot)

4. Создаем новую ветку в администрировании Серверов 1С (с соотвествующим портом) рис. 4

рис. 4
Возможно, понадобится также, создать рабочий сервер и процесс (иногда они не создаются автоматом) (Igor2010)

5. Создаем новую базу 1С: (здесь важно в имени сервера указать наш нестандартный порт например так "Srv:1741"), pис. 5

рис.5

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

Реконфигурация при обновлении платформы

После обновления платформы заново придется вносить правку в реестр (исправлять путь) поскольку в службах будет примерно следующая картина, рис 6:

Обновление платформы, службы (рис.6)

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

Для этого, всего-то нужно немного подправить реестр, как мы уже видели ранее, на рис 2, т.е. приблизительно так, рис.7:

Обновлеине платформы, реестр (рис.7)

 

После этого нужно проверить и перезапустить соответсвующую службу, рис.8:Обновлеине платформы, проверка и перезапуск службы (рис.8)

Переключение базы в режим отладки: 

Чтобы переключить существующую базу из "рабочего" режима в режим "отладки", достаточно отсоединить её в консоли администратора (рис.4) от рабочего сервера естественно без очистки, и подсоединить к отладочному (это происходит очень быстро), не забываем изменить порт сервера в описании пути к базе (рис.5). 

В процессе поиска решения были использованы материалы: 

//infostart.ru/public/71077/ 

http://www.gilev.ru/1c/app/ 

http://www.intelav.ru/help/install-1c-server

Особое спасибо: anig99Igor2010motkot, за дельные комментрии.

Теперь мы знаем: что и как делается.)))

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

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 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    2964    13    1    

34

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3497    11    1    

33

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177723    1073    0    

849

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

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

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

14400 руб.

29.04.2020    27369    79    146    

59

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

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

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

4200 руб.

10.11.2015    61309    88    59    

73

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

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

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

20000 руб.

12.09.2019    11742    5    9    

7

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

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

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

3600 руб.

06.02.2017    31105    31    18    

47

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

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

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

12000 руб.

09.10.2019    10974    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2843 23.04.12 15:27 Сейчас в теме
А как перекинуть базу с одного сервера на другой?
Всё. Ступил. Через консоль администрирования 1с
2. mxm2 1263 23.04.12 15:41 Сейчас в теме
Вариант 1 - через конфигуратор (выгрузка - загрузка данных)
Вариант 2 - через администрирование серверов 1с, от одного оцепить базу (удаление, без фактической очистки), к другому подцепить (SQL - база останется прежней)
3. anig99 2843 23.04.12 16:26 Сейчас в теме
(2) второй вариант предпочтительнее, иначе долго.
(0) Ещё пару дополнение к статье:
- нужно установить права доступа на папку сервера srvinfo[debug] (особенно когда сервер запускается под отдельным пользователем)
- можно обойтись без перезагрузки сервера. Достаточно воспользоваться командой sc. что-то типа
sc create 1CServerEnterpriseServer binPath= "C:\Program Files (x86)\1cv82\8.2.15.289\bin\ragent.exe"
В этом случае создаться ветка в реестре и служба сразу появится в списке служб Windows. Останется только удалить из реестра эту новую ветку и переименовать созданную нами в 1CServerEnterpriseServer (вместо 1C:Enterprise 8.2 Server Agent[debug]). Все. Обновляем список служб и видим нашу службу, которую можно запускать.
begemot; mxm2; IgorXml; sevushka; +4 Ответить
14. IgorXml 724 19.02.13 15:41 Сейчас в теме
(3) anig99, Это не удобно: "..sc create 1CServerEnterpriseServer binPath= "C:\Program Files (x86)\1cv82\8.2.15.289\bin\ragent.exe.."". Руками потом параметры набивать надо.
По самой публикации надо добавить:
- в пункте 5. "Создаем новую базу 1С:..." не получится, пока не создадите в консоле рабочий сервер и процесс. Я вручную сделал после пункта 4.
Проверял на Windows Server 2008 r2 1С 8.2.17.
15. mxm2 1263 19.02.13 15:51 Сейчас в теме
(14) Igor2010, -debug - Отработает в любом месте... а насчет рабочего сервера - Вы правы, добавлю...)
4. Yashazz 4709 25.04.12 16:26 Сейчас в теме
Можно очень тупой вопрос: а зачем? Что именно тестируется таким образом? Чем плох тот же сервер?
6. steklonit 25.04.12 17:34 Сейчас в теме
(4) Yashazz, на сервере, запущенном без ключа debug, невозможна отладка кода модулей, выполняющихся в контексте сервера.
"Боевой" сервер нельзя запускать с ключом debug из-за особенностей работы кеша - приложение будет работать заметно медленнее.

Так же правильным решением является наличие тестового сервера приложений по той причине, что программист может неосторожно "положить" сервер предприятия своим сырым кодом, при этом пользователи, работающие на боевом сервере, продолжат работать без проблем.
11. sanfoto 502 07.11.12 09:08 Сейчас в теме
(6) steklonit,
"Боевой" сервер нельзя запускать с ключом debug из-за особенностей работы кеша - приложение будет работать заметно медленнее.

А есть реальное подтверждение?
У нас не было замечено замедления на 1с 8.2)) правда все Дебажится в копиях БД(периодически копии обновляем из Бэкапа основной БД) и потом подтягивается в основную из Хранилища.
12. mxm2 1263 07.11.12 09:25 Сейчас в теме
(11) sanfoto, про скорость: кроме субъективных наблюдений ничего нет...), но отлаживать лучше в отдельном процессе, т.к. иногда проще передернуть отлаживаемый сервер 1С, чем дождаться окончания процесса. Да вобщем то при отладке некоторых вещей и "свалить" сервер 1с получалось )
13. sanfoto 502 07.11.12 09:41 Сейчас в теме
(12)
"свалить" сервер 1с получалось )

аналогично)) но никто не отменял несколько rphost сделать))

а вообще мы сейчас ушли от этой схемы... для прогеров отдельная железка - таки это более реальная изоляция))
5. steklonit 25.04.12 17:29 Сейчас в теме
7. mxm2 1263 25.04.12 19:20 Сейчас в теме
(5) steklonit, В свое время как-то не получилось найти Ваше описание, по сему и пришлось "изобрести велосипед"... в качестве компенсации могу поместить ссылку на Вашу статью в основном тексте. Замечу также, что в 8.2 потерь в производительности отладочной копии практически нет. И еще: запуск сервера в режиме отладки особенно востребован, когда разрабатываемая конфигурация использует тонких клиентов/управляемые формы, как например УТ 11. Сам "делил" сервер 1с с целью проверки возможности избавления от глюка "1970 года" (когда в у пользователей при выводе на экран печатных форм документов, текстовых представлений дат на форме документа и отчетов вместо правильной даты скажем 13.03.2012, выводится 01.01.1970, сама дата документа в журнале при этом отображается правильно), глюк возникает раз в 2-3 дня, лечится перезапуском агента сервера 1с. Разделением проверял версию, что подобное влияние оказывает отладочный режим сервера: в неотладочном режиме частота глюка уменьшилась, но он всеравно проявляется. Пока решаю проблему еженочным рестартом агента (что при наличии обменов не есть хорошо).
8. CratosX 112 29.04.12 18:21 Сейчас в теме
(7) смещение дат 2000 пробовали?
9. mxm2 1263 03.05.12 07:46 Сейчас в теме
(8) cratos2, cмещение с самого начала 2000. на всех базах.
10. mxm2 1263 03.05.12 10:53 Сейчас в теме
Выявлена еще одна закономерность: раньше (при отладке в том же сервере 1с) были отдельные зависания при работе пользователей в "боевой" базе, сейчас (при "изолированной" отладке в отдельном сервере 1с) - подобного влиения не наблюдается. так что "делить" всетаки есть смысл.
16. IgorXml 724 19.02.13 16:00 Сейчас в теме
Спасибо. Публикация лучшая на эту тему для 1С-иков. Понятно и наглядно.
17. Oleg_nsk 277 21.02.13 10:23 Сейчас в теме
Интересно. И когда это можно будет делать штатными средствами? Слишком уж насущная проблема, когда на поддержке около десяти клиентов и более.
18. motkot 54 21.02.13 11:25 Сейчас в теме
После добавления второй службы в режиме отладки перестали запускаться в автоматическом режиме обе. Вручную стартуют. ОС Win 2008 R2. Журнал винды говорит "Сбой при запуске службы "Агент сервера 1С:Предприятия 8.2 (x86-64)" из-за ошибки Имя учетной записи задано неверно или не существует, или же неверен указанный пароль."
Но почему вручную стартует нормально? Да и несколько раз "перевбивали" данные учетки. Никто не сталкивался, как решить?
19. mxm2 1263 21.02.13 11:33 Сейчас в теме
(18) motkot, учетка не сетевая случаем?... если да, попорбуйте локальную учетку.
20. motkot 54 21.02.13 11:36 Сейчас в теме
(19) сетевая, но работала при наличии одной службы.
21. motkot 54 21.02.13 20:42 Сейчас в теме
(19) решение есть с сетевой учеткой, было введено в настройках службы username@domain, а если ввести domain\username то все работает на ура. можно включить в статью ;)
22. mxm2 1263 21.02.13 20:51 Сейчас в теме
(21) motkot, ок, спасибо за информацию. позднее включу.
23. mxm2 1263 02.04.13 11:06 Сейчас в теме
http://infostart.ru/public/178238/ - делает все, что здесь описано автоматом.
24. Tavalik 3350 19.03.14 10:14 Сейчас в теме
Спасибо! Все получилось.

Только надо еще правило для новых портов в Брандмауэр Windows добавить.
25. Tavalik 3350 05.06.14 10:25 Сейчас в теме
А объясните еще пожалуйста мне, почему нельзя включать режим отладки на сервере с боевыми базами? Я же буду производить отладку не на рабочей базе, а на тестовой.
26. mxm2 1263 05.06.14 10:47 Сейчас в теме
(25) Tavalik, Можно включить, но при отладке даже не рабочей базы Вы сможете "свалить" экземпляр сервера 1С, на котором работают люди.
27. Tavalik 3350 06.06.14 08:39 Сейчас в теме
(26)
Я тоже об этом слышал. Но не могу понять, почему такое может произойти?
28. dyak84 30.12.14 12:22 Сейчас в теме
Автор спасибо статья помогла все получилось так держать.
29. AisteamService 11.02.16 13:48 Сейчас в теме
У меня заработало только после того, как сделал одинаковые имена серверов в консоли администрирования. Это нормально или косяк?
38. AcaddemiC 19.06.17 16:45 Сейчас в теме
(29)

Иван, вы разобрались с этим вопросом? Смогли как-то "переименовать" имя сервера?
30. rugnom 04.07.16 14:23 Сейчас в теме
А при запуске второго сервиса 1С в режиме отладки не нарушается лицензионное соглашение?
31. 7OH 69 13.06.17 10:55 Сейчас в теме
А как вы в консоли добавили новый сервер ?
Я добавляю, но посмотреть не могу - ошибка в разнице версий.
Как после установки 2+ серверов ими управлять корректно ?
32. mxm2 1263 13.06.17 14:27 Сейчас в теме
(31) Сейчас у меня вертятся 4 сервера 1с , два - одной версии (обычный + отладка), два - другой (обычный + отладка), при этом установлено одновременно две консоли сервера (для каждой версии). При запуске, если обратится к серверу из не той консоли - ругается на несоответствие версий. Базы нужно добавлять из правильной консоли (хотя они прописываются в дереве обеих консолей)
33. 7OH 69 13.06.17 17:39 Сейчас в теме
(32) Ну базы то добавляются - тут вопросов нет - они знают как работать.
А вот консоль увы нет - консоль то ОДНА.
А хочется иметь возможность выкинуть пользователя.
Насколько я понял - это невозможно. Также, как и установка ком-коннектора : только разные мажорные версии (8.2 + 8.3).
34. mxm2 1263 14.06.17 07:46 Сейчас в теме
(33)Вы правы, тут есть небольшая "хитрость", про которую забыл упомянуть в предыдущем посте: одна из консолей запускается из папки установленным сервером (64 бит), а вторая из папки клиента (32 бит). смотрите рисунок. Версии 8.3.6.х и 8.3.10.х.

8.3.6.х - установлена как 64 бит сервер + 32 бит клиент (Консоль из клиента)
8.3.10.х. - установлена как 64 бит сервер + клиент (единый установщик, Консоль из 64 бит версии)

Com коннектор - из одной в другую платформу работает через обёртку (в службе компонентов)
Прикрепленные файлы:
35. 7OH 69 14.06.17 09:18 Сейчас в теме
(34) Можете "на пальцах" объяснить - как вы этого добились ?
У меня один комп, на нём 2 службы сервера (8.3.9 и 8.3.10).
Но сама консоль одна - c:\Program Files (x86)\1cv8\common\1CV8 Servers.msc.
Я пытался делать папки COMMON с разными версиями, но всё равно работает только одна.
Или Вы имеете в виду, что у вас вторая в "c:\Program Files\1cv8\common\1CV8 Servers.msc" ?
36. mxm2 1263 14.06.17 13:18 Сейчас в теме
(35) у меня такие пути в ярлыках консолей серверов
32бит: "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
64бит: "C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc"

Установлено:
8.3.6.х - установлена как 64 бит сервер + 32 бит клиент (Консоль из клиента)
8.3.10.х. - установлена как 64 бит сервер + клиент (единый установщик, Консоль из 64 бит версии)
Прикрепленные файлы:
37. 7OH 69 14.06.17 13:56 Сейчас в теме
(36) Спасибо за наводку - буду думать, кого на х64 пересадить
(получается полноценно будут работать только ДВА сервера)
39. 7OH 69 27.02.18 15:37 Сейчас в теме
(35) нашел для себя рабочий вариант с одинаковой разрядностью
https://infostart.ru/public/71077/
тут
40. artgen 20.08.18 10:38 Сейчас в теме
"Переключение базы в режим отладки:
Чтобы переключить существующую базу из "рабочего" режима в режим "отладки", достаточно отсоединить её в консоли администратора (рис.4) от рабочего сервера естественно без очистки, и подсоединить к отладочному (это происходит очень быстро), не забываем изменить порт сервера в описании пути к базе."

Так при отсоединении придется выгонять всех пользователей? Или можно включить отладку для базы без отключения пользователей?
41. mxm2 1263 22.08.18 09:07 Сейчас в теме
(40) Придется выгонять пользователей. Более того у пользователей придется скорректировать путь к базе (изменить/добавить порт)
42. artgen 22.08.18 09:35 Сейчас в теме
(41) А зачем тогда таким образом включать отладку для базы? С двумя разными базами, еще понятно зачем это надо. То есть одна база работает с отладкой, а вторая без отладки. Но зачем для одной базы включать отладку подобным образом? Ведь все-равно придется выгонять пользователей, да еще и путь к базе менять. Не проще для включения отладки для конкретной базы просто, как и делали всегда, добавить -debug для службы? В чем профит так включать отладку для конкретной базы?
Оставьте свое сообщение