Перезапуск сервера 1С:Предприятие без потери данных и зависших сеансов

· 9 мин

Содержание

Сервер 1С перегружают тремя способами: перезапускают рабочие процессы кластера, перезапускают службу сервера 1С:Предприятия или перегружают всю машину. Начинайте с самого мягкого. Чаще всего хватает перезапуска службы 1C:Enterprise 8.3 Server Agent — это минута простоя и разрыв всех сеансов.

Перед любым вариантом предупредите пользователей и дождитесь, пока они сохранят документы. Всё, что не проведено, после разрыва сеанса пропадёт. Ниже — порядок действий от безопасного к жёсткому, команды для Windows и Linux и разбор ситуаций, когда сервер завис намертво.

Что проверить до перезагрузки сервера 1С

Три минуты диагностики сэкономят час восстановления. Часто перегружать ничего не нужно: тормозит не сервер, а один сеанс или одна база.

Соберите факты:

  • 👥 Кто сейчас работает. В консоли кластера откройте узел «Сеансы» и посмотрите, сколько людей в базах и что делают.
  • ⏳ Есть ли долгие вызовы. Колонка с текущим вызовом покажет, что один пользователь держит сервер второй час закрытием месяца или тяжёлым отчётом.
  • 🧠 Сколько памяти занимают рабочие процессы. В диспетчере задач найдите процессы rphost. Если один раздулся до нескольких гигабайт — виноват он, и перезапуск всего сервера не нужен.
  • 💾 Есть ли свежая копия баз. При файловой работе с серверной БД проверьте резервную копию SQL-сервера или выгрузку .dt.
  • 🔒 Не идут ли регламентные задания. Загрузка обменов, закрытие месяца , обновление конфигурации — перезапуск посреди такой операции оставит базу в неконсистентном состоянии.

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

Заранее предупредите людей. Хватит сообщения в рабочий чат за 10–15 минут и блокировки новых сеансов, о которой речь ниже.

Перед перезапуском
Выполнено: 0 / 5

Как перегрузить сервер 1С через консоль администрирования кластера

Это самый мягкий вариант: служба и операционная система не трогаются, перезапускаются только рабочие процессы или отдельные сеансы. Работает, если консоль к серверу подключается.

Блокировка новых сеансов и завершение старых

  1. Откройте консоль администрирования серверов 1С:Предприятия и разверните нужный кластер.
  2. В узле «Информационные базы» откройте свойства базы.
  3. Включите блокировку начала сеансов, задайте начало блокировки на ближайшие минуты и текст сообщения для пользователей.
  4. Перейдите в узел «Сеансы» и завершите оставшиеся сеансы — выделите их и нажмите кнопку удаления.

Теперь в базу никто не зайдёт, пока вы не снимете блокировку. Это нужно и перед обновлением, и перед перезапуском.

Перезапуск рабочих процессов

Рабочий процесс rphost держит сеансы и кэш. Если он раздулся или тормозит, перезапускать всю службу незачем.

  • В узле «Рабочие серверы» откройте нужный сервер и зайдите на вкладку рабочих процессов.
  • Завершите проблемный процесс. Сеансы на нём оборвутся, но кластер сразу поднимет новый процесс, и остальные пользователи продолжат работу.

Чтобы не делать это руками, настройте перезапуск по расписанию. В свойствах кластера есть параметры:

ПараметрЧто делаетОриентир
Интервал перезапуска рабочих процессовЧерез сколько секунд процесс будет пересоздан. 0 — не перезапускать86400 (раз в сутки)
Допустимый выход за пределы памятиСколько ещё можно занять сверх лимита до принудительного завершенияподберите по нагрузке
Максимальный объём памяти рабочих процессовПорог, после которого процесс считается проблемнымподберите по нагрузке

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

Ночной перезапуск рабочих процессов раз в сутки снимает половину жалоб на «к вечеру всё тормозит». Выставьте интервал так, чтобы он попадал на нерабочее время, а не на утро.

Служба Windows: перезапуск сервера 1С через Services.msc

Если консоль не отвечает или нужно перезапустить всё сразу, работайте со службой сервера. Она называется 1C:Enterprise 8.3 Server Agent (x86-64) (в 32-битной установке — без суффикса). Именно она запускает процессы ragent, rmngr и rphost.

Порядок действий

  1. Нажмите Win+R, введите services.msc и откройте список служб.
  2. Найдите службу агента сервера 1С:Предприятия.
  3. Щёлкните правой кнопкой и выберите «Перезапустить». Если пункта нет, нажмите «Остановить», дождитесь остановки, затем «Запустить».
  4. Подождите 30–60 секунд. Крупный кластер поднимается дольше, особенно если база большая и кэш холодный.
  5. Откройте консоль кластера и убедитесь, что рабочие серверы и базы видны.

После перезапуска все сеансы обрываются, а у пользователей клиентов 1С появляется сообщение об обрыве соединения. Клиент нужно перезапустить.

Служба при остановке может «зависнуть» в состоянии «Останавливается». Не тыкайте в неё повторно и не перегружайте сразу весь сервер: через 2–3 минуты переходите к принудительному завершению процессов из следующего раздела.

Если после запуска служба сразу падает, посмотрите журнал событий Windows (Просмотр событий → Журналы Windows → Приложение) и системный журнал. Типичные причины: занят порт 1540 другим приложением, не хватает прав у пользователя, под которым запускается служба, или папка с данными кластера (srvinfo) недоступна.

Перезагрузка сервера 1С через командную строку

Командная строка нужна, когда оснастка не открывается, когда вы подключены к серверу удалённо или когда нужен скрипт на ночь.

Остановка и запуск службы

Запустите командную строку от имени администратора. Имя службы в net stop указывайте в кавычках — оно содержит пробелы и двоеточие:

net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
net start "1C:Enterprise 8.3 Server Agent (x86-64)"

Сверьте точное имя в services.msc на странице свойств службы (поле «Имя службы»). Оно может отличаться от показываемого и зависит от версии платформы и разрядности.

Через PowerShell то же самое делается одной командой:

Restart-Service -Name "<имя службы>" -Force

Подставьте реальное имя из свойств службы. Параметр -Force перезапустит и зависимые службы.

Принудительное завершение процессов

Если служба не останавливается, убейте процессы сервера. Сначала агент, затем остальные:

taskkill /F /IM ragent.exe
taskkill /F /IM rmngr.exe
taskkill /F /IM rphost.exe

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

Для ночного перезапуска оформите команды в .bat и добавьте в планировщик заданий на 3–4 часа ночи. Между net stop и net start поставьте паузу в 10–15 секунд командой timeout /t 15, чтобы порты успели освободиться.

Если сервер 1С завис и не отвечает

Признаки зависания: консоль кластера не подключается, клиенты висят на «Соединение с сервером», процесс rphost съедает всё процессорное время или память, а служба в списке «Выполняется», но толку нет.

Двигайтесь по ступеням и не перескакивайте:

Что происходит с сервером?

Что искать после зависания

Перезапуск снимает симптом, но причина остаётся. Проверьте:

  • 📉 Свободное место на диске. Каталог srvinfo и временные файлы растут. На забитом диске кластер ведёт себя непредсказуемо.
  • 🧮 Оперативную память. Если сервер упирается в своп, никакая служба не спасёт. Для базы на 20–30 одновременных пользователей ориентируйтесь на 16–32 ГБ на машине кластера.
  • 🔐 Лицензии. Исчерпание серверных лицензий выглядит как зависание: клиенты ждут свободный слот.
  • 🗄️ СУБД. Если медленно отвечает SQL-сервер, 1С выглядит зависшей, хотя сервер приложений ни при чём. Загляните в загрузку диска и блокировки на стороне СУБД.

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

Перезапуск сервера 1С в Linux и в кластере из нескольких серверов

Linux

В Linux сервер 1С обычно работает как служба systemd, и перезапускается она стандартными командами. Чаще всего служба называется srv1cv83, но имя задаёт установка, поэтому сначала найдите его:

systemctl list-units --type=service | grep -i 1c

Затем перезапустите службу:

sudo systemctl restart srv1cv83
sudo systemctl status srv1cv83

Если служба не останавливается, найдите процессы и завершите их:

ps aux | grep -E "ragent|rmngr|rphost"
sudo pkill -9 ragent
sudo pkill -9 rmngr
sudo pkill -9 rphost

Сигнал -9 — крайняя мера, как и taskkill /F в Windows. Сначала попробуйте обычный pkill без ключа и подождите полминуты.

После перезапуска проверьте, что порт 1540 слушается: ss -tlnp | grep 1540. Если порта нет, служба не поднялась — читайте journalctl -u srv1cv83.

Кластер из нескольких рабочих серверов

В кластере есть центральный сервер, на котором работает менеджер кластера, и рабочие серверы. Порядок перезапуска имеет значение:

  1. Заблокируйте начало сеансов во всех базах и завершите сеансы.
  2. Остановите службу на рабочих серверах.
  3. Остановите службу на центральном сервере.
  4. Запустите центральный сервер и дождитесь, когда он станет доступен.
  5. Затем запускайте рабочие серверы по одному.

Если запустить рабочий сервер раньше центрального, он не сможет зарегистрироваться в кластере. Для отдельного рабочего сервера, который нужно «покачать» на обслуживание, достаточно в консоли запретить назначение функций на этот сервер — тогда нагрузка уйдёт на соседей без остановки всего кластера.

Серверы 1С и СУБД перегружайте раздельно и в правильном порядке. Сначала останавливайте службу 1С, затем СУБД. Запускайте наоборот: СУБД, потом 1С. Иначе сервер приложений будет терять соединение с базой и создавать лишние ошибки.

Что делать после перезапуска сервера 1С

Сервер поднялся, но работу ещё не вернули. Пройдитесь по короткому списку.

  • ✅ Откройте консоль кластера и проверьте, что рабочие серверы в статусе «Работает» и базы отображаются.
  • 🔓 Снимите блокировку начала сеансов в каждой базе, которую блокировали. Это самая частая забытая операция: сервер работает, а пользователей не пускает.
  • 🖥️ Зайдите в одну из баз с тестового клиента и откройте тяжёлую форму, например отчёт. Первый запуск после перезапуска медленнее обычного, кэш прогревается.
  • 📣 Сообщите пользователям, что работа возобновлена. Если клиенты зависли, пусть закроют и откроют 1С заново.
  • 📝 Запишите причину и время простоя. Когда перезапуск понадобится в третий раз, вы увидите закономерность.

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

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

Сколько времени занимает перезапуск сервера 1С?
Саму службу — от 30 секунд до 2–3 минут. Столько же понадобится на возобновление работы: пока подгрузятся кэши, первые вызовы идут медленнее.
Потеряются ли данные при перезагрузке сервера 1С?
Проведённые документы останутся в базе. Теряется то, что пользователи ещё не записали, и незавершённые длительные операции. Поэтому предупреждайте людей заранее.
Можно ли перезагрузить сервер 1С днём?
Лучше нет. Если сервер завис и работа всё равно стоит, перезапускайте сразу, но сообщите об этом. Плановые перезапуски выносите на ночь или выходные.
Нужно ли перегружать SQL-сервер вместе с сервером 1С?
Нет. Это разные службы. СУБД трогайте только при отдельной проблеме на её стороне, и не одновременно с сервером приложений.
Как перезапускать сервер 1С автоматически?
Для рабочих процессов — настройкой интервала перезапуска в свойствах кластера. Для службы целиком — скриптом из net stop и net start или systemctl restart в планировщике, раз в неделю в нерабочее время.
Почему служба сервера 1С не запускается после перезапуска?
Чаще всего порт 1540 занят, у службы нет прав на каталог кластера или каталог недоступен. Причину покажет журнал событий Windows или journalctl в Linux.