===== Обновление технологической платформы на кластере серверов 1С:Предприятие 8.3 на базе ОС Windows =====
{{:1c:pasted:20230314-112815.png }} В данной заметке рассматривается пример обновления технологической платформы **1С:Предприятие 8.3** (исполняемые файлы серверной и клиентской части 1С) в кластере серверов 1С с версии **8.3.22.1750** на версию **8.3.25.1257**.
Перед тем, как перейти к конкретным действиям, крайне желательно разработать пошаговый план обновления и учесть возможность отката на случай возникновения критических проблем после обновления.
\\
==== Этап 1. Подготовительные мероприятия ====
=== Шаг 1. Получение дистрибутива платформы 1С ===
Дистрибутивы новых версий технологической платформы 1С:Предприятие 8.3 можно загрузить с сайта **1С ИТС** по адресу https://releases.1c.ru/project/Platform83 . Для доступа к этому разделу сайта потребуется регистрация на сайте ИТС.
=== Шаг 2. Ограничение доступа пользователей к БД (опционально) ===
Если нет обязательного требования доступности информационных баз (далее ИБ) 1С в режиме 24x7, то лучше запланировать период обслуживания с недоступностью сервиса 1С в часы минимальной пользовательской активности.
Перед созданием полной резервной копии ИБ для её максимальной консистентности можно закрыть все активные пользовательские сеансы подключения к ИБ и временно запретить возможность создания новых сеансов. Это требование не является обязательным и в ходе обновления (до определённого момента) пользователи могут продолжать активную работу с ИБ.
Блокировка доступа к ИБ для вновь подключаемых пользователей делается путём включения соответствующих опций в свойствах информационной базы в консоли администрирования сервера 1С:Предприятие: "**Блокировка начала сеансов включена**" и "**Блокировка регламентных заданий включена**".
{{ :1c:pasted:20250329-140806.png }}
Здесь мы можем указать дату окончания блокировки, сообщение, которое будет отображаться пользователям при попытке доступа, а также любой придуманный нами секретный код для доступа к ИБ с учётом активной блокировки (для ограниченного доступа администраторов 1С после обновления).
При включённой блокировке новых сеансов и попытке доступа к ИБ пользователи будут получать соответствующее сообщение:
{{ :1c:pasted:20250329-141126.png }}
После включения блокировки новых сеансов можем перейти в консоль администрирования сервера 1С и завершить имеющиеся активные сеансы пользователей:
{{ :1c:pasted:20250329-141306.png }}
\\
=== Шаг 3. Резервное копирование ИБ и серверов 1С ===
После завершения всех активных сеансов можно провести полное резервное копирование информационных баз 1С. Если в качестве СУБД используется [[:microsoft-sql-server|Microsoft SQL Server]], то создать копию базы данных ИБ можно либо в графической оболочке **Microsoft SQL Server Management Studio**, либо с помощью специализированных средств резервного копирования, таких как, например, [[:veeam:veeam-backup-replication|Veeam Backup & Replication]].
Если серверы 1С:Предприятие выполняются в виртуальной среде, то, помимо создания резервных копий БД, дополнительно можно создать актуальную резервную копию самих виртуальных серверов.
----
==== Этап 2. Обновление серверов 1С:Предприятие 8.3 ====
Процедура обновления выполняется пошагово, как описано ниже в этом разделе, последовательно на всех серверах кластера 1С:Предприятие.
Размещение инсталляционных файлов можно выбрать как локальное на сервере, так и сетевое, например, в SMB-шаре.
=== Шаг 1. Запуск программы установки ===
Запускаем программу установки **setup.exe** из состава дистрибутива новой версии платформы.
На шаге выбора устанавливаемых компонент убедимся в том, что включены компоненты сервера 1С:Предприятие и инструменты его администрирования. Обратим внимание на то, что установка новой версии платформы выполняется в отдельный подкаталог с соответствующим номером версии. Это по умолчанию:
* ''C:\Program Files\1cv8\[номер версии]'' для 64-битной платформы 1C в 64-битной ОС Windows
* ''C:\Program Files (x86)\1cv8\[номер версии]'' для 32-битной платформы 1C в 64-битной ОС Windows.
Таким образом, исполняемые файлы текущей (старой) версии платформы 1С не будут затронуты в ходе установки новой версии.
{{ :1c:pasted:20250329-142701.png }}
Выбор языка интерфейса может быть важен на англоязычной версии ОС Windows Server.
{{ :1c:pasted:20250329-142924.png }}
Следующим важным шагом будет отключение включенной по умолчанию опции "**Установить сервер 1С:Предприятия 8 как сервис Windows (рекомендуется)**". Это позволит оставить нетронутой системную службу агента сервера 1С ("**1C:Enterprise 8.3 Server Agent**"), которая была добавлена в систему ранее на этапе [[:1c:1c-enterprise-8-3-cluster-deployment|развёртывания сервера 1С]].
{{ :1c:pasted:20250329-143240.png }}
Включенные по умолчанию опции "**Установить драйвер аппаратных ключей защиты**" и "**Отключить неиспользуемые 1С:Предприятием возможности аппаратных ключей защиты (рекомендуется)**" в нашем примере выключаются, так как драйвер аппаратного ключа [[1c:1c-enterprise-8-3-cluster-deployment:connecting-hasp-license-keys|уже бы установлен]] на сервере ранее на этапе развёртывания серверных компонент 1С.
{{ :1c:pasted:20250329-143658.png }}
\\
=== Шаг 2. Изменение конфигурации службы агента сервера 1С ===
После того, как программа установки завершена, нам необходимо внести корректировку в работающую службу агента сервера 1С. Откроем на сервере оснастку управления службами Windows (**services.msc**) найдём работающую службу агента сервера 1С и обратим внимание на то, как прописан путь к исполняемому файлу службы:
{{ :1c:pasted:20250329-143856.png }}
Как видим, сейчас путь указывает на старую версию платформы 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"
{{ :1c:pasted:20250329-144302.png }}
Заменим в первой части пути ссылку на исполняемый файл **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"
{{ :1c:pasted:20250329-144600.png }}
\\
=== Шаг 3. Остановка службы агента сервера 1С ===
Теперь настало время остановить работу нашего сервера 1С, так как для применения новых настроек потребуется перезапуск службы агента сервера 1С, что в свою очередь приведёт к разрыву всех клиентских соединений (если не была сделана предварительная блокировка сеансов).
Остановить службу агента сервера 1С можно через графическую оснастку управления службами Windows, либо с помощью командной строки:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"{{ :1c:pasted:20250329-144828.png }} \\ === Шаг 4. Очистка серверного кеша 1С (опционально) === Пока cлужба агента сервера 1С остановлена, мы можем выполнить ещё одно действие – очистку серверного кеша 1С. Очистка кеша не является обязательным этапом обновления, но может быть полезна в рамках решения некоторых проблем в работе 1С, поэтому превентивно очистить кеш при переходе с одной версии платформы на другую будет совсем не лишним. Для очистки серверного кеша перейдем в каталог ''C:\Program Files\1cv8\srvinfo\reg_1541\'' и удалим со всем содержимым подкаталог с именем вида **snccntx*** (в некоторых случаях подобных каталогов может быть больше одного и их все можно удалить). {{ :1c:pasted:20250329-145115.png }} \\ === Шаг 5. Запуcк службы агента сервера 1С === Теперь настало время возобновить работу нашего сервера 1С, запустив реконфигурированную службу агента сервера 1С из состава исполняемых файлов новой версии платформы. Запускаем службу через графическую оснастку управления службами Windows, либо с помощью командной строки:
net start "1C:Enterprise 8.3 Server Agent (x86-64)"{{ :1c:pasted:20250329-145254.png }} Служба должна успешно запуститься без ошибок. \\ === Шаг 6. Перерегистрация консоли администрирования сервера 1С === Теперь, если на сервере с обновлённой платформой 1С, мы попытаемся запустить консоль администрирования, то получим предупреждение об использовании старой версии консоли и после открытия консоли мы не сможем управлять обновлённым сервером 1С {{ :1c:pasted:20250329-145603.png }} Чтобы решить эту проблему, нам потребуется перерегистрировать утилиту администрирования. Для этого перейдём в каталог с ярлыками запуска программ новой версии платформы 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)**"
{{ :1c:pasted:20250329-145833.png }}
Фактически данный ярлык вызовет командный файл ''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С).
{{ :1c:pasted:20250329-150014.png }}
После сообщения об успешной регистрации библиотеки **radmin.dll** консоль администрирования сервера 1С должна заработать штатно.
Аналогичным образом проводим обновление второго и последующих серверов 1С, выполняя все 6 описанных выше шагов.
----
==== Этап 3. Обновление клиентов 1С:Предприятие 8.3 ====
На данном этапе производится обновление клиентских компонент 1С: Предприятие 8.3 на тех серверных и клиентских компьютерах, где они используются.
В ходе установки выбираем необходимые клиентские и отключаем серверные компоненты 1С.
{{ :1c:pasted:20250329-150423.png }}
Обратите внимание на то, что 64-битная версия клиента 1С может использоваться для доступа как к 64-битной версии сервера 1С, так и к 32-битной.
Включенные по умолчанию опции "**Установить драйвер аппаратных ключей защиты**" и "**Отключить неиспользуемые 1С:Предприятием возможности аппаратных ключей защиты (рекомендуется)**" в программе установки можно отключить, так как на клиентских системах 1С, в большинстве случаев, в них нет никакой необходимости.
При установке клиента 1С на серверы со службами удалённых рабочих столов Windows (**Remote Desktop Services**) процесс установки следует выполнять через специальный апплет панели управления Windows "**Install Application on Remote Desktop Server**"
{{ :1c:pasted:20250329-150702.png }}
\\
После обновления платформы и удаления старой версии на компьютере с клиентом **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"{{ :1c:pasted:20250405-111618.png }} Замечено, что не всегда регистрация новой версии COM компоненты приводит к желаемому результату. В таких случаях можно повторно попытаться выполнить сначала снятие регистрации командой **regsvr32 /u** для текущей и всех предыдущих версий компоненты, а затем выполнить повторную регистрацию новой версии компоненты. Кроме того, в некоторых случаях может потребоваться выполнение данной команды в контексте той учётной записи, от имени которой будет в дальнейшем выполняться вызов COM-объекта. ---- ==== Этап 4. Проверка после обновления ==== Проверяем работоспособность информационных баз с обновлённой версией платформы 1С:Предприятие 8.3. Если ранее включалось ограничение подключения к информационным базам (опции ИБ "**Блокировка начала сеансов включена**" и "**Блокировка регламентных заданий включена**" в консоли администрирования сервера 1С), то теперь настало время запустить для проверки в ИБ администраторов 1С, не запуская при этом основную массу пользователей. Для этого ответственные администраторы 1С могут запустить клиент 1С, прописав в окне редактирования свойств ИБ клиента 1С дополнительный параметр **/UC** с ранее заданным секретным кодом доступа. {{ :1c:pasted:20250329-151009.png }} ---- ==== Этап 5. Удаление старой версии платформы ==== Если на новой версии платформы всё работает штатно, то можно провести удаление старой версии платформы на всех серверах и на клиентских компьютерах. Удаление старой версии выполняется стандартным способом через оснастку установки/удаления программ (**appwiz.cpl**). {{ :1c:pasted:20250329-151303.png }} Удаление старой версии платформы не является обязательным этапом для процедуры обновления в целом, но позволяет избежать лишней путаницы с версиями и неэффективного использования дискового пространства серверов и клиентских компьютеров. Обратите внимание на то, что после удаления старой версии платформ 1С может снова возникнуть проблема с запуском консоли "**Администрирование серверов 1С Предприятия**" с появлением ошибки //"MMC could not create the snap-in"// при открытии консоли. Эту проблемы мы описывали ранее в заметке [[:1c:1c-enterprise-server-administration-console-8-3-mmc-could-not-create-the-snap-in|Ошибка консоли администрирования серверов 1С:Предприятие 8.3 - MMC could not create the snap-in]] и для её решения достаточно провести повторную перерегистрацию библиотеки **radmin.dll**. ---- ==== Этап 6. Возобновление доступа пользователей к информационным базам ==== Если на первом этапе подготовительных мероприятий включалось ограничение подключения к информационным базам (опции ИБ "**Блокировка начала сеансов включена**" и "**Блокировка регламентных заданий включена**" в консоли администрирования сервера 1С), то теперь настало время отключить эти опции, предоставив всем пользователям возможность продуктивной работы с информационной базой. ---- Проверено на следующих конфигурациях: ^ Версия ОС сервера 1С ^ Исходная версия 1С ^ Целевая версия 1С ^ | Microsoft Windows Server 2022 Standard EN (10.0.20348) | 8.3.22.1750 | 8.3.25.1257 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 29.03.2025 15:19 {{tag>"1C" "1С 8.3" "Windows Server 2022" Cluster Upgrade}} ~~DISCUSSION~~