Для настройки резервного копирования Windows Server установите роль Windows Server Backup через Server Manager, затем создайте расписание бэкапов через оснастку wbadmin или PowerShell. Можно бэкапить весь сервер целиком, отдельные тома, состояние системы или конкретные папки (и лучше начать настройку до того, как что-нибудь сломается).
Установка Windows Server Backup
По умолчанию эта роль не установлена. Надо добавить.
# Устанавливаем компонент Windows Server Backup
# Без этого команды wbadmin и оснастка недоступны
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
# Проверяем что установилось
Get-WindowsFeature Windows-Server-Backup | Select Name, InstallStateИли через Server Manager: Add Roles and Features, Features, Windows Server Backup. Перезагрузка не нужна.
Короче, установка занимает минуту. А вот настройка это уже интереснее.
Куда делать бэкапы
Тут такое дело. Есть несколько вариантов хранения, и у каждого свои плюсы.
| Место хранения | Скорость восстановления | Защита от сбоя сервера | Стоимость | Лучше для |
|---|---|---|---|---|
| Выделенный локальный диск | Высокая | Низкая (сгорит вместе с сервером) | Низкая | Быстрого восстановления файлов |
| Сетевая папка (SMB) | Средняя | Высокая | Средняя | Основной стратегии бэкапов |
| Внешний USB-диск | Средняя | Высокая (если отключать) | Низкая | Небольших серверов |
| Облако (Azure Backup) | Низкая | Максимальная | Зависит от объёма | Offsite-копии |
Если честно, идеальная схема это комбинация. Локальный диск для быстрого восстановления, сетевая папка для защиты от аппаратных сбоев.
Мой коллега Михаил работает админом в логистической компании. У него на Dell PowerEdge T440 настроено так: ежедневный бэкап на локальный SSD (для скорости восстановления), еженедельный полный бэкап на NAS по сети. Когда в прошлом году контроллер RAID вышел из строя, он восстановил сервер за 40 минут с локального бэкапа. А без бэкапа? Ну, пришлось бы всё настраивать с нуля.
Типы бэкапов в Windows Server Backup
Прежде чем настраивать, давайте разберёмся с типами. Грубо говоря, есть три уровня:
Full Server (полный бэкап сервера). Бэкапится всё: система, данные, настройки, роли. При восстановлении получите сервер в точном состоянии. Занимает больше места, но восстановление простейшее.
System State (состояние системы). Только критические компоненты: реестр, загрузочные файлы, Active Directory (на контроллерах домена), SYSVOL, сертификаты. Меньше по объёму, но не заменяет полный бэкап.
Custom (выборочный). Конкретные папки или тома. Например, только диск D: с данными. Самый быстрый и компактный, но не спасёт, если умер системный диск.
По факту для продакшн-сервера нужен и Full, и System State. Full для полного восстановления, System State для быстрого восстановления AD.
Настройка расписания через GUI
Открываем оснастку Windows Server Backup (wbadmin.msc).
- В правой панели нажмите «Backup Schedule» (Расписание архивации)
- Выберите тип: Full server (весь сервер) или Custom (выборочно)
- Задайте время. Можно выбрать несколько раз в день
- Укажите место хранения: выделенный диск или сетевая папка
- Подтвердите и готово
Вот в чём прикол: если выбрать «Full server», бэкапится всё. Системный том, данные, состояние системы, конфигурация. При восстановлении получите сервер точно в том состоянии, в каком он был.
Настройка через PowerShell
Для автоматизации PowerShell незаменим. Давайте настроим полный бэкап по расписанию.
# Загружаем модуль, без него командлеты не работают
Add-PSSnapin Windows.ServerBackup
# Создаём политику бэкапа
$policy = New-WBPolicy
# Добавляем все критические тома (системные)
# Это минимум, без которого сервер не восстановится
Add-WBBareMetalRecovery -Policy $policy
# Добавляем System State для Active Directory
Add-WBSystemState -Policy $policy
# Указываем целевой том для хранения бэкапов
# Диск D: должен быть выделен под бэкапы
$target = New-WBBackupTarget -VolumePath "D:"
Add-WBBackupTarget -Policy $policy -Target $target
# Задаём расписание: каждый день в 22:00
Set-WBSchedule -Policy $policy -Schedule 22:00
# Применяем политику
Set-WBPolicy -Policy $policyДля бэкапа на сетевую папку код немного другой:
# Бэкап на сетевую шару
# Учётные данные нужны для доступа к сетевой папке
$cred = Get-Credential
$target = New-WBBackupTarget -NetworkPath "\NAS01BackupsSRV01" -Credential $cred
Add-WBBackupTarget -Policy $policy -Target $targetРучной запуск бэкапа
Иногда нужно сделать бэкап прямо сейчас. Перед обновлением, перед установкой новой роли, перед любым рискованным изменением.
# Запускаем одноразовый полный бэкап на диск D:
# Параметр -allCritical включает все системные тома
wbadmin start backup -backupTarget:D: -allCritical -quiet
# Бэкап конкретной папки
wbadmin start backup -backupTarget:D: -include:E:Data -quiet
# Бэкап состояния системы (AD, реестр, загрузочные файлы)
wbadmin start systemstatebackup -backupTarget:D: -quietНа самом деле ключ -quiet очень важен в скриптах. Без него команда будет ждать подтверждения от пользователя.
Восстановление из бэкапа
Бэкап без проверки восстановления это иллюзия безопасности. Знаете что, каждый третий бэкап, который никогда не тестировали, оказывается нерабочим. Статистика печальная.
Восстановление файлов и папок
# Смотрим список доступных бэкапов
wbadmin get versions
# Восстанавливаем конкретную папку из бэкапа
# -version берём из предыдущей команды
wbadmin start recovery -version:05/01/2026-22:00 `
-itemType:File `
-items:E:DataDocuments `
-recoveryTarget:E:Restored `
-quietВосстановление всего сервера (Bare Metal Recovery)
Это когда всё совсем плохо. Сервер не загружается, диски мертвы, нужно восстановить на новое железо.
- Загрузитесь с установочного диска Windows Server
- Выберите «Repair your computer»
- Troubleshoot, System Image Recovery
- Укажите путь к бэкапу (локальный диск или сеть)
- Дождитесь восстановления
Кстати, после BMR вам может понадобиться реактивация Windows. Если железо сильно изменилось, ключик слетит. Новый можно купить в keytrust24.store.
Бэкап Active Directory
Для контроллеров домена бэкап System State обязателен. Без него не восстановить AD.
# Бэкап состояния системы контроллера домена
# Включает базу AD (ntds.dit), SYSVOL, реестр
wbadmin start systemstatebackup -backupTarget:D: -quiet
# Проверяем результат
wbadmin get statusКороче, если у вас один контроллер домена и он умер без бэкапа, вы потеряли весь домен. Все учётки, все политики, все группы. Поэтому бэкапьте AD каждый день.
А ещё держите минимум два контроллера домена. Это базовая отказоустойчивость.
Мониторинг бэкапов
Настроить бэкап и забыть это плохая идея. Нужно мониторить.
# Проверяем статус последнего бэкапа
$lastBackup = Get-WBSummary
if ($lastBackup.LastSuccessfulBackupTime -lt (Get-Date).AddDays(-1)) {
# Бэкап не выполнялся больше суток, отправляем алерт
Send-MailMessage -From "[email protected]" `
-To "[email protected]" `
-Subject "Бэкап не выполнен!" `
-Body "Последний успешный бэкап: $($lastBackup.LastSuccessfulBackupTime)" `
-SmtpServer "mail.contoso.local"
}
# Скрипт проверки здоровья бэкапов для Task Scheduler
# Запускайте каждое утро в 8:00
$summary = Get-WBSummary
$report = @"
Сервер: $env:COMPUTERNAME
Последний успешный бэкап: $($summary.LastSuccessfulBackupTime)
Результат последнего бэкапа: $($summary.LastBackupResultHR)
Целевое расположение: $($summary.LastBackupTarget)
Следующий бэкап: $($summary.NextBackupTime)
"@
$report | Out-File "\FileServerReportsbackup-$env:COMPUTERNAME.txt"Ольга, сисадмин из Краснодара, настроила такой скрипт через Task Scheduler на всех своих серверах (4 штуки HP ProLiant DL360 Gen10). Каждое утро получает письмо с отчётом. Если бэкап не прошёл, сразу видит и разбирается.
Ротация и хранение бэкапов
На самом деле Windows Server Backup сам управляет ротацией на выделенном диске. Когда место заканчивается, удаляются самые старые копии.
Но для сетевых бэкапов ротацию нужно настраивать вручную. Или использовать скрипт:
# Удаляем бэкапы старше 30 дней из сетевой папки
# Аккуратно, проверьте путь перед запуском!
$backupPath = "\NAS01BackupsSRV01"
Get-ChildItem -Path $backupPath -Directory |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Remove-Item -Recurse -ForceПравило 3-2-1: три копии данных, на двух разных носителях, одна копия offsite. Это не я придумал, но оно работает.
Типичные ошибки при настройке бэкапов
Давайте по-честному разберём, что люди делают не так.
Бэкап на тот же физический диск. Если RAID-массив умер, то и бэкап умер вместе с ним. Всегда храните хотя бы одну копию на отдельном физическом носителе.
Нет проверки восстановления. Бэкапы делаются, но никто ни разу не пробовал восстановить. А потом оказывается, что файл повреждён или пароль от сетевой папки сменился. Тестируйте восстановление раз в месяц.
Бэкап без System State на контроллере домена. Без System State вы восстановите файлы, но не восстановите Active Directory. Отдельная команда, отдельный бэкап.
Один бэкап в день без лог-файлов. Если данные меняются часто (база 1С, SQL), одного бэкапа в сутки мало. Потеряете весь рабочий день. Делайте дифференциальные бэкапы каждые 4-6 часов.
Если честно, самая частая ошибка это «потом настрою». Потом не настрою. Настраивайте бэкапы в первый день, когда сервер введён в эксплуатацию. Не завтра, не на следующей неделе. Сегодня.
Альтернативы Windows Server Backup
WSB подходит для базовых сценариев. Но если нужны продвинутые функции:
| Решение | Плюсы | Минусы | Цена |
|---|---|---|---|
| Windows Server Backup | Бесплатный, встроенный | Нет дедупликации, ограниченные возможности | Бесплатно |
| Veeam Backup | Дедупликация, гранулярное восстановление, VM-бэкапы | Дорогой для малого бизнеса | От $500/сервер |
| Acronis Cyber Protect | Облако, антивирус, бэкап в одном | Сложный интерфейс | От $85/год |
| Nakivo | Hyper-V + VMware, простой | Меньше функций чем Veeam | От $229/сервер |
Но для небольшой инфраструктуры WSB за глаза хватает. Он бесплатный, встроенный, и делает свою работу.
Автоматизация уведомлений через Event Log
Помимо PowerShell-скриптов, можно настроить уведомления через журнал событий Windows. Каждый бэкап создаёт записи в Event Log.
# Ищем события бэкапов за последние 24 часа
Get-WinEvent -FilterHashtable @{
LogName = 'Microsoft-Windows-Backup'
StartTime = (Get-Date).AddDays(-1)
} | Select TimeCreated, Id, Message | Format-Table -Wrap
# ID событий Windows Server Backup:
# 4 - Бэкап завершён успешно
# 5 - Бэкап завершён с предупреждениями
# 8 - Бэкап завершён с ошибками
# 14 - Бэкап не удалось запустить
# Настройка триггера Task Scheduler на событие ошибки бэкапа
$trigger = New-ScheduledTaskTrigger -AtLogon
# Или через GUI: Task Scheduler -> Create Task -> Triggers -> On an Event
# Log: Microsoft-Windows-Backup, Source: Backup, Event ID: 8Мой знакомый Павел (админит три сервера HPE ProLiant ML350 Gen10 для логистической компании) настроил триггер в Task Scheduler: при появлении события с ID 8 в логе Backup автоматически отправляется SMS через API. Говорит, один раз ночью пришло уведомление, оказалось, что сетевая папка была недоступна из-за обновления NAS. Починил за 10 минут, даже не приезжая в офис.
Бэкап при помощи robocopy: альтернативный подход
Для бэкапа файловых данных (не системы!) иногда проще использовать robocopy. Это не замена WSB, а дополнение для файловых серверов.
# Инкрементальный бэкап файлового сервера через robocopy
# /MIR - зеркалирование (копирует только изменения)
# /R:3 - три повтора при ошибке
# /W:5 - пауза 5 секунд между повторами
# /LOG - лог-файл
# /XD - исключаем папки
robocopy "E:SharedFolders" "\NAS01FileBackup" /MIR /R:3 /W:5 /LOG:"C:Logsrobocopy.log" /XD "Temp" "$RECYCLE.BIN"Вот в чём прикол robocopy: он копирует только изменившиеся файлы. Первый запуск может длиться часы, но последующие занимают минуты. Для файлового сервера с терабайтами данных это реально выручает.
Рекомендуемые стратегии бэкапов
В зависимости от размера инфраструктуры:
| Сценарий | Full бэкап | System State | Файлы | Где хранить |
|---|---|---|---|---|
| 1 сервер, малый бизнес | Каждый день 22:00 | Каждый день | В составе Full | Внешний USB + сетевая папка |
| 2-5 серверов | Каждый день 23:00 | Каждые 6 часов | robocopy каждый час | NAS + offsite |
| 5+ серверов | Раз в неделю | Каждый день | Дифф. каждые 4 часа | Veeam/Acronis + облако |
| Контроллер домена | Каждый день | Каждые 12 часов | Не применимо | Выделенный диск + сеть |
На самом деле стратегия бэкапов должна учитывать RPO (Recovery Point Objective) и RTO (Recovery Time Objective). RPO это сколько данных вы готовы потерять (15 минут? час? день?). RTO это как быстро нужно восстановиться. Чем жёстче требования, тем чаще бэкапы и быстрее носители.
Лицензирование
Устранение проблем Windows Server Backup
Бэкап не запускается: «Volume Shadow Copy Service error»
Проблема с VSS. Перезапустите службу Volume Shadow Copy, проверьте место на целевом диске. Если не помогает, запустите vssadmin list writers и посмотрите, какой writer в состоянии ошибки.
# Диагностика VSS
vssadmin list writers
# Ищите writers со статусом Failed
# Обычно помогает перезапуск соответствующей службы
# Перезапуск VSS
Restart-Service VSS
Restart-Service "Microsoft Software Shadow Copy Provider"Бэкап на сетевую папку завершается с ошибкой доступа
Проверьте: 1) Учётная запись для бэкапа имеет права Write на сетевую папку. 2) Пароль не истёк. 3) Firewall не блокирует SMB (порт 445). По факту в 80% случаев проблема в том, что кто-то сменил пароль сервисной учётки.
Бэкап занимает слишком много места
WSB хранит несколько версий бэкапов. Проверьте, сколько версий накопилось:
# Смотрим все версии бэкапов
wbadmin get versions
# Удаляем конкретную версию (будьте осторожны!)
wbadmin delete backup -version:05/01/2026-22:00 -quietБэкап System State зависает на Hyper-V Writer
Если на сервере установлена роль Hyper-V, System State бэкап может зависать на этапе Hyper-V VSS Writer. Решение: исключите виртуальные машины из System State бэкапа и делайте их бэкап отдельно через экспорт VM.
Тут такое дело: если проблема повторяется регулярно, проверьте лог Event Viewer, Application Log, источник VSS. Там обычно написано, какой именно writer сбоит и почему.
Windows Server Backup входит в состав Windows Server, отдельная лицензия не нужна. Но сам Windows Server должен быть лицензирован. Ключ активации можно приобрести в keytrust24.store с моментальной доставкой. Есть Standard и Datacenter для всех актуальных версий.



