Как обновить Windows или Linux под сервером 1С:Предприятия 8.3 и не остановить работу базы

· 10 мин

Содержание

Модернизация ОС под 1С 8 сводится к трём вещам: сохранить базы и настройки кластера, не потерять программную лицензию и после обновления заново поднять службу сервера 1С с той же версией платформы. Сама ОС обновляется штатными средствами Windows или Linux. Ломается обычно не она, а то, что вокруг: привязка лицензий к железу, драйвер ключа HASP, СУБД и сортировка строк.

Ниже порядок, который подходит и для Windows Server, и для Linux. Окно работ планируйте на нерабочее время: сервер 1С и СУБД на время обновления будут остановлены, все сеансы пользователей оборвутся.

1. Подготовка к обновлению ОС: копии, лицензии, совместимость

Начните с инвентаризации. Запишите то, что потом придётся восстанавливать вручную:

  • 🧩 точный номер платформы на сервере (например, 8.3.24.1691) и разрядность;
  • 🗄️ СУБД и её версию: файловые базы, PostgreSQL (какая сборка), MS SQL Server;
  • 🔑 тип защиты: программные лицензии или аппаратные ключи HASP;
  • 🌐 публикации на веб-сервере (IIS или Apache), регламентные задания, обмены, COM-соединения;
  • 👤 учётную запись, от которой работает служба агента сервера, и порты кластера.

Что сохранить до начала работ

ЧтоГде лежитЗачем
Выгрузка каждой базы в .dtКонфигуратор → Администрирование → Выгрузить информационную базуНезависимая от СУБД копия
Резервная копия СУБД.bak для MS SQL, дамп для PostgreSQLБыстрое восстановление без пересоздания базы
Каталог кластера srvinfoПо умолчанию C:\Program Files\1cv8\srvinfo (Windows), /home/usr1cv8/.1cv8/1C/1cv8 (Linux)Список баз кластера, настройки рабочих серверов
Файлы программных лицензийC:\ProgramData\1C\licenses, на Linux /var/1C/licensesДля справки и переноса
Конверт с пин-кодамиБумажный или электронный комплектПовторная активация после смены ОС

Выгрузку .dt делайте в монопольном режиме, когда пользователей в базе нет. Для крупных баз на SQL она идёт долго, поэтому копия средствами СУБД обязательна в любом случае.

Резервная копия MS SQL и PostgreSQL

Для MS SQL удобнее всего SQL Server Management Studio: правой кнопкой по базе → Tasks → Back Up. То же одной командой в окне запроса:

BACKUP DATABASE [buh_main]
TO DISK = N'D:\Backup\buh_main.bak'
WITH COPY_ONLY, CHECKSUM, STATS = 10;

COPY_ONLY не ломает цепочку регулярных бэкапов, CHECKSUM проверяет страницы при записи.

Для PostgreSQL снимите дамп в формате custom:

pg_dump -U postgres -Fc -f /backup/buh_main.dump buh_main

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

Совместимость новой ОС с платформой

Новая ОС должна быть в системных требованиях вашей версии платформы. Старые платформы на свежих системах ставятся, но поддержка не гарантирована. Если версия платформы старая, разумнее совместить работы: сначала обновить платформу на текущей ОС, проверить её, и только потом менять систему. Два изменения за одну ночь искать виноватого не помогут.

То же относится к СУБД. Старые выпуски MS SQL Server на новых Windows Server либо не устанавливаются, либо не поддерживаются Microsoft. Сверьтесь с матрицей совместимости SQL Server до начала работ.

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

2. Чистая установка или обновление поверх: что выбрать

Есть два пути. У каждого свои риски.

МетодКогда подходитРиски
Обновление поверх (in-place)Один сервер, нет запасного железа, переход на соседнюю версию ОСОстатки старых драйверов и служб, непредсказуемые сбои после обновления
Чистая установка на тот же серверСервер «замусорен», переход через несколько версий ОСДольше простой, всё ставится заново
Новый сервер или новая ВМ рядомЕсть ресурсы для второй машиныНужно перенести базы и переактивировать лицензии, зато откат мгновенный

Третий вариант самый безопасный. Старый сервер продолжает работать, пока новый проходит проверку. Переключение — это смена адреса в списке баз у пользователей или DNS-имени сервера.

Какой у вас случай?

3. Пошаговая модернизация ОС для сервера 1С

Порядок одинаков для всех вариантов, отличаются только команды конкретной системы.

Шаг 1. Остановить работу пользователей

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

Шаг 2. Снять финальные копии

Сделайте последнюю выгрузку .dt и бэкап СУБД уже после того, как пользователи вышли. Скопируйте всё на другой физический носитель, а не на тот же диск.

Шаг 3. Остановить службы

Остановите службу агента сервера 1С и службу СУБД. На Windows служба называется вида «Агент сервера 1С:Предприятия 8.3 (x86-64)». На Linux найдите её так:

systemctl list-units --all | grep -i 1cv8

Шаг 4. Обновить или установить ОС

На Windows Server обновление поверх запускается с установочного носителя новой версии через setup.exe с сохранением файлов и приложений. На Linux — штатным механизмом дистрибутива, подробности в разделе про Linux ниже.

Шаг 5. Поставить ту же версию платформы

Ставьте ту версию сервера 1С, что была до обновления. Переходить на новую платформу в эту же ночь не нужно. Если ставили ОС с нуля, при установке укажите ту же учётную запись службы и те же порты: агент 1540, менеджер кластера 1541, диапазон рабочих процессов, обычно 1560:1591.

Шаг 6. Вернуть каталог кластера

Пока служба остановлена, верните сохранённый srvinfo на место. Тогда кластер поднимется со списком баз и настройками рабочих серверов. Проверьте, что у учётной записи службы есть полные права на этот каталог.

Шаг 7. Восстановить лицензии и ключи

Для программных лицензий запустите любую базу, система предложит получить лицензию. Выберите повторное получение, укажите использованный ранее пин-код и новый пин-код из того же комплекта. Для аппаратных ключей поставьте драйвер Guardant или HASP заново (на Windows — установщик драйвера из дистрибутива платформы, на Linux — пакет драйвера HASP для вашего дистрибутива).

Шаг 8. Вернуть остальное окружение

  • 🔌 COM-соединение: заново зарегистрируйте компоненту regsvr32 "C:\Program Files\1cv8\8.3.24.1691\bin\comcntr.dll" (путь со своей версией).
  • 🌐 Веб-публикации: опубликуйте базы заново через Конфигуратор или утилиту webinst.
  • 🖨️ Шрифты и принтеры для печати на сервере.
  • 🔥 Правила брандмауэра для портов кластера.
Перед тем как пустить пользователей
Выполнено: 0 / 6

4. Особенности обновления ОС на Windows Server

На Windows больше всего проблем дают три места.

Служба агента. После чистой установки она может оказаться зарегистрирована от локальной системной учётной записи. Для работы с сетевыми каталогами и SQL-аутентификацией Windows нужна прежняя доменная или локальная учётная запись с правом входа в качестве службы.

Брандмауэр. Новая Windows по умолчанию закрывает входящие порты. Откройте их одной командой в PowerShell от администратора:

New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound `
  -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow

MS SQL. Если меняется и версия SQL Server, восстановите базы из .bak через Restore Database в SSMS. После восстановления выставьте уровень совместимости базы, поддерживаемый вашей версией платформы, и пересоберите статистику. Логин для 1С в SQL заведите заново, если ставили сервер СУБД с нуля: логины хранятся в системной базе master, а не в базе 1С.

После переноса базы на новый экземпляр SQL Server проверьте в консоли кластера параметры информационной базы: имя сервера СУБД, тип СУБД и логин. Если имя сервера сменилось, поправьте его там, а не создавайте базу в кластере заново.

5. Особенности обновления ОС на Linux-серверах

На Linux сервер 1С работает так же, но сюрпризов больше из-за пакетов и библиотек.

Ubuntu и Debian

Обновление на следующий выпуск делается командой do-release-upgrade (Ubuntu) или сменой репозиториев и apt full-upgrade (Debian). До запуска заморозьте пакеты СУБД, чтобы менеджер пакетов не заменил сборку PostgreSQL для 1С на обычную:

apt-mark showmanual | grep -i postgres
sudo apt-mark hold <имена пакетов postgresql из вывода>

CentOS и RHEL

Поддержка CentOS 7 закончилась, поэтому модернизация здесь — это фактически переезд на другой дистрибутив: Rocky Linux, AlmaLinux или отечественные системы. Обновление поверх между мажорными версиями технически возможно, но для сервера 1С надёжнее поставить новую систему на соседнюю ВМ и перенести базы дампом.

Что проверить на любом дистрибутиве

  • 🔤 Локаль ru_RU.UTF-8 должна быть сгенерирована: locale -a | grep ru_RU.
  • 🖋️ Шрифты для печатных форм и PDF: без них отчёты на сервере формируются с «квадратиками».
  • 👤 Пользователь usr1cv8 и права на каталог кластера.
  • ⚙️ Автозапуск службы через systemctl enable.

Смена версии glibc при обновлении дистрибутива меняет правила сортировки строк. Индексы PostgreSQL, построенные по текстовым полям при старой версии, становятся некорректными: появляются дубли, «пропадают» элементы справочников, падают запросы. Если PostgreSQL остался на месте, а ОС обновилась, выполните REINDEX DATABASE для каждой базы до входа пользователей. Надёжнее вообще переносить базы через дамп и восстановление, тогда индексы строятся заново.

6. Тестирование и настройка после модернизации

Проверку делайте по шагам, от простого к сложному. Первым заходит администратор, пользователи — только после всех пунктов.

  1. Запустите консоль кластера и убедитесь, что все рабочие процессы активны.
  2. Войдите в каждую базу в режиме Предприятия. Ошибка на этом шаге почти всегда связана с лицензией, правами службы или доступом к СУБД.
  3. Проверьте лицензии в сеансах. На Linux удобно через утилиту rac:
rac cluster list
rac session list --cluster=<id кластера> --licenses
  1. Запустите в Конфигураторе Администрирование → Тестирование и исправление с флажком «Реиндексация таблиц информационной базы». Для крупной базы на SQL это долго; если индексы перестроены средствами СУБД, шаг можно сократить до логической проверки.
  2. Прогоните типовые операции: проведите документ, сформируйте тяжёлый отчёт, распечатайте форму, выполните обмен.
  3. Включите регламентные задания и убедитесь, что они отрабатывают по расписанию.

Сравните скорость с тем, что было до обновления. Если отчёт, который раньше строился 20 секунд, теперь идёт минуту, смотрите план электропитания (на Windows должен стоять «Высокая производительность»), антивирус на каталогах баз и srvinfo, а для PostgreSQL — параметры памяти в postgresql.conf: при установке с нуля они возвращаются к стандартным маленьким значениям.

7. Откат, если после обновления ОС что-то пошло не так

Откат продумайте до начала работ, а не в три часа ночи.

  • 🔄 Есть снимок ВМ. Откатите машину на снимок. Это самый быстрый путь. Не держите снимок дольше пары дней после успешного обновления: на работающем сервере СУБД он раздувается и тормозит диск.
  • 🖥️ Работали на новой машине. Верните пользователей на старый сервер. Если на новом уже вносили данные, сначала решите, какие документы придётся повторить.
  • 💾 Только резервные копии. Переустановите прежнюю ОС, поставьте ту же платформу и СУБД, восстановите базы из .bak или дампа, а при проблемах с СУБД — из .dt в пустую базу.

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

Частые вопросы

Сколько длится простой при модернизации ОС сервера 1С?
Для одного сервера с базами до 50 ГБ ориентируйтесь примерно на 3-6 часов с учётом копий и проверки. При переезде на новую ВМ простой сокращается до времени финальной копии и переноса базы.
Нужно ли одновременно обновлять платформу 1С?
Нет, лучше по отдельности. Если текущая версия платформы не поддерживает новую ОС, обновите платформу заранее на старой системе и поработайте на ней неделю.
Что делать, если пин-коды для повторной активации закончились?
Обратитесь к партнёру, у которого покупали лицензию, или в центр лицензирования 1С с регистрационными данными комплекта. Восстановление займёт время, поэтому проверьте остаток пин-кодов до начала работ.
Можно ли обновить ОС на сервере с файловыми базами без выгрузки .dt?
Можно скопировать каталоги баз с файлами 1Cv8.1CD при остановленной службе и закрытых сеансах. Но выгрузка .dt всё равно нужна как вторая копия: файл базы может оказаться повреждённым, а узнаете вы это только после восстановления.
Влияет ли обновление ОС на клиентские компьютеры?
Нет, если не меняются имя сервера и порты. Если сервер переехал на новое имя, поправьте адрес в списке баз у пользователей или заведите DNS-псевдоним на новый сервер.