Резервное копирование Azure Stack Hub
В этой статье описывается, как выполнять резервное копирование по запросу в Azure Stack Hub. Сведения о настройке среды PowerShell можно найти в разделе "Установка PowerShell для Azure Stack Hub". Сведения о входе в Azure Stack Hub см. в статье Использование портала администрирования в Azure Stack Hub.
Запуск резервного копирования Azure Stack Hub
Запуск новой резервной копии без отслеживания хода выполнения задания
Используйте Start-AzSBackup
для немедленного запуска новой резервной копии без отслеживания хода выполнения задания.
Start-AzsBackup -Force
Запуск резервного копирования Azure Stack Hub с отслеживанием хода выполнения задания
Используйте Start-AzSBackup
, чтобы запустить новую резервную копию с параметром AsJob и сохранить ее в качестве переменной для отслеживания хода выполнения задания резервного копирования.
Заметка
Задание резервного копирования отображается как успешно завершенное на портале около 10–15 минут до завершения задания.
Фактическое состояние лучше наблюдается с помощью следующего кода:
Важный
Начальная задержка на 1 миллисекунду введена, потому что код слишком быстро регистрирует задание и процесс не возвращает PSBeginTime или State для задания.
$BackupJob = Start-AzsBackup -Force -AsJob
While (!$BackupJob.PSBeginTime) {
Start-Sleep -Milliseconds 1
}
Write-Host "Start time: $($BackupJob.PSBeginTime)"
While ($BackupJob.State -eq "Running") {
Write-Host "Job is currently: $($BackupJob.State) - Duration: $((New-TimeSpan -Start ($BackupJob.PSBeginTime) -End (Get-Date)).ToString().Split(".")[0])"
Start-Sleep -Seconds 30
}
If ($BackupJob.State -eq "Completed") {
Get-AzsBackup | Where-Object {$_.BackupId -eq $BackupJob.Output.BackupId}
$Duration = $BackupJob.Output.TimeTakenToCreate
$Pattern = '^P?T?((?<Years>\d+)Y)?((?<Months>\d+)M)?((?<Weeks>\d+)W)?((?<Days>\d+)D)?(T((?<Hours>\d+)H)?((?<Minutes>\d+)M)?((?<Seconds>\d*(\.)?\d*)S)?)$'
If ($Duration -match $Pattern) {
If (!$Matches.ContainsKey("Hours")) {
$Hours = ""
}
Else {
$Hours = ($Matches.Hours).ToString + 'h '
}
$Minutes = ($Matches.Minutes)
$Seconds = [math]::round(($Matches.Seconds))
$Runtime = '{0}{1:00}m {2:00}s' -f $Hours, $Minutes, $Seconds
}
Write-Host "BackupJob: $($BackupJob.Output.BackupId) - Completed with Status: $($BackupJob.Output.Status) - It took: $($Runtime) to run" -ForegroundColor Green
}
ElseIf ($BackupJob.State -ne "Completed") {
$BackupJob
$BackupJob.Output
}
Подтверждение завершения резервного копирования
Подтверждение выполнения резервного копирования с помощью PowerShell
Используйте следующие команды PowerShell, чтобы убедиться, что резервное копирование выполнено успешно:
Get-AzsBackup
Результат должен выглядеть примерно так:
BackupDataVersion : 1.0.1
BackupId : <backup ID>
RoleStatus : {NRP, SRP, CRP, KeyVaultInternalControlPlane...}
Status : Succeeded
CreatedDateTime : 7/6/2018 6:46:24 AM
TimeTakenToCreate : PT20M32.364138S
DeploymentID : <deployment ID>
StampVersion : 1.1807.0.41
OemVersion :
Id : /subscriptions/<subscription ID>/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/<backup ID>
Name : local/<local name>
Type : Microsoft.Backup.Admin/backupLocations/backups
Location : local
Tags : {}
Подтверждение резервного копирования, завершенного с помощью портала администрирования
Чтобы убедиться, что резервное копирование выполнено успешно с помощью портала администрирования Azure Stack Hub, выполните следующие действия.
- Откройте портал администрирования Azure Stack Hub.
- Выберите Все службы, а затем в категории АДМИНИСТРИРОВАНИЕ выберите >резервное копирование инфраструктуры. Выберите конфигурацию в панели резервного копирования инфраструктуры.
- Найдите Имя и Дата завершения резервной копии в списке Доступные резервные копии.
- Убедитесь, что состояние
выполнено успешно .
Дальнейшие действия
Дополнительные сведения о рабочем процессе восстановления после события потери данных.