Как обновить Windows или Linux под сервером 1С:Предприятия 8.3 и не остановить работу базы
Содержание
Модернизация ОС под 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. - 🖨️ Шрифты и принтеры для печати на сервере.
- 🔥 Правила брандмауэра для портов кластера.
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. Тестирование и настройка после модернизации
Проверку делайте по шагам, от простого к сложному. Первым заходит администратор, пользователи — только после всех пунктов.
- Запустите консоль кластера и убедитесь, что все рабочие процессы активны.
- Войдите в каждую базу в режиме Предприятия. Ошибка на этом шаге почти всегда связана с лицензией, правами службы или доступом к СУБД.
- Проверьте лицензии в сеансах. На Linux удобно через утилиту
rac:
rac cluster list
rac session list --cluster=<id кластера> --licenses
- Запустите в Конфигураторе
Администрирование → Тестирование и исправлениес флажком «Реиндексация таблиц информационной базы». Для крупной базы на SQL это долго; если индексы перестроены средствами СУБД, шаг можно сократить до логической проверки. - Прогоните типовые операции: проведите документ, сформируйте тяжёлый отчёт, распечатайте форму, выполните обмен.
- Включите регламентные задания и убедитесь, что они отрабатывают по расписанию.
Сравните скорость с тем, что было до обновления. Если отчёт, который раньше строился 20 секунд, теперь идёт минуту, смотрите план электропитания (на Windows должен стоять «Высокая производительность»), антивирус на каталогах баз и srvinfo, а для PostgreSQL — параметры памяти в postgresql.conf: при установке с нуля они возвращаются к стандартным маленьким значениям.
7. Откат, если после обновления ОС что-то пошло не так
Откат продумайте до начала работ, а не в три часа ночи.
- 🔄 Есть снимок ВМ. Откатите машину на снимок. Это самый быстрый путь. Не держите снимок дольше пары дней после успешного обновления: на работающем сервере СУБД он раздувается и тормозит диск.
- 🖥️ Работали на новой машине. Верните пользователей на старый сервер. Если на новом уже вносили данные, сначала решите, какие документы придётся повторить.
- 💾 Только резервные копии. Переустановите прежнюю ОС, поставьте ту же платформу и СУБД, восстановите базы из
.bakили дампа, а при проблемах с СУБД — из.dtв пустую базу.
Программную лицензию при откате снова придётся активировать: параметры компьютера опять изменятся. Поэтому резервные пин-коды расходуйте бережно и записывайте, какой пин-код и когда использовали.
Частые вопросы
Сколько длится простой при модернизации ОС сервера 1С?
Нужно ли одновременно обновлять платформу 1С?
Что делать, если пин-коды для повторной активации закончились?
Можно ли обновить ОС на сервере с файловыми базами без выгрузки .dt?
1Cv8.1CD при остановленной службе и закрытых сеансах. Но выгрузка .dt всё равно нужна как вторая копия: файл базы может оказаться повреждённым, а узнаете вы это только после восстановления.