===== Обновление технологической платформы на кластере серверов 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~~