Partilhar via


Fazer backup do Azure Stack Hub

Este artigo descreve como fazer um backup sob demanda no Azure Stack Hub. Para obter informações sobre como configurar o ambiente do PowerShell, consulte Install PowerShell for Azure Stack Hub. Para entrar no Azure Stack Hub, consulte Usar o portal do administrador no Azure Stack Hub.

Iniciar o backup do Azure Stack Hub

Iniciar um novo backup sem acompanhamento do progresso da tarefa

Use Start-AzSBackup para iniciar um novo backup imediatamente, sem acompanhamento do progresso do trabalho.

Start-AzsBackup -Force

Inicie o backup do Azure Stack Hub com o acompanhamento do progresso do trabalho

Use Start-AzSBackup para iniciar um novo backup com o parâmetro '-AsJob e salvá-lo como uma variável para acompanhar o progresso do trabalho de backup.

Observação

Sua tarefa de backup aparece como concluída com êxito no portal cerca de 10 a 15 minutos antes da conclusão da tarefa.

O status real é melhor observado usando o seguinte código:

Importante

O atraso inicial de 1 milissegundo é introduzido porque o código é demasiado rápido para registar o trabalho corretamente, não retornando nenhum PSBeginTime nem o Estado do trabalho.

$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
}

Confirmar cópia de segurança concluída

Confirmar a conclusão do backup usando o PowerShell

Use os seguintes comandos do PowerShell para garantir que o backup seja concluído com êxito:

Get-AzsBackup

O resultado deve ser semelhante à seguinte saída:

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              : {}

Confirme o backup concluído usando o portal do administrador

Para verificar se o backup foi concluído com êxito usando o portal do administrador do Azure Stack Hub, siga estas etapas:

  1. Abra o portal do administrador do Azure Stack Hub.
  2. Selecione Todos os serviçose, em seguida, na categoria ADMINISTRAÇÃO, selecione >Backup de infraestrutura. Escolha de configuração na folha de backup da infraestrutura de.
  3. Encontre o Nome e a Data de Conclusão do backup na lista de backups disponíveis.
  4. Verifique se o Estado é bem-sucedido.

Próximos passos

Saiba mais sobre o fluxo de trabalho para recuperação após um evento de perda de dados .