Переход с 32-битного сервера 1С на 64-битный: как сохранить лицензии и настроить торговое оборудование

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

Рано или поздно любая развивающаяся компания сталкивается с проблемой нехватки оперативной памяти на сервере 1С. Типичный сценарий: базы данных растут, количество пользователей увеличивается, и сервер начинает регулярно падать с критическими ошибками нехватки памяти (например, аварийное завершение рабочих процессов rphost). Причина кроется в использовании 32-битной архитектуры сервера 1С, которая имеет жесткое ограничение на адресное пространство — не более 2–3 ГБ на один рабочий процесс. Единственным надежным решением в этой ситуации является переход на 64-разрядный сервер 1С.

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

Разберем теорию: почему 32-битный сервер больше не справляется

Проанализируем архитектурные ограничения 32-битных систем. Любой 32-разрядный процесс в операционной системе Windows может адресовать максимум 4 ГБ виртуальной памяти. На практике из-за системных ограничений процессу rphost сервера 1С доступно всего около 2 ГБ (в редких случаях до 3 ГБ при использовании специального ключа разметки памяти в ОС). Как только объем временных данных, кэша или тяжелого отчета превышает этот лимит, процесс экстренно завершается. Это приводит к разрыву соединений у всех пользователей, работающих в данной базе данных.

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

Выясним ситуацию с лицензированием: слетят ли ключи

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

  1. Пользовательские (клиентские) лицензии. Эти лицензии (как программные в виде пин-кодов, так и аппаратные в виде USB-ключей) не имеют разрядности. Они абсолютно «безразличны» к тому, какая платформа установлена у пользователя или на сервере — 32-битная или 64-битная. При переходе сервера на 64-разрядную архитектуру все ваши клиентские лицензии продолжат работать в штатном режиме без необходимости повторной активации.
  2. Серверная лицензия. Здесь ситуация обстоит иначе. В линейке продуктов 1С существует четкое разделение лицензий на сервер: лицензия на 32-разрядный сервер и лицензия на 64-разрядный сервер (которая официально называется лицензией на сервер «x86-64»).
    • Если изначально ваша компания приобрела лицензию на 64-разрядный сервер, но по каким-то причинам вы установили 32-разрядную службу сервера 1С, то вам крупно повезло. Лицензия «x86-64» обладает обратной совместимостью. Вы можете смело использовать те же самые пин-коды или USB-ключ для запуска 64-битного сервера — никаких новых покупок не потребуется.
    • Если же у вас была приобретена строго 32-разрядная лицензия на сервер, запустить 64-битный сервер с ней не удастся. Вам потребуется выполнить процедуру апгрейда (обмена) лицензии через партнеров 1С со скидкой или приобрести полноценную лицензию на 64-разрядный сервер.
  3. Влияние параметров компьютера на программные лицензии. Сама по себе переустановка платформы с 32 на 64 бита на том же сервере не меняет ключевые аппаратные характеристики машины (имя компьютера, модель материнской платы, объем ОЗУ, сетевые параметры, ID системного диска). Следовательно, привязка существующих программных лицензий не нарушится, и они не «слетят». Однако помните: если параллельно с переходом на 64-битный сервер вы решите добавить серверу оперативной памяти или виртуальных ядер процессора, программные лицензии деактивируются, и их придется восстанавливать с помощью резервных пин-кодов.

Совместимость торгового оборудования в терминальном режиме (RDP)

Рассмотрим очень частую проблему: на предприятии используется торговое оборудование (например, сканеры штрихкодов в режиме эмуляции клавиатуры или COM-порта), и пользователи подключаются к 1С через удаленный рабочий стол (RDP) на том же сервере, где крутится служба 1С. Как поведет себя оборудование при обновлении сервера?

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

Пошаговый алгоритм перехода с 32-битного сервера на 64-битный

Посмотрим на практический процесс перехода. Чтобы минимизировать время простоя пользователей и избежать потери критически важных данных, выполним миграцию по шагам.

Шаг 1. Подготовка и резервное копирование. Перед проведением любых работ обязательно создайте резервные копии всех баз данных (как средствами СУБД MS SQL/PostgreSQL, так и в виде файлов выгрузки .dt). Также сделайте резервную копию каталога служебных данных сервера 1С. По умолчанию на 32-битных системах он находится по пути:

C:\Program Files (x86)\1cv8\srvinfo

Шаг 2. Остановка службы старого сервера. Зайдите в меню управления службами Windows (services.msc), найдите службу «Агент сервера 1С:Предприятие 8.3» (32-разрядную) и остановите ее. Переведите тип запуска службы в режим «Отключена».

Шаг 3. Установка 64-битной платформы 1С. Запустите технологическую платформу 1С нужного релиза (версия должна строго совпадать со старой, если вы не планируете одновременное обновление версии). При установке выберите компонент «Сервер 1С:Предприятия» и убедитесь, что устанавливается именно 64-разрядная версия службы. Помните, что исполняемые файлы 64-битной версии будут установлены в другой системный каталог:

C:\Program Files\1cv8

Шаг 4. Миграция настроек и списка баз данных (каталог srvinfo). Это критически важный этап, о котором часто забывают начинающие администраторы. Если вы просто запустите новую службу 64-битного сервера, она создаст новый пустой каталог служебных файлов по пути C:\Program Files\1cv8\srvinfo. В результате сервер «забудет» список зарегистрированных на нем баз данных, а самое главное — вы потеряете историю действий пользователей (журналы регистрации)! Для анализа и контроля содержимого рабочего каталога серверов 1С можно использовать обработку для анализа и очистки каталога srvinfo.

Чтобы этого избежать, выполните одно из двух действий:

  1. Скопируйте все содержимое старой папки srvinfo из каталога Program Files (x86) в аналогичный каталог в Program Files перед первым запуском новой службы.
  2. Или перепишите путь к рабочему каталогу в параметрах запуска новой службы Windows через реестр (параметр -d), указав старый путь, чтобы служба сразу подхватила все существующие настройки и журналы регистрации.

Шаг 5. Активация лицензии и запуск новой службы. Если у вас программная лицензия на 64-битный сервер, активируйте ее. Запустите новую службу «Агент сервера 1С:Предприятие 8.3 (x86-64)». Проверьте в диспетчере задач Windows, что процессы ragent.exe, rmngr.exe и rphost.exe теперь запускаются из каталога C:\Program Files\1cv8\... и имеют признак 64-битных процессов.

Решение распространенной проблемы: настройка V83.COMConnector

Проанализируем классическую техническую проблему, которая возникает сразу после перехода сервера на 64-битную архитектуру. Если в вашей организации настроен автоматический обмен данными между базами (например, регулярная синхронизация «Зарплата и управление персоналом» и «Бухгалтерия предприятия») посредством COM-соединения, вы гарантированно столкнетесь с ошибкой:

V83.COMConnector: Класс не зарегистрирован

Эта проблема возникает из-за того, что при установке 64-битной версии сервера в операционной системе Windows не регистрируется автоматически 64-разрядный COM-класс. Для исправления этой ситуации выполним регистрацию библиотеки вручную. Разберем этот процесс по шагам:

  1. Запустите командную строку Windows от имени Администратора.
  2. Выполните команду регистрации библиотеки comcntr.dll, указав точный путь к установленному 64-разрядному релизу платформы 1С. Выглядеть это будет следующим образом:

regsvr32 "C:\Program Files\1cv8\8.3.22.1709\bin\comcntr.dll"

Если после выполнения этой команды операционная система выдаст сообщение об успешной регистрации библиотеки, но интеграции по-прежнему будут выдавать ошибку разрядности, нам потребуется настроить приложение COM+ в службах компонентов Windows. Проделаем следующие действия:

  1. Откройте «Службы компонентов» (команда comexp.msc в строке «Выполнить»).
  2. Перейдите в ветку: «Компьютеры» — «Мой компьютер» — «Приложения COM+».
  3. Нажмите правой кнопкой мыши на «Приложения COM+», выберите «Создать» — «Приложение».
  4. В мастере создания выберите «Создать новое приложение», введите имя (например, 1C_COM_64bit) и установите способ активации «Серверное приложение».
  5. В созданном приложении откройте ветку «Роли» и убедитесь, что у пользователей, от имени которых запускается служба сервера 1С, есть права на запуск.
  6. В ветке созданного приложения нажмите правой кнопкой мыши на «Компоненты», выберите «Создать» — «Компонент».
  7. Выберите «Установка новых компонентов» и укажите путь к файлу comcntr.dll в каталоге C:\Program Files\1cv8\[Версия_Релиза]\bin\.

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

Подведем итоги работы

Переход на 64-разрядную версию сервера 1С — это логичный шаг в развитии ИТ-инфраструктуры любой компании, позволяющий раз и навсегда забыть об ошибках нехватки памяти рабочих процессов. Мы выяснили, что этот процесс полностью безопасен для существующих пользовательских лицензий, а при наличии лицензии «x86-64» не потребует дополнительных финансовых затрат. Сохранение работоспособности торгового оборудования легко достигается комбинированием разрядности клиентских приложений на терминальном сервере, что обеспечивает плавную и комфортную работу пользователей без остановки бизнес-процессов организации.

← На главную