Удаление кластера серверов 1С:Предприятие 8.3 — задача, с которой рано или поздно сталкивается каждый администратор.hether это связано с миграцией на новую инфраструктуру, очисткой тестовой среды или устранением конфликтов между версиями, процедура требует внимательного подхода. Ошибки при удалении могут привести к потере работоспособности других кластеров, нарушению лицензирования или даже повреждению баз данных, подключённых к серверу.

В этой статье мы разберём все официальные и альтернативные способы удаления кластера, включая ручные методы для Windows и Linux, проверку зависимостей через rac, а также нюансы работы с Агентом сервера 1С и менеджером кластеров. Особое внимание уделим скрытым файлам и ключам реестра, которые часто остаются после стандартного удаления и могут вызывать ошибки при повторной установке.

Если вы администрируете несколько кластеров или работаете в виртуализированной среде (например, VMware или Hyper-V), рекомендуем предварительно изолировать целевой сервер, чтобы избежать каскадных сбоев. Все инструкции актуальны для версий платформы 8.3.20–8.3.23, но основные принципы применимы и к более ранним релизам.

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

Прежде чем приступать к удалению, необходимо убедиться, что кластер не используется критически важными базами данных. Даже если вы уверены в отсутствии зависимостей, проверка через консоль администрирования (rac) займёт всего несколько минут, но предотвратит серьезные проблемы.

Сначала выполните резервное копирование:

  • 📁 Конфигурационные файлы кластера (обычно располагаются в %PROGRAMDATA%\1C\1cv8\conf\ или /var/1C/conf/ для Linux).
  • 🔑 Лицензионные ключи (если используете аппаратные или программные защиты).
  • 📊 Логи работы кластера (папки log в директории установки).
  • 🔄 Список рабочих процессов (можно экспортировать через rac cluster list).

Для анализа зависимостей подключитесь к кластеру через rac и выполните команды:

rac cluster list

rac cluster info <имя_кластера>

Обратите внимание на поля WorkingProcesses и ConnectedInfobases. Если в них есть активные подключения, удаление кластера приведёт к обрыву сессий пользователей.

💡

Если кластер используется для репликации данных между серверами, предварительно отключите его в настройках распределённой информационной базы (РИБ) через конфигуратор 1С.

2. Стандартное удаление через «Установку и удаление программ» (Windows)

Самый простой способ — использовать встроенные средства Windows. Однако он работает не всегда: если кластер был установлен с нестандартными параметрами или повреждён, стандартный деинсталлятор может не справиться.

Пошаговая инструкция:

  1. Откройте Панель управления → Программы → Программы и компоненты.
  2. Найдите в списке «1С:Предприятие 8.3 (x86-64)» или аналогичный пункт с пометкой «Сервер».
  3. Нажмите «Удалить» и следуйте инструкциям мастера.
  4. После завершения перезагрузите сервер — это обязательный шаг, даже если мастер не запросил перезагрузку.

Если в списке программ нет явного пункта для удаления кластера, попробуйте запустить установщик повторно:

  • 📂 Запустите файл setup.exe из дистрибутива платформы.
  • 🔄 В окне мастера выберите «Удалить» и отметьте галочкой компонент «Сервер 1С:Предприятия».

Убедиться, что служба `1C:Enterprise 8.3 Server Agent` отсутствует в `services.msc`|

Проверить папку установки (обычно `C:\Program Files\1cv8\`) на наличие остаточных файлов|

Выполнить команду `rac cluster list` — кластер не должен отображаться в списке|

Перезагрузить сервер и повторить проверку

-->

3. Ручное удаление кластера в Windows: реестр и службы

Если стандартное удаление не сработало или кластер повреждён, придётся удалять компоненты вручную. Этот метод требует прав администратора и осторожности — ошибки в реестре могут нарушить работу других программ.

Шаг 1: Остановка и удаление служб:

  • 🛑 Откройте services.msc и остановите службы:
    • 1C:Enterprise 8.3 Server Agent (x86-64)
    • 1C:Enterprise 8.3 Server (x86-64) (если есть)
  • 🗑️ Удалите их через контекстное меню («Удалить»).

Шаг 2: Очистка реестра:

  1. Запустите regedit и перейдите к ветке:
    HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8\8.3\
  2. Удалите подразделы, связанные с кластером (обычно это папки с именами вида Cluster{XXXX-XXXX-XXXX}).
  3. Проверьте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ на наличие записей 1cv8* и удалите их.

Что будет, если не очистить реестр?

Остаточные записи в реестре могут привести к конфликтам при повторной установке кластера, ошибкам лицензирования или даже «призрачным» кластерам, которые отображаются в rac, но не работают. В некоторых случаях это требует полной переустановки ОС.

Шаг 3: Удаление файлов:

  • 📂 Удалите папки:
    • C:\Program Files\1cv8\ (или другая папка установки)
    • %PROGRAMDATA%\1C\1cv8\
    • %APPDATA%\1C\1cv8\ (для текущего пользователя)
  • 🔍 Используйте поиск по диску C:\ по запросу 1cv8*, чтобы найти остаточные файлы.

Стандартное удаление через «Программы и компоненты»|

Ручное удаление через реестр и службы|

Скрипты PowerShell/Bash|

Переустановка ОС (чистая система)-->

4. Удаление кластера на Linux: команды и нюансы

На Linux процедура удаления кластера отличается из-за особенностей управления службами и расположения файлов. Здесь нет реестра, но есть свои подводные камни, например, остаточные конфигурационные файлы в /etc/ или /opt/.

Шаг 1: Остановка служб:

sudo systemctl stop srv1cv83

sudo systemctl stop ragents

sudo systemctl disable srv1cv83

sudo systemctl disable ragents

Шаг 2: Удаление пакетов:

  • 📦 Для Debian/Ubuntu:
    sudo apt-get remove --purge 1c-enterprise83-server
    

    sudo apt-get remove --purge 1c-enterprise83-server-nls

  • 📦 Для RHEL/CentOS:
    sudo yum remove 1C:Enterprise83-server
    

    sudo yum remove 1C:Enterprise83-server-nls

Шаг 3: Очистка файлов:

  • 🗃️ Удалите папки:
    sudo rm -rf /opt/1cv8/
    

    sudo rm -rf /var/1C/

    sudo rm -rf /etc/1c/

  • 🔍 Проверьте наличие пользователя usr1cv8 и группы grp1cv8:
    sudo deluser usr1cv8
    

    sudo delgroup grp1cv8

💡

На Linux после удаления пакетов часто остаются конфигурационные файлы в `/etc/1c/`. Их необходимо удалять вручную, иначе при повторной установке кластер может «подхватить» старые настройки, что приведёт к ошибкам.

5. Проверка результатов удаления и устранение ошибок

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

Проверяемый компонент Команда/действие Ожидаемый результат
Список кластеров rac cluster list Кластер не отображается в списке
Службы Windows sc query | find "1cv8" Нет записей о службах 1С
Процессы Linux ps aux | grep 1cv8 Нет активных процессов ragent или rmngr
Порты кластера netstat -ano | findstr 1540 (Windows) или ss -tulnp | grep 1540 (Linux) Порты 1540-1541, 1560-1591 не заняты

Если кластер всё ещё отображается в rac cluster list, но файлы и службы удалены, попробуйте принудительное удаление через rac:

rac cluster delete --force <имя_кластера>
💡

Если после удаления кластера вы получаете ошибку "Не удалось подключиться к кластеру" при попытке создать новый, проверьте, не заняты ли порты 1540-1541 другими программами. Используйте netstat или ss для диагностики.

6. Частые ошибки и их решения

Даже при аккуратном удалении могут возникать проблемы. Рассмотрим типичные сценарии и способы их решения:

Ошибка 1: «Кластер не удаляется — используется рабочими процессами»

  • 🔹 Причина: В кластере остались активные сессии или фоновые задачи.
  • 🔹 Решение: Принудительно завершите все процессы через rac:
    rac process terminate --all

    Затем повторите удаление.

Ошибка 2: «Не удалось удалить службу 1С — доступ запрещён» (Windows)

  • 🔹 Причина: Служба запущена от имени системной учётной записи или повреждена.
  • 🔹 Решение: Используйте команду sc delete с правами администратора:
    sc delete "1C:Enterprise 8.3 Server Agent" /f

    Ключ /f принудительно удаляет службу без подтверждения.

Ошибка 3: «Остаточные файлы в /var/1C/ не удаляются» (Linux)

  • 🔹 Причина: Файлы принадлежат пользователю usr1cv8, а текущий пользователь не имеет прав.
  • 🔹 Решение: Измените владельца или используйте sudo:
    sudo chown -R $USER:$USER /var/1C/
    

    rm -rf /var/1C/

Что делать, если после удаления кластера перестали работать другие кластеры 1С?

Это может происходить из-за повреждения общих библиотек или конфигурационных файлов в %PROGRAMDATA%\1C\. Восстановите их из резервной копии или переустановите платформу 1С поверх существующей установки (без удаления).

7. Альтернативные методы: скрипты и утилиты

Для автоматизации удаления кластера можно использовать скрипты на PowerShell (Windows) или Bash (Linux). Это удобно, если вам нужно очистить несколько серверов или интегрировать процедуру в систему оркестрации (например, Ansible).

Скрипт для Windows (PowerShell):

# Остановка и удаление служб

Stop-Service -Name "1C:Enterprise 8.3 Server Agent" -Force -ErrorAction SilentlyContinue

sc.exe delete "1C:Enterprise 8.3 Server Agent"

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

$paths = @(

"C:\Program Files\1cv8",

"$env:ProgramData\1C",

"$env:LocalAppData\1C"

)

foreach ($path in $paths) {

if (Test-Path $path) {

Remove-Item -Path $path -Recurse -Force

}

}

Очистка реестра

Remove-Item -Path "HKLM:\SOFTWARE\1C\1Cv8\8.3" -Recurse -Force -ErrorAction SilentlyContinue

Скрипт для Linux (Bash):

#!/bin/bash

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

systemctl stop srv1cv83 ragents 2>/dev/null

systemctl disable srv1cv83 ragents 2>/dev/null

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

if command -v apt-get &>/dev/null; then

apt-get remove --purge -y 1c-enterprise83-server*

elif command -v yum &>/dev/null; then

yum remove -y 1C:Enterprise83-server*

fi

Удаление файлов

rm -rf /opt/1cv8/ /var/1C/ /etc/1c/

Удаление пользователя

userdel usr1cv8 2>/dev/null

groupdel grp1cv8 2>/dev/null

Для массового удаления кластеров в виртуализированной среде можно использовать Ansible-плейбуки или DSC-конфигурации (Windows). Однако перед автоматизацией обязательно протестируйте скрипты на тестовом сервере.

8. Восстановление после некорректного удаления

Если в процессе удаления произошли сбои (например, сервер внезапно перезагрузился или были удалены критические файлы других кластеров), следуйте этому алгоритму восстановления:

  1. Восстановите резервные копии конфигурационных файлов из %PROGRAMDATA%\1C\1cv8\conf\ или /var/1C/conf/.
  2. Переустановите платформу 1С поверх существующей установки. Это восстановит повреждённые библиотеки и службы.
  3. Проверьте целостность баз данных, подключённых к кластеру, с помощью chdbfl:
    chdbfl.exe -ibname <путь_к_базе> -check
  4. Обновите лицензии, если после удаления кластера возникли ошибки активации. Используйте rac license update.

Если кластер был частью распределённой информационной базы (РИБ), после восстановления необходимо повторно настроить репликацию через конфигуратор 1С.

💡

При восстановлении после сбоев никогда не используйте резервные копии кластера старше 1–2 дней. Конфигурационные файлы (.cf) могут содержать устаревшие данные о рабочих процессах, что приведёт к конфликтам.

FAQ: Частые вопросы по удалению кластера 1С

Можно ли удалить кластер, не останавливая работающие базы?

Нет, это приведёт к обрыву сессий пользователей и возможному повреждению данных. Предварительно остановите все рабочие процессы через rac process terminate --all или перенесите базы на другой кластер.

После удаления кластера порты 1540–1541 остаются занятыми. Что делать?

Это может быть связано с «зависшими» процессами ragent.exe или rmngr.exe. Проверьте их в Диспетчере задач (Windows) или через ps aux (Linux) и принудительно завершите. Если порты заняты другой программой, измените порты для нового кластера в файле conf.cfg.

Как удалить кластер, если нет прав администратора на сервере?

Без прав администратора (или root для Linux) удалить кластер невозможно. Обратитесь к системному администратору или используйте учётные данные с соответствующими правами. Альтернатива — создание нового кластера на другом порту (например, 1542), но это не решит проблему занятых ресурсов.

Нужно ли удалять Агент сервера 1С отдельно?

Агент сервера (ragent) удаляется автоматически вместе с кластером, но в некоторых случаях (например, при ручном удалении) его приходится удалять отдельно. Для этого остановите службу ragents и удалите её через sc delete (Windows) или systemctl disable (Linux).

Можно ли удалить кластер через конфигуратор 1С?

Нет, конфигуратор не предоставляет инструментов для удаления кластеров. Он позволяет только управлять информационными базами, подключёнными к кластеру. Для удаления самого кластера используйте rac, «Установку и удаление программ» или ручные методы, описанные выше.

💡

Если вы планируете установить новый кластер на тот же сервер, перед установкой проверьте, не осталось ли старых записей в файле hosts (Windows: C:\Windows\System32\drivers\etc\hosts, Linux: /etc/hosts). Устаревшие записи могут вызывать ошибки подключения.