Como repetir a tentativa de backup em fita com falha no DPM 2007?

2

Como você repete um backup agendado de um grupo de proteção se a primeira tentativa de backup falhar (por exemplo, se não houver fitas na biblioteca ou se houver uma falha intermitente na biblioteca ou na unidade).

Eu sei que você pode forçar um backup de um único elemento protegido no console selecionando "Criar ponto de recuperação - fita" no menu de contexto, mas como forçar um backup de fita de todo um grupo de proteção?

    
por Falcon Momot 12.07.2009 / 12:43

1 resposta

1

AVISO LEGAL !! Estas são versões limpas do que eu realmente uso, eu não tive a necessidade de testar essas versões limpas, então eles provavelmente contêm um erro ou dois. Me desculpe! Por favor, comente / edite / qualquer coisa se encontrar algum erro para que outros não tenham que consertá-lo novamente.

  1. Se você ainda tiver o erro em Monitoramento - > Alertas, você pode clicar com o botão direito do mouse em um Retomar Backups.
  2. Se você deseja criar um novo backup (o que está atualmente no servidor protegido)
    Abra o shell do DPM e cole este script:

    param([string] $dpmname, [string] $pgname)
    
    if(!$dpmname) {
        $dpmname = Read-Host "DPM server"
    }
    if(!$pgname) {
     $pgname =  Read-Host "Protection Group Friendly Name"
    }
    Write-Output "Creating Tape Recovery Point"
    trap{"Error in execution... $_";break}
    &{
        Write-Output "Getting protection group $pgname in $dpmname..."
        $clipg = Get-ProtectionGroup $dpmname | where { $_.FriendlyName -eq $pgname}
        if($clipg -eq $abc) {
            Throw "No PG found"
        }
        Write-Output "Getting DS from PG $pgname..."
        $backupds = @(Get-Datasource $clipg)
        foreach ($ds in $backupds) {
            Write-Output "Creating Recovery point for $ds..."
            $j = New-RecoveryPoint -Datasource $ds -Tape -ProtectionType LongTerm
            $jobtype = $j.jobtype
            Write-Output "$jobtype Job has been triggerred..."
        }
    }
    

    Ele solicitará o backup do nome do servidor e do grupo de proteção.

  3. Se você deseja copiar um backup de disco para a mídia de fita (para todo o grupo de proteção)
    Abra o shell do DPM e cole este script:

    param([string] $dpmserver, [string] $pgname, [datetime] $rpdt, [int] $tapeoption)
    $searchminutes = 10
    $libraryindex = 0
    if(!$dpmserver) {
        $dpmserver = Read-Host "DPM server"
    }
    if(!$pgname) {
        $pgname =  Read-Host "Protection Group Friendly Name"
    }
    if(!$rpdt) {
        $rpdt = Read-Host "Time of existing Recovery Point"
        if (($rpdt -as [DateTime]) -ne $null) {
            $rpdt = [DateTime]::Parse($rpdt)
        } else {
            Write-Host 'You did not enter a valid date/time!'
        }
    }
    $rpdt.AddMinutes($serachminutes / 2)
    if(!$tapeoption) {
        $tapeoption = Read-Host "Tape Option: 0 = Compress, 1 = Encrypt, 2 = Neither"
    }
    Write-Host "Creating $backupoption Recovery Point"
    trap{"Error in execution... $_";break}
    &{
        Write-Host "-Getting protection group $pgname in $dpmserver..."
        $clipg = Get-ProtectionGroup $dpmserver | where { $_.FriendlyName -eq $pgname}
        if(!$clipg) {
            Throw "No PG found!"
        }
        Write-Host "-Getting libraries on $dpmserver..."
        $libraries = @(Get-DPMLibrary -DPMServerName $dpmserver)
        if(!$libraries) {
            Throw "No Tape Drive/Library found!"
        }
        Write-Output "--Getting Data Sources from Protection Group $pgname..."
        $backupds = @(Get-Datasource $clipg)
        foreach ($ds in $backupds) {
            Write-Host -NoNewline "---$ds... "
            $rps = @(Get-RecoveryPoint -Datasource $ds) | Where { (New-TimeSpan -Start $_.RepresentedPointInTime -End $rpdt).TotalMinutes -lt $searchminutes }
            Write-Host -NoNewline "RPs Found... "
            foreach ($rp in $rps) {
                Write-Host -NoNewLine "Creating Job... "
                $j = Copy-DPMTapeData -RecoveryPoint $rp -SourceLibrary $libraries[$libraryindex] -TapeLabel "asdf" -TapeOption $tapeoption -TargetLibrary $libraries[$libraryindex]
                Write-Host "Job: $j.status"
            }
        }
    }
    

    Nota: Se você sabe o que está fazendo, a estrutura básica do script acima é:

    $libs = @(Get-DPMLibrary -DPMServerName $dpmname)
    $pg = @(Get-ProtectionGroup -DPMServerName @dpmname)
    $ds = @(Get-Datasouce -ProtectionGroup $pg[n])
    $rp = @(GetRecoverPoint -Datasource $ds[n])
    Copy-DPMTapeData -RecoveryPoint $pr[n] -SourceLibrary $libs[n] -TapeLabel "Whatever" -TapeOption $x $TargetLibrary $libs[n]
    
por 10.07.2013 / 20:16

Tags