Короткий ответ

Недоступный «сервер 1С» — это узел SRV-1C, процессы кластера 8.3 и порты, а не сразу SQL. Проверьте: жива ли служба агента (ragent, обычно TCP 1540), отвечает ли менеджер rmngr (1541), открыт ли диапазон рабочих процессов 1560–1591, есть ли диск под каталогом srvinfo. Не снимайте все rphost через Task Manager и не перезагружайте хост, пока не зафиксировали: служба, порт, место, журнал.

База Accounting на SQL01\MSSQLSERVER может быть полностью здоровой при мёртвом кластере — и наоборот.

Симптомы и как отличить

Типичная картина:

  • все клиенты: ошибка соединения с сервером 1С:Предприятия;
  • RDP на SRV-1C есть, 1С всё равно нет;
  • Get-Service агента — Stopped или StartPending;
  • с ПК Test-NetConnection -Port 1540 = False.

Отличия:

КартинаНе кластер как рольКуда
Один клиенткэш/ярлыкне запускается
Список пустой, rac видит кластерсписок базне видит базу
Кластер сеансы принимает, ошибка SQLСУБДSQL недоступен
Сеансы есть, один повиссеанссеанс завис

Возможные причины

  1. Служба агента не стартовала после обновления платформы/патча Windows.
  2. Порт занят вторым агентом или чужим процессом; в ярлыке службы не тот -port.
  3. Firewall (хост или межсетевой) режет 1540/1541/диапазон rphost.
  4. Диск с C:\Program Files\1cv8\srvinfo (или ваш путь -d) заполнен или read-only.
  5. Каталог кластера повреждён после hard reset.
  6. Лицензия сервера не поднимает рабочие процессы — похоже, но сообщение другое; проверьте после портов.
  7. Редко: антивирус держит ragent.exe.

Диагностика

Плейсхолдеры: SRV-1C, база Accounting, SQL SQL01.

1. Служба и процессы

Get-CimInstance Win32_Service | Where-Object { $_.Name -like '*1C*' -or $_.DisplayName -match '1С|1C:Enterprise' } |
  Format-List Name, DisplayName, State, StartMode, PathName
Get-Process ragent, rmngr, rphost, ras -ErrorAction SilentlyContinue |
  Format-Table Name, Id, CPU, WorkingSet

В PathName агента смотрите -port и -d. Если -port 1640, клиенты на 1540 будут «сервер недоступен» при живом процессе.

2. Порты

Test-NetConnection SRV-1C -Port 1540
Test-NetConnection SRV-1C -Port 1541
Test-NetConnection SRV-1C -Port 1560
Get-NetTCPConnection -LocalPort 1540,1541 -ErrorAction SilentlyContinue |
  Format-Table LocalAddress, LocalPort, State, OwningProcess

Слушает 127.0.0.1 only — клиенты с VLAN не достучатся. Должен быть адрес интерфейса или 0.0.0.0.

3. Диск и srvinfo

Get-PSDrive -PSProvider FileSystem | Format-Table Name, Used, Free
Get-ChildItem 'C:\Program Files\1cv8\srvinfo' -ErrorAction SilentlyContinue | Select-Object Name, LastWriteTime

Путь может быть другим (D:\1c_reg\). Берите его из PathName службы.

4. Журнал агента

В каталоге, указанном -d, журналы кластера. Плюс Windows Application. Ищите отказ старта, порт in use, access denied на srvinfo.

Get-EventLog -LogName Application -Newest 50 -Source '*1C*','1CV8' -ErrorAction SilentlyContinue

(Если источник другой — фильтр по времени вокруг Stop/Start службы.)

5. SQL отдельно

Test-NetConnection SQL01 -Port 1433

Нужно, чтобы не лечить кластер, когда мёртв только SQL — но при Down ragent клиент часто даже не доходит до SQL.

Решение

Сценарий A. Служба Stopped, диск и порт свободны

Запустите службу агента штатно:

$svc = Get-Service | Where-Object { $_.DisplayName -match 'Агент сервера 1С|1C:Enterprise 8.3 Server Agent' }
Start-Service $svc.Name
Get-Process ragent, rmngr -ErrorAction SilentlyContinue

Дождитесь rmngr, затем проверка с клиента на 1540/1541. Не стартуйте «ещё один» ragent.exe руками параллельно той же -d.

Сценарий B. Порт занят

Найдите PID на 1540. Второй агент после неудачного обновления — частая история. Оставьте один агент на каталог srvinfo, второй — другой порт и другой -d.

Сценарий C. Firewall

Добавьте разрешающие правила на 1540, 1541, диапазон рабочих процессов, при необходимости RAS 1545. С клиентских подсетей. Не выключайте профиль Domain насовсем.

Сценарий D. Агент не стартует из-за диска

Освободите том не удаляя srvinfo и данные кластера. Кандидаты: логи ТЖ, дампы, старые копии платформы. После гигабайтов свободных — старт службы.

Сценарий E. Нужен рестарт агента

Если служба зависла в StartPending:

  1. Предупредите пользователей: сеансы упадут.
  2. Штатный Stop службы, пауза, Start.
  3. Не Stop-Process -Name rphost -Force пачкой, пока служба ещё контролирует процессы.

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

Test-NetConnection SRV-1C -Port 1540
Test-NetConnection SRV-1C -Port 1541
& 'C:\Program Files\1cv8\8.3.23.1782\bin\rac.exe' cluster list

Клиент открывает Accounting. В консоли есть рабочие процессы. Сеанс тестовой учётки не падает сразу.

Если не помогло

  • ragent Up, 1541 нет — смотрите журнал менеджера, лицензию сервера, повреждение реестра кластера (restore srvinfo из backup, не с нуля без копии).
  • Кластер Up, ошибка СУБД — SQL.
  • Служба сразу Stop — права учётки службы на -d, блок антивируса, неверный путь платформы после обновления.
  • Несколько кластеров на одном хосте — клиент бьёт не в тот порт.

Профилактика

  • Мониторинг службы агента и TCP 1540/1541 с клиентской VLAN.
  • Документ: порт, путь -d, сборка 8.3.
  • Место на томе srvinfo и технологического журнала.
  • Консоль гипервизора, не только «1С не открывается».
  • Перед патчем хоста — подготовка к обновлению.

FAQ

Клиенты ходят на IP, DNS жив. Зачем DNS?

Чтобы переезд VM не потребовал правки 200 ярлыков. Для диагностики IP достаточен.

Нужно ли открывать 1540 в интернет?

Нет. Кластер — только внутренняя сеть. Публикация веб-клиента — отдельно, через reverse proxy, не opening ragent.

Чем rac лучше консоли MMC?

Тем же API, удобно с сервера без GUI. Для одного сбоя достаточно консоли. UUID кластера берите из cluster list.

После старта агента сеансы «старые» ещё в списке.

Мёртвые сеансы уберите штатно. Не путать с зависшим сеансом на живом кластере.

Можно ли поднять второй SRV-1C на ту же SQL-базу Accounting?

Не как «hot spare» без понимания кластера и блокировок. Два независимых кластера на одну SQL-базу — путь к порче. Отказоустойчивость проектируйте, не включайте второй агент «на всякий случай».