Система архивации данных Windows Server через планировщик задач. Как восстановить отдельный файл или папку

Система архивации пришла на смену NTBackup с выходом Windows Server 2008 и на сегодняшний день является вполне зрелым и проверенным продуктом, но многие администраторы до сих пор не используют данную компоненту ОС, отдавая предпочтения альтернативным продуктам. Этому могут быть как объективные причины, так и непонимание принципов работы системы архивации Windows Server. Поэтому мы решили устранить возможные пробелы в знаниях при помощи данной статьи.

Мы довольно часто задавали знакомым системным администраторам вопрос: какие средства они используют для резервного копирования состояния своих серверов? И сильно удивлялись тому, что многие из них даже не упоминали систему архивации Windows Server. На следующий вопрос: почему они не используют этот инструмент, мы часто получали ответ, что они не понимают, как работает эта система, как управлять резервными копиями и т.д., и т.п. Отчасти причину можно назвать уважительной, когда нет понимания как работает то или иное средство то от его использования лучше отказаться.

А еще лучше разобраться как оно работает и начать применять его на практике. В новой системе архивации многие ожидают увидеть преемника привычного NTBackup, однако Microsoft полностью переработала механизм создания резервных копий и перед нами совершенно иной инструмент. Основным хранилищем резервных копий является диск, который самостоятельно размечается системой архивации и скрыт от пользователя. Также можно использовать уже размеченный том или сетевой ресурс, однако эти способы имеют свои ограничения и сводят на нет все преимущества новой технологии.

Новая система архивации самостоятельно управляет процессом резервного копирования, создавая основную и добавочные копии данных, а также сроком их хранения. Это одно из основных затруднений, которое возникает при использовании нового инструмента. Многие администраторы привыкли явно указывать тип создаваемого архива, их количество и срок хранения, поэтому не находя здесь необходимых опций они делают поспешные и неправильные выводы.

В системе архивации Windows Server вы отдаете в распоряжение службы целый диск, и она организует процесс хранения данных по собственному разумению. Хорошо это или плохо? На наш взгляд - хорошо. Потому что довольно часто встречаются ситуации, когда администратор неверно оценивает размер необходимого для хранения копий дискового пространства или происходит резкий скачок объема архивируемых данных. В этом случае очень велика вероятность получить отказ службы резервного копирования из-за отсутствия свободного места в самый неподходящий момент.

В Windows Server применяется принципиально иной подход. Проще всего провести аналогию с системами видеонаблюдения, когда поток непрерывно пишется на диск и в любой момент времени мы имеем некую продолжительность записи, определяемую объемом диска. Скажем, поставили диск на 500 ГБ - имеем неделю видео, заменили на 1 ТБ - две недели и т.д.

Служба архивации работает аналогичным образом, записывая копии на диск до исчерпания свободного пространства, затем самые старые копии перезаписываются. Таким образом вы всегда будете иметь постоянную глубину резервного копирования, ограниченную только объемом диска, даже резкое увеличение копируемых данных не приведет к негативным последствиям, сократится только количество доступных копий.

Здесь возникает еще одно затруднение. У многих администраторов слово диск ассоциируется только с физическим жестким диском, после чего сразу возникает масса вопросов: где взять столько дисков, как подключить их к серверам, как обеспечить хранение архивов отдельно от системы и т.д. и т.п. Да и выделять для бекапа рядового сервера даже 500 ГБ диск выглядит несколько расточительно. Поэтому самое время вспомнить о технологии , которая позволяет сразу решить весь пласт "проблем".

Действительно, данную технологию сегодня поддерживают все системы, включая даже NAS ценовой категории чуть выше начальной, что позволяет грамотно распорядиться имеющимся дисковым пространством и организовать хранение архивов отдельно от систем. Microsoft рекомендует для хранения двух копий данных иметь в 1,5 раза больше дискового пространства, на наш взгляд данная цифра является несколько завышенной, особенно если вы копируете редко изменяемые данные, например, состояние сервера.

Мы немного забежим вперед и покажем результат архивирования тестового сервера с объемом архивируемых данных размером 29 ГБ:

Как видим, восемь копий состояния системы заняли примерно 9 ГБ, что довольно неплохо и общего объема, выделенного нами iSCSI диска в 60 ГБ, хватит примерно на три недели хранения ежедневных копий, что на наш взгляд более чем достаточно.

Для создания резервных копий используется механизм теневого копирования тома (VSS), который позволяет работать с открытыми и системными файлами, не прерывая работы системы и пользователей. Начиная с Windows Server 2012 система архивации позволяет также архивировать запущенные на хосте виртуальные машины Hyper-V и восстанавливать их состояние по отдельности. При использовании на сервере иного ПО использующего возможности теневого копирования система архивации имеет возможность сохранять журнал VSS, что обеспечит корректную работу этих служб при восстановлении.

Отдельно следует коснуться резервного копирования баз данных, если с поддерживающими теневое копирование продуктами, такими как MS SQL Server или Exchange, проблем не возникает, то со сторонними продуктами, например, PostgreSQL могут возникнуть проблемы. Механизм теневого копирования не проверяет логической целостности файлов, просто делая снимок их состояния на определенный момент времени, системы, поддерживающие VSS, умеют обрабатывать этот момент, приводя базу к непротиворечивому состоянию перед моментом создания теневой копии. Для неподдерживаемых систем мы просто получим срез базы на определенное состояние времени, при восстановлении такой базы она будет приведена в непротиворечивое состояние средствами СУБД, проще говоря будут отменены все незавершенные транзакции и может произойти потеря данных.

Исходя из вышесказанного можно сделать вывод, что система архивации Windows хорошо подходит для создания резервных копий системы и пользовательских данных, а также "родных" служб и приложений. Для архивации сложного стороннего ПО лучше использовать средства, предусмотренные производителем данного ПО.

Для того, чтобы начать использовать систему архивации Windows Server сначала нужно установить одноименный компонент, это делается через Мастер добавления ролей и компонентов .

Затем оснастку управления службой можно запустить либо через Средства в Диспетчере серверов , либо через ярлык в Панель управления - Администрирование .

Оснастка абсолютно типична для служб Windows Server и не вызывает каких-либо затруднений при работе с ней.

Беглый взгляд на экран сразу позволяет оценить текущие настройки и состояние службы, доступные действия сосредоточены справа. Их немного: Однократная архивация, архивация по расписанию и восстановление. Нас прежде всего интересует расписание, хотя однократная архивация тоже довольно удобный инструмент, который позволяет быстро сделать копию состояния сервера перед какими-нибудь потенциально опасными действиями, чтобы была возможность откатиться на самое их начало.

Нажав на Расписание архивации мы запустим одноименного мастера, который предлагает нам архивировать весь сервер целиком, либо указать объекты для выборочной архивации.

Заархивировать все и сразу мы всегда успеем, поэтому выберем настраиваемый тип архивации. Следующим шагом нам будет предложено выбрать объекты для архивации.

Для их добавления просто нажмите Добавить элементы.

Если выбрать Восстановление исходного состояния системы , то автоматически будут добавлены Состояние системы , системный раздел (диск C:) и служебный раздел с загрузчиком. К этим данным мы в учебных целях добавили папку с базами MS SQL, которые должны представлять некие пользовательские данные.

А также задать параметры службы теневого копирования, если у вас есть приложения использующие данную службу, например, MS SQL Server, то следует выбрать настройку Копировать журнал VSS, что обеспечит их нормальное взаимодействие со службой теневого копирования, в том числе и при восстановлении.

Затем нужно будет создать расписание, задача предельно простая, можно запускать архивацию как один, так и несколько раз в день, минимальный шаг интервала - полчаса.

С расписанием разобрались, теперь самое время определиться с местом хранения архивов. На выбор предлагается три варианта, каждый из них довольно неплохо прокомментирован, что облегчает правильный выбор:

Как мы уже говорили, оптимальным является выделение для архивации целого диска, мы рекомендуем использовать для этой цели iSCSI диски, что позволяет решить сразу две основные задачи: оптимально использовать дисковое пространство и хранить архивы отдельно от системы.

Отдельно стоит остановиться на возможности разместить архив в сетевой папке, несмотря на жесткие ограничения этот способ удобно использовать при однократной архивации, когда нужно быстро создать архив и разместить его вне сервера.

Если вы выбрали диск, то он будет отформатирован и скрыт, это обеспечивает дополнительную защиту от возможных деструктивных воздействий, например, троянов-шифровальщиков.

На последнем шаге следует еще раз убедиться в правильности сделанных настроек и подтвердить их нажатием на кнопку Готово .

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

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

Затем указываем дату и время создания резервной копии на которую мы хотим откатиться, доступные даты подсвечиваются полужирным шрифтом.

После чего указываем, что именно мы хотим восстановить:

Как видим, это могут быть файлы и папки, виртуальные машины Hyper-V, тома, приложения и состояние системы. Отдельно следует упомянуть о приложениях. Эта функция доступна только для зарегистрированных в системе архивации приложений, которые должны уметь работать с API этой службы и поддерживать VSS. Проще говоря, в этот список попадает ограниченное количество программ, в основном от самой Microsoft, а для стороннего софта данная функция бесполезна.

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

Восстановление состояния системы производится в два этапа каждый из которых завершается перезагрузкой.

Причем второй этап выглядит как обычная загрузка ОС и не выводит никаких сообщений, просто выполняя перезагрузку через некоторое время. Может показаться что произошла ошибка или сбой, но это не так.

Поэтому просто следует запастись терпением и дождаться сообщения об успешном завершении операции. В зависимости от скорости сети, производительности дисков и объема данных эта операция может занять значительное время.

Альтернативой восстановления состояния системы может служить восстановление на уровне тома, при этом все данные будут уничтожены и том будет приведен в состояние, в котором он находился на указанную дату. Это может оказаться полезным в случае вирусного инцидента, когда вы хотите быть уверенным, что в системе не осталось закладок вредоносного ПО, а также в случаях, когда исходный том был поврежден.

В общем и целом, данная операция ничем не отличается от восстановления тома из образа любым иным ПО, например, Acronis.

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

Как видим, система архивации Windows Server представляет собой весьма функциональный и удобный инструмент, позволяющий осуществлять успешное восстановление данных на любом уровне и в тоже время снимающая с администратора значительную часть забот по управлению этим процессом. Поэтому если вы еще не используете данную систему архивации, то после прочтения данного материала самое время более пристально к ней присмотреться.

  • Теги:

Please enable JavaScript to view the

И так, краткая выжимка из теоритических знаний, которая нам потребуется:

Выполнять резервное копирование можно на сетевой ресурс или на отдельный том. Копирование на сетевой ресурс имеет пару существенных недостатков: во-первых, при возникновении проблем с сетью (во время выполнения архивирования) ваша резервная копия, очевидно, не будет создана, а, во-вторых, сетевая папка может содержать только одну единственную резервную копию (выполняя резервную копию в ту же сетевую папку, что и раньше, вы уничтожаете предыдущую резервную копию).

Копирование на отдельный том выполняется следующим образом: На целевом томе создается папка WindowsImageBackup\<ComputerName >\. В этой папке в свою очередь будут созданы виртуальные диски (по одному на каждый из бэкапируемых томов), на который и будет производится резервное копирование. По окончании копирования состояние виртуальных дисков, хранящих резервные копии, будет сохранено при помощи службы теневого копирования. При следующем архивировании будут произведены те же самые действия в результате получится, что каждый конкретный архив будет доступен при обращении к конкретной теневой копии. Причем с точки зрения программы архивирования каждый такой архив будет являться полным архивом, а с точки зрения используемого пространства – инкрементальным (теневая копия хранит информацию только об измененных блоках данных).

Информация о выполненном процессе архивирования хранится в нескольких местах ОС, которые, может так случиться, могут содержать рассогласованную информацию. Понятно, что реальное количество резервных копий, которое хранится локально на компьютере, не может быть больше, чем количество теневых копий тома, на который выполнялось резервное копирование. Посмотреть информацию о количестве теневых копий можно, например, в командной строке при помощи команды diskshadow (и ее подкоманд list shadows all ). Однако, теневые копии не содержат достаточное количество информации, необходимой для создания перечня резервных копий, поэтому эта информация берется из других мест. Так, например, ОС ведет учет архивных копий в глобальном каталоге архивов, а так же в журнале событий Windows Server Backup Log. Информация из этих источников отображается оснастке “Система архивации данных Windows Server”. В результате может сложиться такая ситуация, что оснастка будет демонстрировать нам противоречивую информацию, которая не имеет ничего общего с реальностью.

Посмотрите на скриншот. Он был сделан в системе, для которой на локальном диске хранилось всего два архива (существовало только две теневые копии) и не было создано ни одного сетевого архива. Однако, оснастка сообщает нам в разделе “Все архивы” о том, что у нас якобы имеется 6 архивов, а в окне сообщений мы видим отчет о создании только 3х архивов. Для того, чтобы заставить ОС отображать непротиворечивую информацию, соответствующую действительности, нам придется проинициализировать все компоненты системы архивации, которые хранят информацию о резервных копиях или сами резервные копии. Для этого нам нужно будет очистить windows backup log , удалить глобальный каталог архивов (при помощи команды wbadmin delete catalog ) и удалить все теневые копии (при помощи команды diskshadow delete shadows all ). По большому счету информация, хранящаяся в windows backup log, носит чисто информационный характер и никак не влияет на процесс восстановления информации из архива, если таковой потребуется выполнить, чего не скажешь об информации, хранящейся в глобальном каталоге. Если глобальный каталог поврежден, то восстановить информацию при помощи штатных средств архивирования ОС windows у нас не получится. Однако, поврежденный или удаленный глобальный каталог архивов можно восстановить из резервной копии, которая создается при каждом архивировании в папке WindowsImageBackup\<ComputerName >\. Для восстановления поврежденного глобального каталога архивов необходимо его сначала удалить (при помощи команды wbadmin delete catalog) , а затем восстановить из резервной копии (при помощи команды wbadmin restore catalog) .

Ну, а теперь, собственно, опубликую скрипт для резервного копирования:

Write-Verbose "Начали..." #Сохраняем значение переменной окружения $VerbosePreference $tmpVerbpref=$VerbosePreference $VerbosePreference="Continue" #Путь к сетевой папке, в которую будем копировать архив $NetworkBackupPath="\\SRV66\Backup$\SRV02\BMR" #Имя раздела, на котором будем создавать архив $VolumeTarget="D:" # Количество копий бэкапа, которые необходимо сохранить на локальном носителе $BackupQuantity=3 # Количество копий бэкапа, которые необходимо сохранить на сетевом носителе $NetBackupQuantity=5 #Путь к файлу-списку бэкапов $csvFile="D:\Backup\ProfileBackup.csv" #Путь к папке, в котой будем создавать архив 7zip $Path2Arc="D:\Backup" # подключаем оснастку Server Backup Add-PSSnapin Windows.Serverbackup -ErrorAction SilentlyContinue # создаём задание бэкапа $policy = New-WBPolicy <# # создаём и добавляем в задание бэкапа о бэкапируемых файлах $source = New-WBFileSpec -FileSpec "C:\Users" Add-WBFileSpec -Policy $policy -FileSpec $source #> # #Get list of critical volumes $VolSources = Get-WBVolume -CriticalVolumes #Add volumes to be backed up Add-WBVolume -Policy $policy -Volume $VolSources #Define VSS Backup Otions Set-WBVssBackupOptions -policy $policy -VssCopyBackup #Enable SystemState backup Add-WBSystemState -policy $policy #Enable Bare Metal Recovery Add-WBBareMetalRecovery -Policy $policy # # указываем локальный том, на который будет копироваться архив $target = New-WBBackupTarget -VolumePath $VolumeTarget Add-WBBackupTarget -Policy $policy -Target $target Write-Verbose "Начинаем процесс создания backup"а" # выполняем бэкап Start-WBBackup -Policy $policy # проверяем код возврата с результатом выполнения бэкапа if ((Get-WBSummary).LastBackupResultHR -eq 0) { # переименовываем архив в более понятное имя $newname = "_Backup_$(Get-Date -f yyyyMMddHHmm)" Write-Verbose "Переименовываем папку с только что созданным архивом в $newname ..." Ren $VolumeTarget\WindowsImageBackup -NewName $newname # Запаковываем архив при помощи 7zip $arc="C:\Program Files\7-Zip\7z.exe" $arc_params="a -t7z -m0=LZMA2 -mmt -mx9" $arc_source="$VolumeTarget\$newname" $arc_dest="$Path2Arc\$newname.7z" Write-Verbose "Запаковываем папку $newname при помощи 7zip в $newname.7z" Start-Process $arc -ArgumentList "$arc_params $arc_dest $arc_source" -Wait # копируем архив в сетевую папку #copy $VolumeTarget\$newname $NetworkBackupPath -Recurse Write-Verbose "Копируем файл $arc_dest в сетевую папку..." copy "$arc_dest" $NetworkBackupPath if ($?) { #если копирование прошло без ошибок, удаляем файл-архива и папку, которая была запакована в этот архив del "$arc_dest" -Force -Verbose del $VolumeTarget\$newname -Recurse -Force #-Verbose } # удаляем старые архивы из сетевой папки, за исключением последних $BackupQuantity архивов $NetBackups=dir $NetworkBackupPath | ?{$_.Name -match "_.+(\d)+\.7z$"} $NetBackupsCount=$NetBackups.count if (($NetBackupsCount - $NetBackupQuantity) -gt 0) { $NetBackups | sort lastwritetime | select -First ($NetBackupsCount - $NetBackupQuantity) | del -Force -Verbose #-Recurse -WhatIf } # читаем наш собственный каталог бэкапов $csv=@() if (Test-Path $csvFile) {$csv = @(Import-Csv $csvFile)} # считываем данные о последнем бэкапе $current = Get-WBBackupSet | select -Last 1 | select VersionID, SnapshotId # и добавляем его в массив объектов действующих бэкапов $csv += $current # чтобы не было путаницы, снова сортируем объекты и пишем обратно в CSV файл $csv | sort @{Expression={($_.VersionId)}}| select -Last $BackupQuantity | Export-Csv $csvFile -NoTypeInformation # и считаем сколько там записей $count = $csv.count # если записей больше BackupQuantity, то считаем сколько лишних архивов нужно удалить. # если меньше BackupQuantity записей, то ничего удалять не надо и просто добавляем новую запись if ($count -gt $BackupQuantity) { $old = $count - $BackupQuantity # генерируем случайное имя для скрипта, который будет использоваться в diskshadow $file = ::GetRandomFileName() # выбираем все лишние архивы и пропускаем их по конвейеру на удаление $csv | sort @{Expression={($_.VersionId)}}| select -First $old | %{ #Read-Host "Press Enter to continue..." | Out-Null #Write-Verbose $file ##Read-Host "Press Enter to continue..." | Out-Null # записываем команду во временный файл "delete shadows ID {$($_.SnapshotID)}"|Out-File -FilePath $Env:TEMP\$file -Encoding OEM #gc $Env:TEMP\$file #Read-Host "Press Enter to continue..." | Out-Null # и запускаем diskshadow в режиме скрипта diskshadow /s $Env:TEMP\$file | Out-Default } del $Env:TEMP\$file } } else { # ругаемся, что бэкап не был завершён успешно Write-Verbose "Ошибка выполнения бэкапа" } Write-Verbose "Скрипт закончил работу" #Восстанавливаем значение переменной окружения $VerbosePreference $VerbosePreference=$tmpVerbpref

Для выполнения резервного копирования сервера на Windows 2012 вполне достаточно встроенного компонента "". Сначала добавьте сервис через "Мастер добавления ролей и компонентов ".


2. На первом шаге просто нажмите "Далее ".


3. В конфигурации архивации выберите "Настраиваемый ".


4. Установите галочку напротив "Состояния системы ". Этого будет вполне достаточно для восстановления.


5. Задайте расписание архивации.


6. Местом назначения удобнее и надежнее всего сделать удалённую сетевую папку, например второй контроллер домена, а его в свою очередь бэкапить на первый.


7. Далее укажите точный путь к сетевой папке.


8. Перед завершением мастера ещё раз проверьте корректность всех настроек и нажмите "Готово ".


9. Созданное задание по архивированию можно будет найти в планировщике заданий по пути: "Библиотека планировщика заданий -> Microsoft -> Windows -> Backup ".


10. Также не забудьте прописать пользователя, под которым будет запускаться архивирование состояния системы, в групповую политику "Default Domain Controller Policy -> Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя -> Вход в качестве пакетного задания ".


Восстановление Active Directory обязательно выполняется в режиме DSRM ("Directory Services Restore Mode " - "Режим восстановления служб каталогов "). Для включения данного режима нажмите "F8 " перед стартом ОС , чтобы появились дополнительные варианты загрузки.


Другой вариант попасть в DSRM : выполнить команду "shutdown -r -o -t 0 " для загрузки ОС в режим диагностики и там уже указать системе предложить дополнительные варианты загрузки.




И последний способ: использовать "msconfig ", чтобы указать параметры загрузки (в нашем случае выбираем "Безопасный режим -> Восстановление Active Directory "). Необходимо добавить, что это единственный способ загрузиться в режиме DSRM без наличия роли контроллера домена у сервера.


Рассмотрим два сценария восстановления:

Первый , когда выходит из строя аппаратная часть, и необходимо её полностью заменить. При этом понадобится предварительно установить на новый сервер чистую ОС той же версии, с тем же сервис паком, которая была на контроллере. Желательно, чтобы совпадали и версии браузера IE . Также нужно заранее добавить компонент "Система архивации данных Windows Server ".

Последовательность действий такая:
1. Находясь в режиме DSRM , откройте консоль "Система архивации данных Windows Server " и запустите мастер "Восстановить... ".


2. Укажите, что архив находится в другом расположении.


3. Далее выберите удалённую общую папку.


4. Выберите нужный архив.


5. Укажите, что хотите восстановить состояние системы.


6. Выберите "Исходное размещение " для восстановления и обязательно установите галочку "Выполнить заслуживающее доверия восстановление файлов Active Directory ".


7. После сделанных настроек запускаем восстановление, соглашаясь со всеми предупреждениями системы.


8. По окончании сервер необходимо будет перезагрузить. Все изменения в Active Directory , сделанные после резервного копирования, будут автоматически реплицированы с других контроллеров домена.

По второму сценарию необходимо восстановить случайно удалённые объекты Active Directory : пользователи, группы и т.п. При этом функционал корзины не используется в домене. В этом случае действуем полностью по первому сценарию, за исключением перезагрузки сервера после восстановления. Перед тем как это сделать, запустите консоль "cmd " с повышенными привилегиями и выполните следующие команды:

ntdsutil -> Activate Instance NTDS -> authoritative restore -> Restore subtree "пусть_к_объекту"

Например, для восстановления всех объектов в домене TEST.LOCAL указываем путь "DC=test,DC=local ":


Данная команда запретит репликацию по указанному пути с других контроллеров и, таким образом, позволит восстановить объекты Active Directory , существовавшие на момент резервного копирования.

В Windows Server (2008, r2, 2012, r2) при настройки архивации через графический интерфейс есть один большой минус, предоставлен выбор архивировать каждый день или чаще чем один раз в день. Тем самым нельзя настроить запуск архивации данных в разные дни. С большим объемом данных копирование каждый день невозможно (система просто на просто не успевает доделать копию). Примерно начиная от 3 ТБ.

В система один раздел на 4ТБ с данными и два диска по 3 ТБ под бекап.

Раздел с данными под буквой d:

Раздел под бекап f: и e:

Приступим к созданию bat файла, который будет запускать архивацию данных.

Открываем Блокнот (нажимаем сочетание клавиш windows+r набираем команду notepad и нажимаем enter)

Вставляем следующую команду с параметрами

wbadmin start backup -backupTarget:f: -include:d:\folder1,d:\folder2 -systemstate -vssFull -quiet

wbadmin - штатное приложение для архивации

-backupTarget:f: - место где будет располагаться архив (в первом bat файле указываем диск f:)

-include:d:\folder1,d:\folder2 - папки в разделе d: которые мы будем архивировать

-systemstate - Создает резервную копию, включающую состояние системы помимо всех прочих элементов, заданных с помощью параметра -include. (Полностью раздел относящий к системе и её состояние в том числе раздел "зарезервированный системой")

-vssFull - Выполняет полную архивацию с использованием службы теневого копирования томов (VSS). Факт архивации каждого файла отражается в соответствующем журнале. Если этот параметр не используется, команда "WBADMIN START BACKUP"+B192 выполняет копирующую архивацию, но журнал архивируемых файлов не обновляется. Внимание! Не используйте этот параметр, если для архивации приложений на томах, включенных в текущую архивацию, используется продукт, отличный от системы архивации данных Windows Server. Это может привести к повреждению добавочной, разностной или другой резервной копии, создаваемой другим продуктом.

-quiet - подавляет все запросы для пользователя

Сохраняем файл с расширением.bat

Создаем задачу допустим раз в неделю в субботу в планировщике и указываем данный файл.

Теперь создадим второй bat файл только теперь вставим команду уже с другими параметрами

wbadmin start backup -backupTarget:e: -include:d:\folder4,d:\folder5 -exclude :d:\folder4\temp -systemstate -vssFull -quiet

Этот bat файл будет запускать архивацию уже двух других каталогов и на другой диск, так же создадим копию системы (на случай если первый диск для архивации перестанет работать).

В этой команде используется параметр -exclude:d:\folder4\temp (исключает папку из копирования).

Сохраняем файл с расширением.bat

Создаем еще одну задачу уже на воскресение в планировщике и указываем данный файл.

В данной статье мы рассмотрели метод архивации из командной строки в то время, которое нам удобно и использовали два диска для резервного копирования.

Через графический интерфейс это сделать не возможно.

Дополнительные параметры, которые могу пригодиться

-exclude - Указывает список элементов, исключаемых из архивации, через запятую. Можно включить несколько файлов, папок или томов. Тома можно указывать с использованием буквы диска, точки подключения тома или имени тома на основе GUID. Если используется имя тома на основе GUID, оно должно заканчиваться обратной косой чертой (\). При указании пути к файлу можно использовать в имени файла подстановочный знак (*). Его следует использовать только вместе с параметром -backupTarget.

-nonRecurseInclude - Указывает нерекурсивный список элементов, включаемых в архивацию, через запятую. Можно включить несколько файлов, папок или томов. Тома можно указывать с использованием буквы диска, точек подключения томов или имен томов на основе GUID. Имя тома на основе GUID должно заканчиваться обратной косой чертой (\). При указании пути к файлу можно использовать в имени файла подстановочный знак (*). Его следует использовать только вместе с параметром -backupTarget.

-nonRecurseExclude - Указывает нерекурсивный список элементов, исключаемых из архивации, через запятую. Можно включить несколько файлов, папок или томов. Тома можно указывать с использованием буквы диска, точки подключения тома или имени тома на основе GUID. Имя тома на основе GUID должно заканчиваться обратной косой чертой (\). При указании пути к файлу можно использовать в имени файла подстановочный знак (*). Его следует использовать только вместе с параметром -backupTarget.

-hyperv - Указывает список включаемых в архивацию компонентов через запятую. Идентификатором может быть имя или GUID компонента (с фигурными скобками или без них).

-allCritical - Создает резервную копию, включающую все важные тома (важные тома содержат файлы и компоненты операционной системы) помимо всех прочих элементов, указанных с помощью параметра -include. Этот параметр полезен при создании резервной копии для восстановления исходного состояния системы. Его следует использовать только вместе с параметром -backupTarget.

-noVerify - Отменяет проверку резервных копий, записываемых на съемные носители (такие как DVD-диски), на наличие ошибок. Если этот параметр не используется, резервные копии, сохраняемые на съемных носителях, проверяются на наличие ошибок.

-user - Если резервная копия сохраняется в удаленной общей папке, указывает имя пользователя с разрешением на запись в эту папку.

-password - Указывает пароль для имени пользователя, указанного для параметра -user.

-noInheritAcl - Применяет разрешения из списка управления доступом (ACL), соответствующие учетным данным, указанным параметрами -user и -password, к папке \\<имя_сервера>\<имя_общей_папки> \WindowsImageBackup\<архивируемый_компьютер>\ (папка резервной копии). Для последующего доступа к резервной копии необходимо использовать эти учетные данные или быть членом группы "Администраторы" или "Операторы архива" на компьютере с общей папкой. Если параметр -noInheritAcl не используется, разрешения ACL из удаленной общей папки применяются к папке <архивируемый_компьютер> по умолчанию, что обеспечивает доступ к резервной копии каждому пользователю, имеющему доступ к удаленной общей папке.

-vssCopy - Выполняет копирующую архивацию с помощью VSS. Журнал архивируемых файлов не обновляется. Это значение используется по умолчанию.

-allowDeleteOldBackups - Перезаписывает найденные резервные копии перед обновлением.

Не обязательно создавать bat файлы, достаточно правильно добавить команду и параметры в планировщик задач.

Система архивации пришла на смену NTBackup с выходом Windows Server 2008 и на сегодняшний день является вполне зрелым и проверенным продуктом, но многие администраторы до сих пор не используют данную компоненту ОС, отдавая предпочтения альтернативным продуктам. Этому могут быть как объективные причины, так и непонимание принципов работы системы архивации Windows Server. Поэтому мы решили устранить возможные пробелы в знаниях при помощи данной статьи.

Мы довольно часто задавали знакомым системным администраторам вопрос: какие средства они используют для резервного копирования состояния своих серверов? И сильно удивлялись тому, что многие из них даже не упоминали систему архивации Windows Server. На следующий вопрос: почему они не используют этот инструмент, мы часто получали ответ, что они не понимают, как работает эта система, как управлять резервными копиями и т.д., и т.п. Отчасти причину можно назвать уважительной, когда нет понимания как работает то или иное средство то от его использования лучше отказаться.

А еще лучше разобраться как оно работает и начать применять его на практике. В новой системе архивации многие ожидают увидеть преемника привычного NTBackup, однако Microsoft полностью переработала механизм создания резервных копий и перед нами совершенно иной инструмент. Основным хранилищем резервных копий является диск, который самостоятельно размечается системой архивации и скрыт от пользователя. Также можно использовать уже размеченный том или сетевой ресурс, однако эти способы имеют свои ограничения и сводят на нет все преимущества новой технологии.

Новая система архивации самостоятельно управляет процессом резервного копирования, создавая основную и добавочные копии данных, а также сроком их хранения. Это одно из основных затруднений, которое возникает при использовании нового инструмента. Многие администраторы привыкли явно указывать тип создаваемого архива, их количество и срок хранения, поэтому не находя здесь необходимых опций они делают поспешные и неправильные выводы.

В системе архивации Windows Server вы отдаете в распоряжение службы целый диск, и она организует процесс хранения данных по собственному разумению. Хорошо это или плохо? На наш взгляд - хорошо. Потому что довольно часто встречаются ситуации, когда администратор неверно оценивает размер необходимого для хранения копий дискового пространства или происходит резкий скачок объема архивируемых данных. В этом случае очень велика вероятность получить отказ службы резервного копирования из-за отсутствия свободного места в самый неподходящий момент.

В Windows Server применяется принципиально иной подход. Проще всего провести аналогию с системами видеонаблюдения, когда поток непрерывно пишется на диск и в любой момент времени мы имеем некую продолжительность записи, определяемую объемом диска. Скажем, поставили диск на 500 ГБ - имеем неделю видео, заменили на 1 ТБ - две недели и т.д.

Служба архивации работает аналогичным образом, записывая копии на диск до исчерпания свободного пространства, затем самые старые копии перезаписываются. Таким образом вы всегда будете иметь постоянную глубину резервного копирования, ограниченную только объемом диска, даже резкое увеличение копируемых данных не приведет к негативным последствиям, сократится только количество доступных копий.

Здесь возникает еще одно затруднение. У многих администраторов слово диск ассоциируется только с физическим жестким диском, после чего сразу возникает масса вопросов: где взять столько дисков, как подключить их к серверам, как обеспечить хранение архивов отдельно от системы и т.д. и т.п. Да и выделять для бекапа рядового сервера даже 500 ГБ диск выглядит несколько расточительно. Поэтому самое время вспомнить о технологии iSCSI , которая позволяет сразу решить весь пласт "проблем".

Действительно, данную технологию сегодня поддерживают все системы, включая даже NAS ценовой категории чуть выше начальной, что позволяет грамотно распорядиться имеющимся дисковым пространством и организовать хранение архивов отдельно от систем. Microsoft рекомендует для хранения двух копий данных иметь в 1,5 раза больше дискового пространства, на наш взгляд данная цифра является несколько завышенной, особенно если вы копируете редко изменяемые данные, например, состояние сервера.

Мы немного забежим вперед и покажем результат архивирования тестового сервера с объемом архивируемых данных размером 29 ГБ:

Как видим, восемь копий состояния системы заняли примерно 9 ГБ, что довольно неплохо и общего объема, выделенного нами iSCSI диска в 60 ГБ, хватит примерно на три недели хранения ежедневных копий, что на наш взгляд более чем достаточно.

Для создания резервных копий используется механизм теневого копирования тома (VSS), который позволяет работать с открытыми и системными файлами, не прерывая работы системы и пользователей. Начиная с Windows Server 2012 система архивации позволяет также архивировать запущенные на хосте виртуальные машины Hyper-V и восстанавливать их состояние по отдельности. При использовании на сервере иного ПО использующего возможности теневого копирования система архивации имеет возможность сохранять журнал VSS, что обеспечит корректную работу этих служб при восстановлении.

Отдельно следует коснуться резервного копирования баз данных, если с поддерживающими теневое копирование продуктами, такими как MS SQL Server или Exchange, проблем не возникает, то со сторонними продуктами, например, PostgreSQL могут возникнуть проблемы. Механизм теневого копирования не проверяет логической целостности файлов, просто делая снимок их состояния на определенный момент времени, системы, поддерживающие VSS, умеют обрабатывать этот момент, приводя базу к непротиворечивому состоянию перед моментом создания теневой копии. Для неподдерживаемых систем мы просто получим срез базы на определенное состояние времени, при восстановлении такой базы она будет приведена в непротиворечивое состояние средствами СУБД, проще говоря будут отменены все незавершенные транзакции и может произойти потеря данных.

Исходя из вышесказанного можно сделать вывод, что система архивации Windows хорошо подходит для создания резервных копий системы и пользовательских данных, а также "родных" служб и приложений. Для архивации сложного стороннего ПО лучше использовать средства, предусмотренные производителем данного ПО.

Для того, чтобы начать использовать систему архивации Windows Server сначала нужно установить одноименный компонент, это делается через Мастер добавления ролей и компонентов .

Затем оснастку управления службой можно запустить либо через Средства в Диспетчере серверов , либо через ярлык в Панель управления - Администрирование .

Оснастка абсолютно типична для служб Windows Server и не вызывает каких-либо затруднений при работе с ней.

Беглый взгляд на экран сразу позволяет оценить текущие настройки и состояние службы, доступные действия сосредоточены справа. Их немного: Однократная архивация, архивация по расписанию и восстановление. Нас прежде всего интересует расписание, хотя однократная архивация тоже довольно удобный инструмент, который позволяет быстро сделать копию состояния сервера перед какими-нибудь потенциально опасными действиями, чтобы была возможность откатиться на самое их начало.

Нажав на Расписание архивации мы запустим одноименного мастера, который предлагает нам архивировать весь сервер целиком, либо указать объекты для выборочной архивации.

Заархивировать все и сразу мы всегда успеем, поэтому выберем настраиваемый тип архивации. Следующим шагом нам будет предложено выбрать объекты для архивации.

Для их добавления просто нажмите Добавить элементы.

Если выбрать Восстановление исходного состояния системы , то автоматически будут добавлены Состояние системы , системный раздел (диск C:) и служебный раздел с загрузчиком. К этим данным мы в учебных целях добавили папку с базами MS SQL, которые должны представлять некие пользовательские данные.

А также задать параметры службы теневого копирования, если у вас есть приложения использующие данную службу, например, MS SQL Server, то следует выбрать настройку Копировать журнал VSS, что обеспечит их нормальное взаимодействие со службой теневого копирования, в том числе и при восстановлении.

Затем нужно будет создать расписание, задача предельно простая, можно запускать архивацию как один, так и несколько раз в день, минимальный шаг интервала - полчаса.

С расписанием разобрались, теперь самое время определиться с местом хранения архивов. На выбор предлагается три варианта, каждый из них довольно неплохо прокомментирован, что облегчает правильный выбор:

Как мы уже говорили, оптимальным является выделение для архивации целого диска, мы рекомендуем использовать для этой цели iSCSI диски, что позволяет решить сразу две основные задачи: оптимально использовать дисковое пространство и хранить архивы отдельно от системы.

Отдельно стоит остановиться на возможности разместить архив в сетевой папке, несмотря на жесткие ограничения этот способ удобно использовать при однократной архивации, когда нужно быстро создать архив и разместить его вне сервера.

Если вы выбрали диск, то он будет отформатирован и скрыт, это обеспечивает дополнительную защиту от возможных деструктивных воздействий, например, троянов-шифровальщиков.

На последнем шаге следует еще раз убедиться в правильности сделанных настроек и подтвердить их нажатием на кнопку Готово .

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

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

Затем указываем дату и время создания резервной копии на которую мы хотим откатиться, доступные даты подсвечиваются полужирным шрифтом.

После чего указываем, что именно мы хотим восстановить:

Как видим, это могут быть файлы и папки, виртуальные машины Hyper-V, тома, приложения и состояние системы. Отдельно следует упомянуть о приложениях. Эта функция доступна только для зарегистрированных в системе архивации приложений, которые должны уметь работать с API этой службы и поддерживать VSS. Проще говоря, в этот список попадает ограниченное количество программ, в основном от самой Microsoft, а для стороннего софта данная функция бесполезна.

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

Восстановление состояния системы производится в два этапа каждый из которых завершается перезагрузкой.

Причем второй этап выглядит как обычная загрузка ОС и не выводит никаких сообщений, просто выполняя перезагрузку через некоторое время. Может показаться что произошла ошибка или сбой, но это не так.

Поэтому просто следует запастись терпением и дождаться сообщения об успешном завершении операции. В зависимости от скорости сети, производительности дисков и объема данных эта операция может занять значительное время.

Альтернативой восстановления состояния системы может служить восстановление на уровне тома, при этом все данные будут уничтожены и том будет приведен в состояние, в котором он находился на указанную дату. Это может оказаться полезным в случае вирусного инцидента, когда вы хотите быть уверенным, что в системе не осталось закладок вредоносного ПО, а также в случаях, когда исходный том был поврежден.

В общем и целом, данная операция ничем не отличается от восстановления тома из образа любым иным ПО, например, Acronis.

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

Как видим, система архивации Windows Server представляет собой весьма функциональный и удобный инструмент, позволяющий осуществлять успешное восстановление данных на любом уровне и в тоже время снимающая с администратора значительную часть забот по управлению этим процессом. Поэтому если вы еще не используете данную систему архивации, то после прочтения данного материала самое время более пристально к ней присмотреться.