备份 Azure Stack Hub

本文介绍如何在 Azure Stack Hub 上执行按需备份。 有关配置 PowerShell 环境的信息,请参阅 安装适用于 Azure Stack Hub 的 PowerShell。 若要登录到 Azure Stack Hub,请参阅 使用 Azure Stack Hub 中的管理员门户

启动 Azure Stack Hub 备份

在没有作业进度跟踪的情况下启动新备份

使用 Start-AzSBackup 立即启动新备份,无需作业进度跟踪。

Start-AzsBackup -Force

使用作业进度跟踪启动 Azure Stack Hub 备份

使用 Start-AzSBackup 通过“-AsJob 参数启动新备份,并将其另存为变量,以跟踪备份作业进度。

注意

在作业完成前大约 10-15 分钟,备份作业在门户中显示为成功完成。

使用以下代码更好地观察实际状态:

重要

引入初始 1 毫秒延迟是因为代码执行速度过快,导致无法正确注册作业,也不会返回作业的 PSBeginTimeState

$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 管理员门户成功完成,请执行以下步骤:

  1. 打开 Azure Stack Hub 管理员门户
  2. 选择 所有服务,然后在 管理 类别下,选择 >基础结构备份。 在基础结构备份边栏选项卡中选择配置
  3. 在“可用备份”列表中查找备份的名称完成日期
  4. 验证状态是否为“成功”

后续步骤

详细了解从数据丢失事件恢复的工作流程。