Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
В данной заметке рассматривается пример обновления технологической платформы 1С:Предприятие 8.3 (исполняемые файлы серверной и клиентской части 1С) в кластере серверов 1С с версии 8.3.22.1750 на версию 8.3.25.1257.
Перед тем, как перейти к конкретным действиям, крайне желательно разработать пошаговый план обновления и учесть возможность отката на случай возникновения критических проблем после обновления.
Дистрибутивы новых версий технологической платформы 1С:Предприятие 8.3 можно загрузить с сайта 1С ИТС по адресу https://releases.1c.ru/project/Platform83 . Для доступа к этому разделу сайта потребуется регистрация на сайте ИТС.
Если нет обязательного требования доступности информационных баз (далее ИБ) 1С в режиме 24×7, то лучше запланировать период обслуживания с недоступностью сервиса 1С в часы минимальной пользовательской активности.
Перед созданием полной резервной копии ИБ для её максимальной консистентности можно закрыть все активные пользовательские сеансы подключения к ИБ и временно запретить возможность создания новых сеансов. Это требование не является обязательным и в ходе обновления (до определённого момента) пользователи могут продолжать активную работу с ИБ.
Блокировка доступа к ИБ для вновь подключаемых пользователей делается путём включения соответствующих опций в свойствах информационной базы в консоли администрирования сервера 1С:Предприятие: «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена».
Здесь мы можем указать дату окончания блокировки, сообщение, которое будет отображаться пользователям при попытке доступа, а также любой придуманный нами секретный код для доступа к ИБ с учётом активной блокировки (для ограниченного доступа администраторов 1С после обновления).
При включённой блокировке новых сеансов и попытке доступа к ИБ пользователи будут получать соответствующее сообщение:
После включения блокировки новых сеансов можем перейти в консоль администрирования сервера 1С и завершить имеющиеся активные сеансы пользователей:
После завершения всех активных сеансов можно провести полное резервное копирование информационных баз 1С. Если в качестве СУБД используется Microsoft SQL Server, то создать копию базы данных ИБ можно либо в графической оболочке Microsoft SQL Server Management Studio, либо с помощью специализированных средств резервного копирования, таких как, например, Veeam Backup & Replication.
Если серверы 1С:Предприятие выполняются в виртуальной среде, то, помимо создания резервных копий БД, дополнительно можно создать актуальную резервную копию самих виртуальных серверов.
Процедура обновления выполняется пошагово, как описано ниже в этом разделе, последовательно на всех серверах кластера 1С:Предприятие.
Размещение инсталляционных файлов можно выбрать как локальное на сервере, так и сетевое, например, в SMB-шаре.
Запускаем программу установки setup.exe из состава дистрибутива новой версии платформы.
На шаге выбора устанавливаемых компонент убедимся в том, что включены компоненты сервера 1С:Предприятие и инструменты его администрирования. Обратим внимание на то, что установка новой версии платформы выполняется в отдельный подкаталог с соответствующим номером версии. Это по умолчанию:
C:\Program Files\1cv8\[номер версии]
C:\Program Files (x86)\1cv8\[номер версии]
Таким образом, исполняемые файлы текущей (старой) версии платформы 1С не будут затронуты в ходе установки новой версии.
Выбор языка интерфейса может быть важен на англоязычной версии ОС Windows Server.
Следующим важным шагом будет отключение включенной по умолчанию опции «Установить сервер 1С:Предприятия 8 как сервис Windows (рекомендуется)». Это позволит оставить нетронутой системную службу агента сервера 1С («1C:Enterprise 8.3 Server Agent»), которая была добавлена в систему ранее на этапе развёртывания сервера 1С.
Включенные по умолчанию опции «Установить драйвер аппаратных ключей защиты» и «Отключить неиспользуемые 1С:Предприятием возможности аппаратных ключей защиты (рекомендуется)» в нашем примере выключаются, так как драйвер аппаратного ключа уже бы установлен на сервере ранее на этапе развёртывания серверных компонент 1С.
После того, как программа установки завершена, нам необходимо внести корректировку в работающую службу агента сервера 1С. Откроем на сервере оснастку управления службами Windows (services.msc) найдём работающую службу агента сервера 1С и обратим внимание на то, как прописан путь к исполняемому файлу службы:
Как видим, сейчас путь указывает на старую версию платформы 1С. Для изменения этого пути воспользуемся редактором реестра Windows (regedit.exe).
Найдём в редакторе реестра ключ, определяющий параметры службы агента сервера 1С. Для 32-битной версии патформы 1С:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent
Для 64-битной версии платформы 1С:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
В этом ключе должен находится параметр ImagePath, в котором прописана команда запуска исполняемого файла службы со ссылкой на каталог старой версии платформы 1С.
Например, в нашем случае этот параметр имеет следующее значение:
"C:\Program Files\1cv8\8.3.22.1750\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Заменим в первой части пути ссылку на исполняемый файл ragent.exe таким образом, чтобы она указывала на каталог новой, только что установленной, версии платформы. В нашем примере значение параметра примет следующий вид:
"C:\Program Files\1cv8\8.3.25.1257\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Теперь настало время остановить работу нашего сервера 1С, так как для применения новых настроек потребуется перезапуск службы агента сервера 1С, что в свою очередь приведёт к разрыву всех клиентских соединений (если не была сделана предварительная блокировка сеансов).
Остановить службу агента сервера 1С можно через графическую оснастку управления службами Windows, либо с помощью командной строки:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
Пока cлужба агента сервера 1С остановлена, мы можем выполнить ещё одно действие – очистку серверного кеша 1С. Очистка кеша не является обязательным этапом обновления, но может быть полезна в рамках решения некоторых проблем в работе 1С, поэтому превентивно очистить кеш при переходе с одной версии платформы на другую будет совсем не лишним.
Для очистки серверного кеша перейдем в каталог C:\Program Files\1cv8\srvinfo\reg_1541\ и удалим со всем содержимым подкаталог с именем вида snccntx* (в некоторых случаях подобных каталогов может быть больше одного и их все можно удалить).
C:\Program Files\1cv8\srvinfo\reg_1541\
Теперь настало время возобновить работу нашего сервера 1С, запустив реконфигурированную службу агента сервера 1С из состава исполняемых файлов новой версии платформы. Запускаем службу через графическую оснастку управления службами Windows, либо с помощью командной строки:
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Служба должна успешно запуститься без ошибок.
Теперь, если на сервере с обновлённой платформой 1С, мы попытаемся запустить консоль администрирования, то получим предупреждение об использовании старой версии консоли и после открытия консоли мы не сможем управлять обновлённым сервером 1С
Чтобы решить эту проблему, нам потребуется перерегистрировать утилиту администрирования. Для этого перейдём в каталог с ярлыками запуска программ новой версии платформы 1С.
Пример пути для 32-битной версии:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\1C Предприятие 8\Дополнительно\8.3.25.1257
Пример пути для 64-битной версии:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\1C Предприятие 8 (x86-64)\Дополнительно\8.3.25.1257
Здесь с правами администратора запустим ярлык с именем типа «Регистрация утилиты администрирования серверов (8.3.22.1750)»
Фактически данный ярлык вызовет командный файл C:\Program Files\1cv8\8.3.25.1257\bin\RegMSC.cmd (C:\Program Files (x86)\1cv8\8.3.25.1257\bin\RegMSC.cmd для 32-битной платформы 1С).
C:\Program Files\1cv8\8.3.25.1257\bin\RegMSC.cmd
C:\Program Files (x86)\1cv8\8.3.25.1257\bin\RegMSC.cmd
После сообщения об успешной регистрации библиотеки radmin.dll консоль администрирования сервера 1С должна заработать штатно.
Аналогичным образом проводим обновление второго и последующих серверов 1С, выполняя все 6 описанных выше шагов.
На данном этапе производится обновление клиентских компонент 1С: Предприятие 8.3 на тех серверных и клиентских компьютерах, где они используются.
В ходе установки выбираем необходимые клиентские и отключаем серверные компоненты 1С.
Обратите внимание на то, что 64-битная версия клиента 1С может использоваться для доступа как к 64-битной версии сервера 1С, так и к 32-битной.
Включенные по умолчанию опции «Установить драйвер аппаратных ключей защиты» и «Отключить неиспользуемые 1С:Предприятием возможности аппаратных ключей защиты (рекомендуется)» в программе установки можно отключить, так как на клиентских системах 1С, в большинстве случаев, в них нет никакой необходимости.
При установке клиента 1С на серверы со службами удалённых рабочих столов Windows (Remote Desktop Services) процесс установки следует выполнять через специальный апплет панели управления Windows «Install Application on Remote Desktop Server»
После обновления платформы и удаления старой версии на компьютере с клиентом 1С:Предприятие, использующем вызов COM-объекта 1С, могут появится ошибки типа: «1C call returns 'Ошибка при старте 1С: Ошибка OLE, код 0x80040154: Class not registered.».
Для исправления подобной ситуации на системе с клиентом 1С и необходимостью использования COM-объекта, можно попробовать вручную выполнить перерегистрацию библиотеки comcntr.dll. На примере 32-битной версии платформы 1С:Предпрятие 8.3 в 64-битной ОС Windows команды будут выглядеть следующим образом:
"C:\Program Files (x86)\1cv8\8.3.25.1257\bin\1cv8.exe" /regserver regsvr32 "C:\Program Files (x86)\1cv8\8.3.25.1257\bin\comcntr.dll"
Замечено, что не всегда регистрация новой версии COM компоненты приводит к желаемому результату. В таких случаях можно повторно попытаться выполнить сначала снятие регистрации командой regsvr32 /u для текущей и всех предыдущих версий компоненты, а затем выполнить повторную регистрацию новой версии компоненты. Кроме того, в некоторых случаях может потребоваться выполнение данной команды в контексте той учётной записи, от имени которой будет в дальнейшем выполняться вызов COM-объекта.
Проверяем работоспособность информационных баз с обновлённой версией платформы 1С:Предприятие 8.3.
Если ранее включалось ограничение подключения к информационным базам (опции ИБ «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена» в консоли администрирования сервера 1С), то теперь настало время запустить для проверки в ИБ администраторов 1С, не запуская при этом основную массу пользователей.
Для этого ответственные администраторы 1С могут запустить клиент 1С, прописав в окне редактирования свойств ИБ клиента 1С дополнительный параметр /UC с ранее заданным секретным кодом доступа.
Если на новой версии платформы всё работает штатно, то можно провести удаление старой версии платформы на всех серверах и на клиентских компьютерах. Удаление старой версии выполняется стандартным способом через оснастку установки/удаления программ (appwiz.cpl).
Удаление старой версии платформы не является обязательным этапом для процедуры обновления в целом, но позволяет избежать лишней путаницы с версиями и неэффективного использования дискового пространства серверов и клиентских компьютеров.
Обратите внимание на то, что после удаления старой версии платформ 1С может снова возникнуть проблема с запуском консоли «Администрирование серверов 1С Предприятия» с появлением ошибки «MMC could not create the snap-in» при открытии консоли. Эту проблемы мы описывали ранее в заметке Ошибка консоли администрирования серверов 1С:Предприятие 8.3 - MMC could not create the snap-in и для её решения достаточно провести повторную перерегистрацию библиотеки radmin.dll.
Если на первом этапе подготовительных мероприятий включалось ограничение подключения к информационным базам (опции ИБ «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена» в консоли администрирования сервера 1С), то теперь настало время отключить эти опции, предоставив всем пользователям возможность продуктивной работы с информационной базой.
Проверено на следующих конфигурациях:
Автор первичной редакции: Алексей Максимов Время публикации: 29.03.2025 15:19