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

Synthetic full в Veeam 12 — это склейка на репозитории, не новый съём с VM. Если он не создаётся, смотрите: свободное место на \\backup.contoso.example\Repo01 (нужен запас под временные файлы), целая цепочка инкрементов Daily-VMs, что transform не убит по окну, что репозиторий умеет synthetic (не каждый object/immutable режим ведёт себя как простой SMB). Не удаляйте .vib «чтобы собрать full» и не запускайте Active Full каждую ночь без нужды: это другой удар по окну и RPO.

WSB и PBS не строят Veeam synthetic full. PBS — chunk store и prune; «full» там другая модель.

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

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

  • в расписании «synthetic full в воскресенье», Result Failed;
  • в репозитории длинная цепочка increment без нового full;
  • место падает почти до нуля во время transform и отскакивает (или нет);
  • job инкремента Success, отдельный transform Fail.

Отличия:

ВидноСтатья
Нет места вообще, job copy failРепозиторий заполнен
Active/full с VM не стартуетНе запускается / job failed
Transform часами, место естьДолго, диск Repo01
После «успеха» restore врётПовреждены

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

  1. Не хватает свободного места на время склейки (часто нужен запас порядка размера full).
  2. Битый или отсутствующий инкремент в цепочке.
  3. Репозиторий/режим (некоторые object, per-VM цепочки, immutable) ограничивает synthetic — смотрите лог, не форум.
  4. Окно backup обрывает transform.
  5. Другой job держит файлы цепочки.
  6. Антивирус лочит файлы merge.
  7. Прерванный прошлый transform оставил временные файлы.
  8. Редкий: несовместимость после апгрейда репозитория без rescan.

Диагностика

1. Что именно failed

Connect-VBRServer -Server 'VBR01.contoso.example'
Get-VBRBackupSession -Name 'Daily-VMs' |
  Sort-Object CreationTime -Descending | Select-Object -First 8 Result, CreationTime, Name

Откройте воскресную (или когда synthetic) session: есть ли «Transform» / «Synthetic». Текст про space vs missing file vs cancelled.

2. Цепочка точек

Get-VBRBackup -Name 'Daily-VMs' | Get-VBRRestorePoint |
  Sort-Object CreationTime |
  Format-Table CreationTime, Type, Name

Дыры в датах, Type не сходится с политикой — цепочка уже больна. Verify full и соседних increment.

3. Место

На томе Repo01 свободные байты до transform и пик во время. Если free < размера полного backup — синтетика не взлетит. Это задача ёмкости/retention, не «ещё раз synthetic».

4. Кто держит файлы

Антивирус, чужой robocopy, второй VBR, открытый FLR на ту же цепочку. Закройте FLR, отложите scan.

5. Тип репозитория

SMB на Windows, ReFS с fast clone, Linux hardened, object. Fast clone на ReFS снижает потребность во временном месте, но не спасает битую цепочку. Hardened: merge должен поддерживаться дизайном; ошибка permission на rewrite старых файлов — ожидаема при immutable, synthetic может требовать новых файлов.

Решение

Сценарий A. Нет места

Расширьте том или укоротите retention штатно (см. заполненный репозиторий). Запас под transform заложите в расчёт ёмкости. Повторите synthetic в окно, когда Daily-VMs Idle.

Сценарий B. Битая цепочка

Verify. Восстановите из last good, затем новый Active Full на здоровый репозиторий — это честный полный съём с VM, не склейка гнили. Не synthetic поверх CRC-ошибок.

Сценарий C. Окно обрывает

Вынесите synthetic на отдельное окно (выходные, длиннее). Backup window «deny after 06:00» убивает merge.

Сценарий D. Репозиторий не делает synthetic как вы думаете

Перечитайте возможности типа репозитория в документации 12 для вашей сборки. Обход: периодический Active Full, backup copy в другой repo, где склейка возможна. Не отключайте immutable, «чтобы synthetic записал поверх».

Сценарий E. Временные файлы leftover

Ищите файлы merge по документации вендора; не удаляйте .vbk живой цепочки. Support/процедура cleanup, если transform оборвали Kill.

Сценарий F. Нужен full срочно для RPO

Active Full job (съём с VM) — да, если цепочка мертва и окно позволяет. Понимайте нагрузку на прод и proxy. После успешного full старая цепочка — на retention, не руками в проводнике.

PBS: «synthetic full» нет; держите prune так, чтобы не терять нужную глубину, verify отдельно.

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

  • Появилась точка Type Full (synthetic или active) свежая.
  • Цепочка в GUI без missing.
  • Место на Repo01 после transform не 0.
  • Restore тестовой VM/файла из новой full в изоляции.
Get-VBRBackup -Name 'Daily-VMs' | Get-VBRRestorePoint |
  Sort-Object CreationTime -Descending | Select-Object -First 10 CreationTime, Type

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

  • Каждый synthetic fail на space: рост данных, GFS на том же диске — нужна ёмкость.
  • Fail на permission: ACL или immutability, не «баг merge».
  • Active Full ок, synthetic нет — живите на Active Full по расписанию, пока не смените тип репозитория.
  • Transform Success, размер full меньше ожидаемого подозрительно — verify.

Не overwrite оригинальную VM для проверки full.

Если synthetic падает только в воскресенье, а инкременты будней зелёные — смотрите пересечение с другим job: backup copy, health check, антивирус full-scan Repo01, Windows backup на том же томе. Transform любит последовательный доступ к цепочке; параллельный читатель держит файлы и растягивает окно до deny. Разнесите расписания хотя бы на час и повторите одну synthetic вне «большого воскресенья».

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

  • Запас диска под merge в мониторинге (порог выше, чем для инкремента).
  • Synthetic не в том же пике, что антивирус full-scan Repo01.
  • Регулярный verify full.
  • Документировать: forever incremental vs weekly synthetic vs weekly active.
  • Не смешивать GFS full и ежедневные на томе впритык.

FAQ

Synthetic vs Active full?

Synthetic не трогает VM (плюс для окна продакшена), требует здоровую цепочку и место на repo. Active читает VM заново.

ReFS fast clone обязателен?

Нет, но сильно снижает время и временное место на Windows-репозитории. Не конвертируйте том в инцидент.

PBS chunk — это уже «всегда incremental»?

Модель другая. Не ищите кнопку synthetic в PBS.

Можно weekly active вместо synthetic?

Да, если окно и I/O VM позволяют. Проще операционно на проблемном repo.

Transform после FLR

Закройте mount. Открытый FLR держит файлы.

Immutability запрещает synthetic?

Зависит от реализации репозитория (hardened пишет новые объекты vs rewrite). Читайте лог: permission denied на старый файл — не ломайте immutable, смените стратегию full.