При сопровождении информационных баз 1С нередко возникает необходимость параллельного запуска двух платформ разных версий (например, 1С:Предприятие 8.2 и 8.3) на одной операционной системе. Разделение сетевых портов для служб агентов серверов обычно не вызывает трудностей, однако системные администраторы часто сталкиваются с конфликтом оснасток администрирования MMC (1cv8.msc): центральные серверы дублируются в обеих консолях, изменение параметров в одной версии затрагивает другую, а при попытке указать другое имя центрального сервера система выдает ошибку о неизвестном хосте.
Разберем причины возникновения таких конфликтов и рассмотрим пошаговое руководство по полной изоляции двух серверов и их консолей управления.
Проанализируем природу проблемы. Конфликт возникает из-за трех основных факторов:
radmin.dll. В операционной системе Windows одновременно может быть зарегистрирована только одна библиотека определенной версии. Если запущена оснастка 8.2, но в реестре зарегистрирована DLL от 8.3, консоль будет работать через интерфейс старшей версии.-d, они могут обращаться к общим ресурсам.Убедимся, что для каждой службы 1С:Предприятия заданы собственные сетевые порты и независимые каталоги кластеров. Настройка выполняется в свойствах службы или через редактирование ключа реестра ImagePath в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
Параметры запуска первой службы (например, 1С 8.2) оставляем стандартными:
-port): 1540-regport): 1541-range): 1560:1591-d): "C:\Program Files\1cv82\srvinfo"Для второй службы (1С 8.3) смещаем диапазоны портов и явно указываем изолированный каталог данных:
-port): 2540-regport): 2541-range): 2560:2591-d): "C:\Program Files\1cv8\srvinfo"Посмотрим на пример строки запуска второй службы в параметре реестра ImagePath:
"C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo"
Чтобы обе консоли не путали узлы и корректно открывали структуру кластера, назначим центральным серверам разные имена хостов. Самый простой вариант — использовать в одной консоли реальное сетевое имя сервера (NetBIOS-имя), а во второй — системный псевдоним localhost или IP-адрес 127.0.0.1.
Если требуется назначить более понятные имена, проанализируем настройку локального файла hosts. Откроем файл C:\Windows\System32\drivers\etc\hosts с правами администратора и добавим псевдонимы для локального адреса:
127.0.0.1 srv1c-82
127.0.0.1 srv1c-83
После сохранения файла зарегистрируем центральные серверы в оснастках:
Чтобы исключить взаимовлияние оснасток и сбои при сохранении настроек портов, выполним перерегистрацию библиотеки radmin.dll непосредственно перед открытием нужной консоли. Для этого создадим два отдельных командных файла (.bat или .cmd) и запускаем консоли исключительно через них.
Командный файл для запуска консоли 1С:Предприятия 8.2 (run_console_82.cmd):
regsvr32 /s "C:\Program Files\1cv82\8.2.19.130\bin\radmin.dll"
start "" "C:\Program Files\1cv82\8.2.19.130\bin\1cv8.msc"
Командный файл для запуска консоли 1С:Предприятия 8.3 (run_console_83.cmd):
regsvr32 /s "C:\Program Files\1cv8\8.3.24.1342\bin\radmin.dll"
start "" "C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.msc"
Примечание: Если на 64-битной операционной системе установлена 32-разрядная версия сервера 1С, пути к каталогам необходимо скорректировать на Program Files (x86).
При совместной работе нескольких серверов 1С может возникать ситуация, когда одна из служб не запускается при перезагрузке операционной системы. Выясним причину: часто агент сервера 1С пытается инициализироваться до того, как сетевой стек Windows и драйверы протоколов завершат загрузку.
Для гарантированного запуска обеих служб выполним следующие настройки:
services.msc).Tcpip и LanmanServer). Для этого запустим командную строку от имени администратора и выполним команду:
sc config "1C:Enterprise 8.3 Server Agent" depend= LanmanServer/Tcpip
Такой комплекс мер полностью устраняет взаимное влияние серверов 1С:Предприятия версий 8.2 и 8.3, обеспечивая стабильную работу служб и раздельное администрирование через консоли MMC.