Как запустить несколько разных версий сервера 1С на одном компьютере

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Анализ проблемы: почему нельзя просто запустить два клиента

Разберем ситуацию, с которой столкнулся автор темы. На сервере установлена платформа версии 8.3.14.1779. При установке новой версии 8.3.15.1489 клиентское приложение обновляется, но служба сервера 1С (агент сервера) остается привязанной к старому исполняемому файлу. Если в настройках информационной базы в стартере 1С указать конкретную версию платформы, отличную от версии сервера, возникнет конфликт. Клиент попытается подключиться к серверу, версии не совпадут, и работа станет невозможной. Для полноценной работы необходимо, чтобы на сервере функционировали два независимых экземпляра службы ragent.exe.

Шаг 1. Установка второй версии платформы

Проанализируем процесс установки. При запуске инсталлятора новой версии платформы важно выполнить следующие действия:

  1. Запускаем программу установки в обычном режиме.
  2. В списке компонентов выбираем необходимые (Сервер 1С:Предприятия, Модули расширения веб-сервера и т.д.).
  3. Критически важный момент: на этапе выбора параметров запуска службы необходимо снять галочку "Установить Сервер 1С:Предприятия как сервис Windows". Мы создадим эту службу вручную позже, чтобы иметь возможность гибко настроить ее параметры.
  4. Завершаем установку платформы.

Шаг 2. Создание новой службы сервера через командную строку

Теперь рассмотрим, как зарегистрировать вторую службу в системе. Стандартная служба 1С обычно называется 1C:Enterprise 8.3 Server Agent. Нам нужно создать службу с уникальным именем, которая будет ссылаться на исполняемый файл новой версии. Для этого воспользуемся утилитой sc create.

Выясним, какие параметры нам потребуются. Для изоляции второй версии сервера мы должны изменить стандартные порты и указать новый каталог данных кластера (srvinfo). Проанализируем пример команды для создания службы:


sc create "1C:Enterprise 8.3.15.1489" binPath= "\"C:\Program Files\1cv8\8.3.15.1489\bin\ragent.exe\" -srvc -agent -regport 1640 -port 1641 -range 1660:1691 -d \"C:\1C_Data\srvinfo_8_3_15\"" start= auto obj= "NT AUTHORITY\LocalService"

Разберем подробнее каждый флаг в этой команде:

Шаг 3. Настройка прав доступа и запуск

После создания службы необходимо убедиться, что у пользователя, от имени которого она запускается (в нашем примере LocalService или специально созданная учетная запись USR1CV8), есть полные права доступа на созданную папку данных C:\1C_Data\srvinfo_8_3_15. Проверим это через свойства папки на вкладке "Безопасность".

Запустим службу через оснастку "Службы" или командой:

net start "1C:Enterprise 8.3.15.1489"

Шаг 4. Решение проблем с консолью администрирования (MMC)

Рассмотрим ситуацию, описанную в сообщениях форума: "консоль кластера не хочет подниматься". Причина кроется в механизме регистрации COM-компонентов Windows. Оснастка MMC (файл 1cv8.msc) использует библиотеку radm.dll. В операционной системе может быть зарегистрирована только одна версия этой библиотеки одновременно.

Если вам нужно управлять новым кластером через стандартную консоль, попробуйте зарегистрировать нужную библиотеку вручную:

regsvr32 "C:\Program Files\1cv8\8.3.15.1489\bin\radm.dll"

Однако этот метод неудобен, если нужно постоянно переключаться между версиями. Рассмотрим альтернативный и более современный подход — использование сервера администрирования ras.exe.

Шаг 5. Настройка RAS и Java-консоли

Вместо использования капризной MMC-консоли, мы можем запустить для каждой версии платформы свой сервер администрирования (RAS). Это позволит управлять серверами через кроссплатформенную утилиту или командную строку (RAC). Разберем, как запустить RAS для новой версии на отдельном порту:


"C:\Program Files\1cv8\8.3.15.1489\bin\ras.exe" cluster --port=1645 localhost:1640

Теперь, используя современную "1С:Администрирование серверов" (написанную на Java), мы можем одновременно подключиться к порту 1545 (для версии 8.3.14) и к порту 1645 (для версии 8.3.15) без каких-либо конфликтов регистраций в системе.

Шаг 6. Настройка подключения на стороне клиента

Выясним, как пользователю подключиться к базе, работающей на "нестандартной" службе. В списке информационных баз при добавлении или редактировании адреса сервера необходимо явно указывать порт главного менеджера кластера. Формат строки подключения будет следующим:

ИмяСервера:1641

Где 1641 — это порт, который мы указали в параметре -port при создании службы. Если порт не указать, клиент по умолчанию попытается подключиться к 1541 и попадет на старую версию сервера 1С.

Оптимизация ресурсов и лицензирование

Проанализируем влияние такой настройки на сервер. Важно помнить следующее:

  1. Оперативная память: каждая служба сервера запускает свои процессы rmngr.exe и несколько rphost.exe. Это увеличивает потребление RAM. Рекомендуется ограничить объем памяти на один рабочий процесс в настройках каждого кластера.
  2. Лицензирование: программные лицензии 1С обычно привязываются к характеристикам железа сервера. Запуск нескольких служб на одном сервере не требует покупки дополнительных лицензий "на сервер", так как лицензия проверяется по факту наличия на данном компьютере. Сеансовые лицензии также будут раздаваться корректно обеими службами из общего пула (если они доступны через сеть или лежат в общей папке conf).
  3. Обновления: теперь при обновлении платформы вам придется вручную обновлять параметры соответствующих служб через реестр или пересоздавать их.

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

← На главную