Авторизация



Голосование

Помогла ли представленная на сайте информация решению Вашей IT-задачи?
 
Главная страница IT Microsoft POWERSHELL Настройка Windows Server Backup на iSCSI с помощью PowerShell и DiskPart
Настройка Windows Server Backup на iSCSI с помощью PowerShell и DiskPart Печать

В данной статье я продемонстрирую как от начала до конца настроить резервное копирование в Windows Server 2012 Core. Бэкапить будем на iSCSI хранилище.

Итак, нам нужно будет настроить три компонента:

  • [PowerShell] Microsoft iSCSI Initiator
  • [DiskPart] Подготовка раздела для бэкапов к работе с Windows Server Backup
  • [PowerShell] Установка и настройка Windows Server Backup Feature

 

1. Microsoft iSCSI Initiator

Хочу отметить, что даже в Server Core версии Вы можете получить привычную графическую оснастку iSCSI, вызвав её в командной строке с помощью команды iscsicpl.exe. Столкнуться с отсутствием графической оснастки iSCSI можно в версиях WinPE и WinRE.

 

Настроим iSCSI Initiator с помощью PowerShell:

PS C:\> Import-Module iSCSI # Добавляем модуль PowerShell
PS C:\> Start-Service MSiSCSI # Запускаем сервис iSCSI инициатора
PS C:\> New-IscsiTargetPortal -TargetPortalAddress 10.0.0.70 # Подскажем инициатору где находится наш iSCSI портал с таргетами

InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.0.70
TargetPortalPortNumber : 3260
PSComputerName         :

PS C:\> Get-IscsiTarget | Format-Table -AutoSize # Посмотрим какие на портале разрешены таргеты для нас

IsConnected NodeAddress                                        PSComputerName
----------- -----------                                        --------------
      False iqn.2008-08.com.starwindsoftware:storage01.testdlc

PS C:\> Connect-IscsiTarget -NodeAddress 'iqn.2008-08.com.starwindsoftware:storage01.testdlc' -IsPersistent:$true -TargetPortalAddress 10.0.0.70 -TargetPortalPortNumber 3260 -AuthenticationType ONEWAYCHAP -ChapUsername 'myUser' -ChapSecret 'MyStrongPa$$w0rd' # Подключимся к необходимому таргету используя Chap аутентификацию

AuthenticationType      : ONEWAYCHAP
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:win-dh54phcianr
InitiatorPortalAddress  : 0.0.0.0
InitiatorSideIdentifier : 400001370000
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : fffffa8301d38020-4000013700000005
TargetNodeAddress       : iqn.2008-08.com.starwindsoftware:storage01.testdlc
TargetSideIdentifier    : 33aa
PSComputerName          :

 

Настройка инициатора окончена.

 

2. Подготовка раздела для бэкапов к работе с Windows Server Backup

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

DiskPart has encountered an error: The media is write protected.

Set-WBPolicy : Formatting the disk has failed. Please ensure the disk is online and accessible. Unknown error (0x8004280a)

 

PS C:\> diskpart.exe

DISKPART> list disk # Смотрим доступные диски

  Disk №№№  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           40 GB      0 B
  Disk 1    Offline          60 GB    60 GB

DISKPART> select disk 1 # Наш iSCSI раздел составляет 60 Гб. Как видно из вывода предыдущей команды, нужный нам диск значится с идентификатором 1, с ним и будем работать

Disk 1 is now the selected disk.

DISKPART> online disk # Переводим наш диск в онлайн состояние

DiskPart successfully onlined the selected disk.

DISKPART> detail disk # Просмотрим подробную информацию о диске

ROCKET IMAGEFILE SCSI Disk Device
Disk ID: 00000000
Type   : iSCSI
Status : Online
Path   : 0
Target : 0
LUN ID : 0
Location Path : UNAVAILABLE
Current Read-only State : Yes
Read-only  : Yes
Boot Disk  : No
Pagefile Disk  : No
Hibernation File Disk  : No
Crashdump Disk  : No
Clustered Disk  : No

There are no volumes.

DISKPART> attributes disk clear readonly # Как видно из предыдущего вывода, наш диск находится в состоянии Read-only, которое нам не подходит. Исправляем это

Disk attributes cleared successfully.

DISKPART> exit

Leaving DiskPart...
PS C:\>

Теперь все готово для настройки бэкапа.

 

Установка и настройка Windows Server Backup Feature

PS C:\> Import-Module ServerManager # Добавляем модуль PowerShell
PS C:\> Add-WindowsFeature -Name Windows-Server-Backup -Restart:$false # Устанавливаем фичу WSB

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Windows Server Backup}

PS C:\> $policy = New-WBPolicy # Вначале мы должны создать политику бэкапа, содержащую все необходимые параметры
PS C:\> $policy | Add-WBSystemState # Добавляем в политику бэкап SystemState
PS C:\> $policy | Add-WBBareMetalRecovery # Добавляем в политику возможность восстановления на новое железо
PS C:\> Add-WBVolume -Policy $policy -Volume (Get-WBVolume -CriticalVolumes) # Указываем в политике, что нужно бэкапить все критические тома. Вывод покажет нам их

VolumeLabel : System Reserved
MountPath   :
MountPoint  : \\?\Volume{c43cabd2-f303-11e2-93ec-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource, IsOnDiskWithCriticalVolume
FreeSpace   : 115138560
TotalSpace  : 367001600

VolumeLabel :
MountPath   : C:
MountPoint  : \\?\Volume{c43cabd3-f303-11e2-93ec-806e6f6e6963}
FileSystem  : NTFS
Property    : Critical, ValidSource, IsOnDiskWithCriticalVolume
FreeSpace   : 35590725632
TotalSpace  : 42580574208


PS C:\> Get-WBDisk | ? {$_.Properties -like 'ValidTarget'} # Получим список дисков, на которые возможно производить бэкап. В моем случае диск всего один - наш подключенный iSCSI

DiskName       : ROCKET IMAGEFILE SCSI Disk Device
DiskNumber     : 1
DiskId         : 00000000-0001-0000-0000-000000000000
TotalSpace     : 64424509440
FreeSpace      : 64424509440
Volumes        : {}
ContainsBackup : False
BackupVolumeId : 00000000-0000-0000-0000-000000000000
Properties     : ValidTarget

PS C:\> $backuptarget = New-WBBackupTarget -Disk (Get-WBDisk | ? {$_.DiskNumber -eq 1}) # Запишем в переменную диск с идентификатором 1 (взят из предыдущего вывода, параметр DiskNumber)
PS C:\> Add-WBBackupTarget -Policy $policy -Target $backuptarget # Добавим в политику диск назначения, заключенный в переменную

Label                  :
WBDisk                 : ROCKET IMAGEFILE SCSI Disk Device
WBVolume               :
Path                   :
TargetType             : Disk
InheritAcl             : False
PreserveExistingBackup : False


PS C:\> Set-WBSchedule -Policy $policy -Schedule 02:45 # Укажем в политике расписание когда будет стартовать наш бэкап

Monday, July 22, 2013 2:45:00 AM

PS C:\> Set-WBVssBackupOption -Policy $policy -VssFullBackup # Я также задам параметр VssFullBackup, т.к. мой сервер больше ничем бэкапиться не будет
PS C:\> $policy # Посмотрим на параметры нашей политики перед применением. Перепроверяем особенно диск назначения для бэкапов, т.к. он будет отформатирован и все данные на нём будут уничтожены

Schedule              : {7/22/2013 2:45:00 AM}
BackupTargets         : {WIN- 7/22/2013 6:40:18 AM Disk01}
VolumesToBackup       : {System Reserved, Local disk (C:)}
FilesSpecsToBackup    :
FilesSpecsToExclude   :
ComponentsToBackup    :
BMR                   : True
SystemState           : True
OverwriteOldFormatVhd : False
VssBackupOptions      : VssFullBackup

PS C:\> Set-WBPolicy -Policy $policy # Применяем политику. Нас в последний раз предупреждают что данные на диске назначения будут уничтожены. После успешного выполнения этого командлета наше задание бэкапа на сервере будет полностью готово

Warning
Do you want to format the backup storage disk ROCKET IMAGEFILE SCSI Disk
Device?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):

Посмотрим настроенные параметры и результаты выполнения бэкапа

Get-WBSummary # Параметры бэкапа на сервере

NextBackupTime                  : 7/23/2013 12:00:00 AM
NumberOfVersions                : 0
LastSuccessfulBackupTime        : 1/1/0001 12:00:00 AM
LastSuccessfulBackupTargetPath  :
LastSuccessfulBackupTargetLabel :
LastBackupTime                  : 1/1/0001 12:00:00 AM
LastBackupTarget                :
DetailedMessage                 :
LastBackupResultHR              : 0
LastBackupResultDetailedHR      : 0
CurrentOperationStatus          : NoOperationInProgress

Get-WBJob -Previous 1 # Результат выполнения последнего задания бэкапа. В строке ErrorDescription отображены ошибки задания

JobType          : Backup
StartTime        : 22.07.2013 2:30
EndTime          : 22.07.2013 2:30
JobState         : Completed
CurrentOperation :
HResult          : 8078005D
DetailedHResult  : 0
ErrorDescription : Windows Backup cannot find any of the backup storage locations.

JobItems         :
VersionId        :
SuccessLogPath   :
FailureLogPath   :

 

Примечание

При планировании стратегии развертывания из Bare Metal Recovery резервной копии Windows Server Backup, нужно учитывать что восстановить такую копию будет возможно только на диск, который по размеру соответствует или превышает исходный. Другими словами, если Вы бэкапите диск C: размером 500 Гб, на котором свободно 450 Гб, для успешного восстановления из Bare Metal Recovery резервной копии Вам потребуется новый диск не менее пол террабайта.

 

Как восстановить систему из созданного нами образа с Bare Metal Recovery

Это я подробно описал в своей статье (ссылка).

 

КОММЕНТАРИИ 

 
#2 Василий 12.03.2017 15:42
Что означает OverwriteOldFor matVhd : False и как его включать, я так и не нашел информации об этом ключе.

Плюс еще вопрос - на справочной странице Microsoft написано по поводу VssCopy следующее:
"A copy backup cannot be used for incremental or differential backups or restores."
Можете дать комментарий по поводу этого?
 
 
#1 Андрей 14.03.2016 10:21
Отличная статья!
 
Главная страница IT Microsoft POWERSHELL Настройка Windows Server Backup на iSCSI с помощью PowerShell и DiskPart