Почему 1С не видит программные лицензии на виртуальных серверах с файловыми базами и как решить эту проблему?

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

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

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

---

Почему HASP License Manager не помогает и как 1С ищет программные лицензии

Выясним первопричину поведения системы. В оригинальном обсуждении автор попытался установить HASP License Manager на виртуальный сервер с программной лицензией в надежде, что это поможет «раздать» лицензии на другие серверы по сети. Это классическая ошибка.

HASP License Manager работает исключительно с аппаратными (железными) USB-ключами защиты. Программные лицензии (файлы с расширением .lic) этот менеджер не видит и раздавать по сети не умеет.

Давайте проанализируем, как именно клиентское приложение 1С осуществляет поиск программной лицензии при запуске файловой базы:

  1. Клиент ищет лицензионный файл .lic на локальном компьютере (в каталогах профиля пользователя или в общих системных папках %ALLUSERSPROFILE%\1C\licenses).
  2. Если файл найден, проверяется привязка лицензии к ключевым параметрам данного компьютера (имя, процессор, материнская плата, сетевая карта и т.д.).
  3. Если лицензия локально не найдена, клиент 1С прекращает поиск. Он не умеет искать файлы лицензий по сети на других компьютерах или в общих сетевых папках (UNC-путях вроде \\Server1\share\).

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

---

Вариант 1. Публикация файловых баз на веб-сервере (IIS или Apache)

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

Разберем по шагам, как это работает:

  1. На Сервере 1 (где установлена лицензия) устанавливается и настраивается веб-сервер (например, бесплатный Apache или встроенный в Windows IIS).
  2. Через конфигуратор 1С или утилиту публикации выполняется публикация файловых баз на этом веб-сервере.
  3. Пользователи со второго и третьего серверов подключаются к базам не по сетевому пути (через локальную сеть), а по протоколу HTTP/HTTPS (например, http://server1/base_name).

В этом сценарии веб-сервер сам обращается к локальной программной лицензии на Сервере 1 и «раздает» ее подключившимся клиентам. Однако у этого метода есть важные технические ограничения, которые необходимо учитывать:

---

Вариант 2. Использование терминального доступа (RDS / RemoteApp)

Выясним, как задействовать терминальный режим. Если у вас куплена многопользовательская лицензия (например, на 100 рабочих мест), наиболее логичным шагом будет организация работы пользователей в режиме терминала на том сервере, где активированы лицензии.

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

  1. На Сервере 1 разворачивается служба удаленных рабочих столов (RDS).
  2. Программа «1С:Предприятие» публикуется как удаленное приложение (RemoteApp).
  3. На рабочих столах пользователей (или на Сервере 2 и Сервере 3) создаются ярлыки RemoteApp.

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

---

Вариант 3. Переход на клиент-серверный вариант (SQL)

Если масштабы системы требуют полноценной работы трех серверов, оптимальным решением станет покупка и установка лицензии на Сервер «1С:Предприятия».

Проанализируем преимущества этого подхода:

---

Вариант 4. Конвертация многопользовательской лицензии в однопользовательские

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

При покупке комплекта программных лицензий (например, на 50, 100 или более мест) в коробке поставляются два типа пин-кодов:

Если вы по ошибке активировали лицензию как многопользовательскую на одном сервере, но теперь вам нужно распределить их (например, активировать по 30 лицензий на каждом из трех серверов), вам необходимо обратиться в Центр лицензирования 1С по электронной почте. Опишите вашу ситуацию, укажите регистрационный номер комплекта, и вам предоставят новые пин-коды для деления лицензии на однопользовательские пакеты.

---

Критически важно: особенности работы программных лицензий на виртуалках

Поскольку в вашем ИТ-окружении используются виртуальные машины, обязательно выполните следующие настройки, чтобы активированные лицензии неожиданно не «слетели» при перезагрузке или миграции хостов:

  1. Зафиксируйте MAC-адрес: В настройках виртуального сетевого адаптера каждой ВМ установите статический MAC-адрес. Динамический MAC-адрес гарантированно приведет к деактивации лицензии после перезагрузки виртуальной машины.
  2. Отключите динамическую память: Выделите виртуальной машине фиксированный объем оперативной памяти (RAM). Использование динамического распределения памяти (Dynamic Memory в Hyper-V или Ballooning в VMware) изменяет параметры конфигурации системы, что распознается защитой 1С как изменение компьютера.
  3. Зафиксируйте топологию CPU: При использовании кластеров виртуализации настройте режим совместимости процессоров (CPU Compatibility Mode), чтобы при миграции виртуальной машины между физическими серверами не изменялся идентификатор процессора.

Соблюдение этих правил и выбор одного из четырех предложенных вариантов раздачи лицензий позволят вам построить стабильную и отказоустойчивую систему работы с «1С:Предприятием 8».

← На главную