Удаление кластера и сервера 1С:Предприятия 8.3 без потери баз

· 10 мин

Содержание

Удалить кластер 1С можно тремя путями: в консоли администрирования (правая кнопка по кластеру → «Удалить»), командой rac cluster remove или вместе с сервером, через деинсталляцию платформы и очистку папки srvinfo. Перед любым из них снимите с кластера информационные базы так, чтобы базы данных на СУБД остались без изменений, и сохраните копию srvinfo.

Типичная ситуация: сервер 1С переезжает на новую машину, а на старой остался агент, который по-прежнему слушает порт 1540 и мешает. Или после неудачного обновления в консоли висят два кластера, и непонятно, какой рабочий. В обоих случаях удаление кластера 1С — операция на 10–15 минут, если заранее понять, что именно вы удаляете.

Что именно удаляем: кластер, сервер или запись в консоли

Под «удалить кластер» понимают три разные вещи. Перепутать их — главный источник проблем.

  • 🗂 Кластер — логическая единица внутри агента сервера: список баз, рабочие серверы, администраторы, профили безопасности. Удаляется в консоли или через rac. Платформа и служба остаются.
  • 🖥 Сервер 1С целиком — служба агента, файлы платформы, папка с реестром кластера. Удаляется деинсталляцией и ручной очисткой.
  • 📋 Запись в консоли — строка «Центральные серверы 1С:Предприятия» в оснастке MMC. Её удаление ничего не меняет на сервере: это просто закладка на вашем компьютере.
Что вам нужно получить в итоге?

Подготовка к удалению кластера 1С: копии и зависимости

Кластер удаляется сразу и без корзины. Восстановить его можно только из копии файлов реестра. Поэтому сначала соберите сведения и сделайте резервные копии.

Что зафиксировать

  1. Список баз кластера. Для каждой — имя в кластере, СУБД, сервер БД, имя базы данных. Позже это понадобится, чтобы зарегистрировать базы на новом сервере.
  2. Параметры службы. Откройте командную строку от администратора:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В строке BINARY_PATH_NAME видны версия платформы (путь к ragent.exe), порты -port и -regport, диапазон -range и путь к каталогу кластера после ключа -d. Если ключа -d нет, каталог по умолчанию — C:\Program Files\1cv8\srvinfo.

  1. Администраторы кластера и профили безопасности — переписать или сделать снимок экрана.
  2. Регламентные задания и внешние сеансы. Если на кластере работают обмены, веб-сервисы, интеграции — договоритесь о времени, когда они остановятся.

Резервные копии

  • 💾 Базы данных — средствами СУБД (бэкап MS SQL или pg_dump для PostgreSQL). Выгрузка .dt тоже подойдёт, но на больших базах она идёт долго.
  • 📁 Каталог srvinfo — скопируйте целиком при остановленной службе. Главное в нём — папка reg_1541 (имя по номеру порта менеджера кластера): там лежит реестр кластера со списком баз и настроек.
  • 🔑 Лицензии — файлы программных лицензий в C:\ProgramData\1C\licenses (на Linux — /var/1C/licenses). Деинсталляция платформы их не удаляет, но при ручной чистке папки их легко снести заодно.

Удаление кластера и остановка службы обрывают все сеансы пользователей и фоновые задания. Делайте это вне рабочего времени и предупредите пользователей заранее.

Как удалить кластер в консоли администрирования и через rac

В консоли серверов 1С

  1. Запустите «Администрирование серверов 1С Предприятия» той же версии, что и сервер.
  2. Раскройте центральный сервер → «Кластеры» → нужный кластер → «Информационные базы».
  3. На каждой базе: правая кнопка → «Удалить». В диалоге выберите вариант, при котором база данных на СУБД остаётся без изменений. Варианты «удалить» и «очистить» уничтожают данные.
  4. Если кластер распределённый, в ветке «Рабочие серверы» удалите все серверы, кроме центрального.
  5. Правая кнопка по самому кластеру → «Удалить». Подтвердите, при запросе введите логин и пароль администратора кластера.

Удаление базы из кластера — это удаление регистрации. Таблицы в MS SQL или PostgreSQL остаются, и базу потом можно снова подключить к любому кластеру.

Через rac (Windows и Linux)

rac работает через сервер администрирования ras, по умолчанию на порту 1545. Если ras не запущен, стартуйте его на сервере:

ras cluster --daemon            # Linux
ras.exe cluster                 # Windows, в отдельном окне

Затем:

# список кластеров и их идентификаторы
rac localhost:1545 cluster list

# список баз кластера
rac localhost:1545 infobase summary list --cluster=<UUID-кластера>

# снять базу с кластера, данные на СУБД не трогаются
rac localhost:1545 infobase drop --cluster=<UUID-кластера> --infobase=<UUID-базы> \
    --cluster-user=admin --cluster-pwd=****

# удалить сам кластер
rac localhost:1545 cluster remove --cluster=<UUID-кластера> \
    --cluster-user=admin --cluster-pwd=****

Если у баз есть свои учётные данные, команде infobase drop добавляются --infobase-user и --infobase-pwd. Ключи --drop-database и --clear-database не указывайте — они удаляют или очищают базу данных на СУБД. Полный список параметров — rac help infobase.

Сценарий с rac удобен, когда баз десятки: список infobase summary list выводится в текстовом виде, из него легко собрать цикл удаления.

Удаление сервера 1С в Windows через «Программы и компоненты»

Если кластер больше не нужен вместе с сервером, дальше удаляют саму платформу.

Остановка служб

  1. Win+R → services.msc.
  2. Найдите «Агент сервера 1С:Предприятия 8.3 (x86-64)» и остановите. Если на сервере зарегистрированы служба ras или сервер хранилища конфигураций, остановите и их.
  3. Тип запуска переключите на «Отключена», чтобы служба не поднялась при перезагрузке посреди работ.

Из командной строки то же самое:

sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= disabled

Деинсталляция платформы

  1. Откройте Панель управления → Программы и компоненты (или Параметры → Приложения в Windows Server 2022).
  2. Найдите строки «1С:Предприятие 8 (x86-64) (8.3.xx.xxxx)». Их может быть несколько — по одной на каждую установленную версию.
  3. Удалите ту версию, на которой работает служба (её номер вы видели в sc qc), и остальные, если они больше не нужны.

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

Ручная очистка в Windows: служба, папки, реестр, пользователь

Служба агента

Проверьте, что служба исчезла:

sc query "1C:Enterprise 8.3 Server Agent (x86-64)"

Если она на месте, удалите запись. Пока файлы платформы не удалены, это делает сам агент:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -rmsrvc

Если платформы уже нет — штатной командой Windows:

sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Папки

ПутьЧто тамУдалять?
C:\Program Files\1cv8\8.3.xx.xxxxФайлы платформыДа, если остались после деинсталляции
C:\Program Files\1cv8\srvinfo (или путь из -d)Реестр кластера, журналы, сеансовые данныеДа, после копирования
C:\ProgramData\1C\licensesПрограммные лицензииНет, если лицензии нужны на этой машине
C:\Users\USR1CV8\AppDataПрофиль служебного пользователяДа, вместе с пользователем

Реестр

Отдельно чистить реестр после удаления сервера 1С почти никогда не нужно. Записи службы хранятся в ветке HKLM\SYSTEM\CurrentControlSet\Services, и sc delete убирает их сам. Ручная правка нужна только в одном случае: в «Программах и компонентах» висит строка удалённой версии, а деинсталлятор падает с ошибкой. Тогда:

  1. Сделайте экспорт ветки HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall в .reg-файл.
  2. Найдите в ней подраздел, у которого параметр DisplayName содержит «1С:Предприятие» и нужный номер версии.
  3. Удалите только этот подраздел.

Пользователь и брандмауэр

Служебного пользователя установщик создаёт для запуска агента. Если других служб от его имени нет:

net user USR1CV8 /delete

В «Брандмауэре Защитника Windows» (wf.msc) удалите входящие правила для портов 1540, 1541 и диапазона рабочих процессов (по умолчанию 1560–1591), а также 1545, если был открыт ras.

Всё вместе можно собрать в один .bat, запускаемый от администратора:

@echo off
set SVC=1C:Enterprise 8.3 Server Agent (x86-64)
set SRV=C:\Program Files\1cv8\srvinfo
set BAK=D:\backup\srvinfo_%DATE:~-4%%DATE:~3,2%%DATE:~0,2%

sc stop "%SVC%"
timeout /t 15 /nobreak
robocopy "%SRV%" "%BAK%" /E /R:1 /W:1
sc delete "%SVC%"
rmdir /s /q "%SRV%"
net user USR1CV8 /delete

Скрипт рассчитан на русскую локаль формата даты ДД.ММ.ГГГГ. Перед rmdir проверьте, что копия в %BAK% действительно появилась.

Удаление кластера 1С на Linux: службы, пакеты, файлы

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

В новых версиях платформы служба — это шаблонный юнит systemd с номером версии в имени:

systemctl list-units --all | grep -i srv1cv8
sudo systemctl stop srv1cv8-8.3.xx.xxxx@default
sudo systemctl disable srv1cv8-8.3.xx.xxxx@default

В старых версиях вместо юнита использовался скрипт /etc/init.d/srv1cv83:

sudo /etc/init.d/srv1cv83 stop
sudo update-rc.d srv1cv83 remove      # Debian, Ubuntu
sudo chkconfig --del srv1cv83         # RHEL-подобные

Удаление пакетов

Сначала посмотрите, что установлено:

dpkg -l | grep -i 1c-enterprise      # Debian, Ubuntu, Astra
rpm -qa | grep -i 1c                 # RHEL, РЕД ОС, ALT

Дальше зависит от способа установки:

  • 📦 Ставили пакетами deb/rpm — удаляйте найденные пакеты через apt purge или dnf remove, указав их имена из вывода выше.
  • 🧩 Ставили единым установщиком setup-full-…run — в каталоге версии /opt/1cv8/x86_64/8.3.xx.xxxx/ лежит uninstaller-full. Запустите его через sudo и выберите компоненты. Ключи для тихого режима смотрите в --help.

После этого проверьте, не остался ли в /etc/systemd/system/ симлинк на юнит srv1cv8-…@.service. Если остался — удалите и выполните sudo systemctl daemon-reload.

Файлы и пользователь

ПутьЧто там
/opt/1cv8/x86_64/8.3.xx.xxxxФайлы платформы
/home/usr1cv8/.1cv8/1C/1cv8Каталог кластера (аналог srvinfo), если при регистрации службы не задан другой
/var/1C/licensesПрограммные лицензии

Скопируйте каталог кластера и удалите пользователя:

sudo tar czf /root/srvinfo_backup.tgz /home/usr1cv8/.1cv8
sudo userdel -r usr1cv8
sudo groupdel grp1cv8

Ключ -r у userdel удаляет домашний каталог вместе с реестром кластера. Сначала архив, потом удаление.

Не забудьте закрыть порты в firewalld, ufw или iptables — те же 1540, 1541, 1560–1591 и 1545.

Проверка результата и восстановление после неудачного удаления

Как убедиться, что всё удалено

Сервер 1С удалён полностью
Выполнено: 0 / 8

Если удалили не то или не так

Удалили кластер, а сервер ещё нужен. Остановите службу, верните из копии каталог reg_1541 в srvinfo и запустите службу снова. Кластер появится со всеми базами и настройками. Копия должна быть снята с той же версии платформы.

Копии srvinfo нет, но базы на СУБД целы. Создайте в консоли новый кластер (или используйте тот, что создаётся при первом запуске службы) и зарегистрируйте каждую базу заново: те же сервер СУБД, тип СУБД и имя базы данных. Флажок создания базы при её отсутствии ничему не мешает: если база данных существует, 1С просто к ней подключится. Пользователи и данные базы при этом не теряются — они хранятся в самой базе данных, а не в кластере.

При удалении базы выбрали «Удалить базу данных». Восстанавливать придётся из бэкапа СУБД или .dt. Поэтому пункт про резервные копии в подготовке не формальность.

Деинсталлятор сломался на середине. Повторно установите ту же версию платформы поверх, затем удалите её штатно. Это чище, чем чистить реестр вручную.

Ошибки при удалении кластера и сервера 1С

Диагностика: выберите симптом

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

Удаляются ли базы данных при удалении кластера 1С?
Нет, если при снятии баз с кластера выбран вариант без изменения базы данных. Таблицы на MS SQL или PostgreSQL остаются, их можно подключить к другому кластеру.
Можно ли удалить кластер, не удаляя платформу?
Да. Кластер удаляется в консоли администрирования или командой rac cluster remove. Служба агента и платформа продолжают работать.
Нужно ли переносить лицензии при удалении сервера 1С?
Программная лицензия привязана к параметрам компьютера. На новой машине её активируют заново: одним из резервных пин-кодов комплекта. Файлы старой лицензии на новом сервере не заработают.
Что будет с клиентами, которые подключены к удалённому кластеру?
Их сеансы оборвутся, а при следующем запуске появится ошибка подключения к серверу. В списке баз у пользователей нужно поменять адрес сервера на новый.
Можно ли удалить только старую версию платформы, если служба работает на новой?
Да. Проверьте через sc qc, путь к какой версии ragent.exe прописан у службы, и удаляйте любые другие версии — служба этого не заметит.