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

«Не запускается» — это не «упало в середине». Сначала отделите: задание выключено, вне окна, ждёт предыдущий прогон, служба/агент мертвы, нет прав на репозиторий. На VBR01 откройте job Daily-VMs и посмотрите Next run, Enabled, Backup window, Retry, chained jobs. Не жмите Start, пока не снимите расписание и состояние служб: ручной старт маскирует, что расписание сломано.

Для Windows Server Backup смотрите политику Get-WBPolicy и задачу \Microsoft\Windows\Backup\. Для PBS — таймер/cron на pve1 и доступ к datastore, не «новый сервер PBS».

Цель этой статьи — старт задания. Если job стартует и краснеет — Backup завершается с ошибкой и Veeam job failed.

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

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

  • в консоли Veeam у Daily-VMs Last result пустой, Next run в прошлом или «Disabled»;
  • Windows Server Backup: в MMC нет свежего run, Get-WBJob пустой;
  • PBS: в GUI PVE Backup нет новой snapshot, Task History пуст на окно;
  • мониторинг орёт «backup missed», хотя диск репозитория жив.

Отличия:

Что видноЭто не «не стартует»Куда
Job Running часамидолго, не «молчание»Backup слишком долго
Status Failed, есть sessionстартовало и упалоОшибка backup, Veeam job failed
Репозиторий Offlineстарт блокируется хранилищемVeeam repository недоступен
Окно прошло, RPO сорванпроцесс, не агентRPO

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

От частых к редким:

  1. Job Daily-VMs Disabled после обслуживания или после сбоя лицензии.
  2. Backup window закрыто: расписание 02:00, окно 22:00–01:00 — задание пропускает слот.
  3. Предыдущая сессия висит (Stopping/Stopping hung), новая не ставится в очередь.
  4. Служба VeeamBackupSvc / Veeam Broker Service на VBR01 не Running.
  5. Цепочка: Daily-VMs стартует «After job X», X не завершился.
  6. Windows Server Backup: политика не создана, задача Backup отключена, нет target.
  7. PBS: нет job в jobs.cfg, узел в maintenance, storage PBS inactive.
  8. Учётка службы не имеет права на \\backup.contoso.example\Repo01 — старт сразу отваливается, внешне «не запускается».
  9. Агент Veeam на госте/физике не установлен или не в Maintenance-исключении, job agent-based ждёт недоступный хост и не создаёт session.

Диагностика

Плейсхолдеры: сервер VBR01, job Daily-VMs, репозиторий \\backup.contoso.example\Repo01, домен contoso.example.

1. Состояние job на VBR01

С консоли администратора, модуль Veeam:

Connect-VBRServer -Server 'VBR01.contoso.example'
Get-VBRJob -Name 'Daily-VMs' |
  Select-Object Name, IsScheduleEnabled, IsRunning, LatestStatus, NextRun, Description
Get-VBRBackupSession -Name 'Daily-VMs' | Select-Object -First 5 Name, Result, CreationTime, EndTime, State

IsScheduleEnabled : False — вот ваша причина, не «Veeam сломался». NextRun в прошлом при Enabled — смотрите backup window и chained jobs в GUI (Schedule → Backup window / Run automatically).

2. Службы и очередь

Get-Service VeeamBackupSvc, VeeamBrokerSvc, VeeamCatalogSvc, VeeamMountSvc |
  Format-Table Name, Status, StartType
Get-WinEvent -LogName 'Veeam Backup' -MaxEvents 30 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

Канал Veeam Backup на VBR01 фиксирует отказ старта и отказ доступа к репозиторию. Не фильтруйте только Error: Warning про window skip тоже объясняет «тишину».

3. Репозиторий и права

Get-VBRBackupRepository | Where-Object { $_.Name -match 'Repo01' } |
  Format-List Name, Type, Path, IsUnavailable, Description
Test-Path '\\backup.contoso.example\Repo01'
Test-NetConnection backup.contoso.example -Port 445

Test-Path под вашей учёткой ≠ права службы Veeam. Служба обычно идёт как contoso\svc-veeam или LOCAL SYSTEM на VBR01 с явным ACL на share. Сравните, кто реально ходит на SMB.

4. Windows Server Backup

На файловом/прикладном сервере, не на VBR01, если WSB живёт там:

Get-WBPolicy
Get-WBJob -Previous 3
Get-ScheduledTask -TaskPath '\Microsoft\Windows\Backup\' |
  Format-List TaskName, State, LastRunTime, NextRunTime, LastTaskResult
wbadmin get status

Пустая политика — расписания нет. State : Disabled у задачи — GPO или кто-то выключил. LastTaskResult ненулевой при «не стартовало» часто означает, что планировщик даже не дошёл до wbadmin.

5. PBS

На pve1 / PBS pbs1.contoso.example:

grep -n backup /etc/pve/jobs.cfg
pvesm status
systemctl status proxmox-backup.service --no-pager
proxmox-backup-manager datastore list

Нет секции job — нечему стартовать. Storage PBS inactive — репозиторий недоступен по смыслу, даже если это не Veeam.

Решение

Сценарий A. Veeam job Disabled или без Next run

Включите расписание в GUI Daily-VMs → Job → Schedule → Enable. Если job нарочно выключали на окно патча — верните Enable после проверки, что предыдущая сессия не Running.

Enable-VBRJob -Job (Get-VBRJob -Name 'Daily-VMs')
Get-VBRJob -Name 'Daily-VMs' | Select-Object Name, IsScheduleEnabled, NextRun

Не ставьте «Run continuously», чтобы «наверстать неделю»: сорвёте окно и RPO чужих job. Один ручной Start после фикса расписания — допустим как проверка, не как замена расписанию.

Сценарий B. Backup window съедает слот

Если расписание 02:00, а окно 23:00–01:00, Veeam пропустит день. Расширьте окно так, чтобы слот в него попадал, или сдвиньте старт. Документируйте окно: оно должно совпадать с антивирусом/репликацией/индексацией, не с фантазией «ночью».

Сценарий C. Висящая сессия

В GUI: Stop job, дождитесь Stopped. Не Kill процесса Veeam.Backup.Manager с диспетчера, пока не убедитесь, что snapshot на гипервизоре не открыт. После Stop — один Start. Если Stop не завершается — смотрите proxy и snapshot, это уже job failed, не «не стартует».

Сценарий D. Служба не Running

Start-Service VeeamBackupSvc, VeeamBrokerSvc
Get-Service VeeamBackupSvc, VeeamBrokerSvc

Если сразу останавливается — смотрите Application log на VBR01, SQL Express/SQL для конфигурации Veeam, диск C:. Не переустанавливайте Veeam из-за Disabled job.

Сценарий E. Windows Server Backup без политики

Создайте политику заново только если Get-WBPolicy пуст. Target — \\backup.contoso.example\Repo01 или выделенный том, не «какой-то диск D: с пользовательскими данными».

# проверка, что цель доступна учётке, под которой крутится задача
cmdkey /list
wbadmin get disks

Права: учётка задачи должна писать в share. Локальный администратор сервера ≠ ACL на Repo01.

Сценарий F. PBS job отсутствует или узел в maintenance

Верните job в Datacenter → Backup, узлы не в maintenance, storage PBS online. Не создавайте второй job на те же VM «на всякий случай»: получите lock и долгий/упавший backup.

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

  1. NextRun у Daily-VMs в будущем, IsScheduleEnabled true.
  2. После ближайшего слота (или одного контролируемого Start) появляется session со статусом Success или Failed — главное, что старт был. Failed разбирайте в соседней статье.
  3. WSB: NextRunTime заполнен, Get-WBJob показывает прогон.
  4. PBS: в Task History есть задача на окно, не пусто.
Get-VBRJob -Name 'Daily-VMs' | Format-List Name, IsScheduleEnabled, NextRun, LatestStatus
Get-VBRBackupSession -Name 'Daily-VMs' | Select-Object -First 1 CreationTime, Result, State

Зафиксируйте в заявке: было Disabled / window miss / service stopped — и что именно включили.

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

  • Next run есть, session нет в слот: NTP на VBR01, часовой пояс job vs хоста, backup window с «Deny».
  • Старт есть только вручную: ищите GPO на Scheduled Tasks, чужой скрипт Disable-VBRJob, лицензию в Evaluation expired.
  • Agent job: консоль видит хост? Maintenance mode? Не тот scope Protection Group.
  • SMB 445 до backup.contoso.example закрыт с VBR01, а с вашей админской станции открыт — проверяйте с самого VBR01.

Не «чините» это удалением точек и не отключайте immutability, чтобы «дать заданию стартануть».

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

  • Монитор: LatestStatus и пропущенный NextRun (время слота прошло, новой session нет), не только Failed.
  • Запрет Disable job без заявки и даты возврата.
  • Окно backup и антивирусное сканирование репозитория не должны полностью перекрывать слот.
  • Учётка службы Veeam — отдельная, не Domain Admin продакшена; ACL только на \\backup.contoso.example\Repo01. См. учётные записи backup.
  • После патча VBR01 — проверка Get-Service Veeam* и Next run.

FAQ

Можно ли просто жать Start каждый день?

Нет. Ручной старт не доказывает, что расписание живо. RPO считается по автоматическому слоту.

Job Enabled, но Next run пустой

Смотрите режим «After this job» и Backup window. Пустой Next run при периодическом расписании — повод снять Schedule заново, не пересоздавать job.

Windows Server Backup в MMC зелёный, а копии нет на share

Политика могла писать на локальный диск. Сверьте Get-WBBackupTarget с \\backup.contoso.example\Repo01.

PBS: cron на узле есть, snapshot нет

Storage PBS мог стать inactive (fingerprint, квота). Это уже не «таймер», см. доступ к репозиторию.

Нужно ли перезагружать VBR01, если служба не стартует?

Сначала логи и зависимость SQL. Перезагрузка консоли не лечит Disabled job и закрытое окно.

Агент «не запускает» backup гостя

Проверьте, что job вообще agent-based и что Protection Group содержит хост. Hypervisor job без агента «не запускает агент» по определению — смотрите proxy и snapshot.