Параллельный запуск нескольких серверов 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С v8.3 Россия Платные (руб)

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

8400 руб.

20.08.2024    13223    100    46    

104

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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    10162    47    5    

78

SALE! %

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

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

4800 3840 руб.

14.01.2013    190762    1151    0    

918

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

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

15000 руб.

10.11.2023    11498    40    27    

66

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

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

14400 руб.

29.04.2020    33679    109    152    

75

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

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

3600 руб.

06.02.2017    32536    145    18    

51

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

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

6000 руб.

06.11.2012    73603    629    45    

88

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

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

3000 руб.

21.07.2022    10122    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2852 23.04.12 15:27 Сейчас в теме
А как перекинуть базу с одного сервера на другой?
Всё. Ступил. Через консоль администрирования 1с
2. mxm2 1268 23.04.12 15:41 Сейчас в теме
Вариант 1 - через конфигуратор (выгрузка - загрузка данных)
Вариант 2 - через администрирование серверов 1с, от одного оцепить базу (удаление, без фактической очистки), к другому подцепить (SQL - база останется прежней)
3. anig99 2852 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 731 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 1268 19.02.13 15:51 Сейчас в теме
(14) Igor2010, -debug - Отработает в любом месте... а насчет рабочего сервера - Вы правы, добавлю...)
4. Yashazz 4802 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 1268 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 1268 25.04.12 19:20 Сейчас в теме
(5) steklonit, В свое время как-то не получилось найти Ваше описание, по сему и пришлось "изобрести велосипед"... в качестве компенсации могу поместить ссылку на Вашу статью в основном тексте. Замечу также, что в 8.2 потерь в производительности отладочной копии практически нет. И еще: запуск сервера в режиме отладки особенно востребован, когда разрабатываемая конфигурация использует тонких клиентов/управляемые формы, как например УТ 11. Сам "делил" сервер 1с с целью проверки возможности избавления от глюка "1970 года" (когда в у пользователей при выводе на экран печатных форм документов, текстовых представлений дат на форме документа и отчетов вместо правильной даты скажем 13.03.2012, выводится 01.01.1970, сама дата документа в журнале при этом отображается правильно), глюк возникает раз в 2-3 дня, лечится перезапуском агента сервера 1с. Разделением проверял версию, что подобное влияние оказывает отладочный режим сервера: в неотладочном режиме частота глюка уменьшилась, но он всеравно проявляется. Пока решаю проблему еженочным рестартом агента (что при наличии обменов не есть хорошо).
8. CratosX 114 29.04.12 18:21 Сейчас в теме
(7) смещение дат 2000 пробовали?
9. mxm2 1268 03.05.12 07:46 Сейчас в теме
(8) cratos2, cмещение с самого начала 2000. на всех базах.
10. mxm2 1268 03.05.12 10:53 Сейчас в теме
Выявлена еще одна закономерность: раньше (при отладке в том же сервере 1с) были отдельные зависания при работе пользователей в "боевой" базе, сейчас (при "изолированной" отладке в отдельном сервере 1с) - подобного влиения не наблюдается. так что "делить" всетаки есть смысл.
16. IgorXml 731 19.02.13 16:00 Сейчас в теме
Спасибо. Публикация лучшая на эту тему для 1С-иков. Понятно и наглядно.
17. Oleg_nsk 279 21.02.13 10:23 Сейчас в теме
Интересно. И когда это можно будет делать штатными средствами? Слишком уж насущная проблема, когда на поддержке около десяти клиентов и более.
18. motkot 54 21.02.13 11:25 Сейчас в теме
После добавления второй службы в режиме отладки перестали запускаться в автоматическом режиме обе. Вручную стартуют. ОС Win 2008 R2. Журнал винды говорит "Сбой при запуске службы "Агент сервера 1С:Предприятия 8.2 (x86-64)" из-за ошибки Имя учетной записи задано неверно или не существует, или же неверен указанный пароль."
Но почему вручную стартует нормально? Да и несколько раз "перевбивали" данные учетки. Никто не сталкивался, как решить?
19. mxm2 1268 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 1268 21.02.13 20:51 Сейчас в теме
(21) motkot, ок, спасибо за информацию. позднее включу.
23. mxm2 1268 02.04.13 11:06 Сейчас в теме
http://infostart.ru/public/178238/ - делает все, что здесь описано автоматом.
24. Tavalik 3416 19.03.14 10:14 Сейчас в теме
Спасибо! Все получилось.

Только надо еще правило для новых портов в Брандмауэр Windows добавить.
25. Tavalik 3416 05.06.14 10:25 Сейчас в теме
А объясните еще пожалуйста мне, почему нельзя включать режим отладки на сервере с боевыми базами? Я же буду производить отладку не на рабочей базе, а на тестовой.
26. mxm2 1268 05.06.14 10:47 Сейчас в теме
(25) Tavalik, Можно включить, но при отладке даже не рабочей базы Вы сможете "свалить" экземпляр сервера 1С, на котором работают люди.
27. Tavalik 3416 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 70 13.06.17 10:55 Сейчас в теме
А как вы в консоли добавили новый сервер ?
Я добавляю, но посмотреть не могу - ошибка в разнице версий.
Как после установки 2+ серверов ими управлять корректно ?
32. mxm2 1268 13.06.17 14:27 Сейчас в теме
(31) Сейчас у меня вертятся 4 сервера 1с , два - одной версии (обычный + отладка), два - другой (обычный + отладка), при этом установлено одновременно две консоли сервера (для каждой версии). При запуске, если обратится к серверу из не той консоли - ругается на несоответствие версий. Базы нужно добавлять из правильной консоли (хотя они прописываются в дереве обеих консолей)
33. 7OH 70 13.06.17 17:39 Сейчас в теме
(32) Ну базы то добавляются - тут вопросов нет - они знают как работать.
А вот консоль увы нет - консоль то ОДНА.
А хочется иметь возможность выкинуть пользователя.
Насколько я понял - это невозможно. Также, как и установка ком-коннектора : только разные мажорные версии (8.2 + 8.3).
34. mxm2 1268 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 70 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 1268 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 70 14.06.17 13:56 Сейчас в теме
(36) Спасибо за наводку - буду думать, кого на х64 пересадить
(получается полноценно будут работать только ДВА сервера)
39. 7OH 70 27.02.18 15:37 Сейчас в теме
(35) нашел для себя рабочий вариант с одинаковой разрядностью
https://infostart.ru/public/71077/
тут
40. artgen 20.08.18 10:38 Сейчас в теме
"Переключение базы в режим отладки:
Чтобы переключить существующую базу из "рабочего" режима в режим "отладки", достаточно отсоединить её в консоли администратора (рис.4) от рабочего сервера естественно без очистки, и подсоединить к отладочному (это происходит очень быстро), не забываем изменить порт сервера в описании пути к базе."

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