AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 442171
Accepted
Massimo
Massimo
Asked: 2012-10-26 00:34:41 +0800 CST2012-10-26 00:34:41 +0800 CST 2012-10-26 00:34:41 +0800 CST

如何在 DPM 2012 中自动将磁带标记为免费?

  • 772

我有一个运行 System Center Data Protection Manager 2012 的备份服务器,连接到几个磁带驱动器(无库)。当然,我也有一些磁带。磁带旋转是手动的。

磁带以前被DPM本身(但服务器已经完全重建)和其他备份软件使用过;他们不是空的。但它们不包含 DPM 知道和/或想要保留的数据,因此无需运行forcefreetape.ps1.

当磁带放入驱动器时,需要进行盘点,将其识别为进口磁带,然后将其标记为空闲;否则 DPM 将简单地拒绝使用它。

如何让 DPM 自动将这些导入的磁带视为免费?而且,当然,我不想重复使用真正的备份磁带,如果它们在到期日期之前偶然被放入驱动器,所以解决方案应该将导入的磁带标记为免费,但不应该对真正的、未过期的磁带做同样的事情磁带。

tape
  • 3 3 个回答
  • 5911 Views

3 个回答

  • Voted
  1. Best Answer
    Massimo
    2012-11-14T08:48:16+08:002012-11-14T08:48:16+08:00

    像往常一样,需要一些脚本......

    Import-Module DataProtectionManager
    
    $Server = Get-Content env:computername
    
    Get-DPMLibrary $Server | foreach {
        write-host
        write-host Starting inventory for library $_.UserFriendlyName
    
        $result = Start-DPMLibraryInventory -DPMLibrary $_ -DetailedInventory
    
        while (!$result.HasCompleted)
        {
            write-host -NoNewline "."
            sleep 1
        }
    
        write-host
        write-host Inventory complete for library $_.UserFriendlyName
    
        write-host Setting tape in library $_.UserFriendlyName as free
    
        Get-DPMTape $_ | Set-DPMTape -Free
    
        write-host Operation completed for library $_.UserFriendlyName
    }
    
    • 2
  2. Marc B
    2014-08-30T10:30:31+08:002014-08-30T10:30:31+08:00

    我遇到了完全相同的问题。问题是上一个答案中的上面的脚本没有说明可能与 DPM 关联的所有设备。上面脚本的编写方式,它采用设备 ID 为 [0] 的第一个设备。(通常分配给磁带机而不是磁带库)。因此,您必须在脚本中寻址正确的设备。您可以发出 Get-DPMLibrary 命令以获取所有设备的列表。

    获取 DPMLibrary -DPMServerName“ yourservername ”

    这将按照从最低设备编号 [0] 到最高的顺序列出与 DPM 关联的所有设备。

    该库通常会列为第二个条目,即条目 1,因为设备从 0 开始......

    (注意设备编号和为 $DPMLibrary 变量添加的代码行 3)

    我还删除了“ Get-DPMTape $_ | Set-DPMTape -Free ”它根本不起作用!我将其替换为:

    $Tape = 获取磁带 -DPMLibrary $DPMLibrary

    Set-DPMTape -Tape $Tape -Free

    注意:Set-DPMTape -Tape $Tape -Free 会产生错误。(不要惊慌)。它与已经与保护组相关联的磁带有关。尽管如此,该代码仍会将所有磁带标记为免费。

    (所以只需复制下面的脚本替换您的设备 ID)...享受 :)

    Import-Module DataProtectionManager
    
    $Server = Get-Content env:computername
    
    $DPMLibrary = get-dpmlibrary -DPMServerName $Server
    
    Get-DPMLibrary $Server | foreach {
        write-host
        write-host Starting inventory for library $DPMLibrary[2]
    
        $result = Start-DPMLibraryInventory -DPMLibrary $DPMLibrary[2] -DetailedInventory
    
        while (!$result.HasCompleted)
        {
            write-host -NoNewline "."
            sleep 1
        }
    
        write-host
        write-host Inventory complete for library $DPMLibrary[2]
    
        write-host Setting tape in library $DPMLibrary[2] as free
    
        $Tape = Get-Tape -DPMLibrary $DPMLibrary
        Set-DPMTape -Tape $Tape -Free
    
        write-host Operation completed for library $DPMLibrary[2]
    }
    
    • 0
  3. Alon Or
    2017-11-20T07:14:15+08:002017-11-20T07:14:15+08:00

    以下脚本将搜索每个在线磁带库,然后将其中的每个过期磁带标记为可用。在您的 DPM 服务器上运行。

    $sw = [Diagnostics.Stopwatch]::StartNew()
    Import-Module DataProtectionManager
    
    $DPMServerName = Get-Content env:computername
    
    if (!(Connect-DPMServer $DPMServerName)) 
    { 
        Write-Error "Failed to connect To DPM server $DPMServerName" 
        exit 1 
    } 
    
    $libraryList = @()
    $libraryList = Get-DPMLibrary -DPMServerName $DPMServerName | where {$_.Status -eq 'Enabled'}
    foreach ($library in $libraryList) 
    { 
        write-host
        write-host Starting inventory for library $library.UserFriendlyName
        write-host "This operation can take a long time, please be patient..."
        $result = Start-DPMLibraryInventory -DPMLibrary $library -DetailedInventory
        write-host
        write-host Inventory complete for library $library.UserFriendlyName
        write-host
        $expiredTapeList = @(Get-Tape -DPMLibrary $library | ? {$_ -is [Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.LibraryManagement.ArchiveMedia] -and $_.DatasetState -eq "Recyclable"}) 
        if ($expiredTapeList.Length -gt 0) 
        { 
            $expiredTapeList #| Export-Csv -NoTypeInformation -Encoding UTF8 -Path $Exported_csv_path -Force
            Write-Host "Marking $($expiredTapeList.Length) tape(s) as free in $($library.UserFriendlyName)." 
            foreach ($expiredTape_ in $expiredTapeList)
            {
                Write-host "Setting tape Barcode $($expiredTape_.Barcode) in $($expiredTape_.Location) as free."
                Set-Tape -Tape $expiredTape_ -Free
            }
        } else {Write-Host "No Expired Tapes were Found in $($library.UserFriendlyName)" -ForegroundColor Red}
    
    }
    $sw.Stop()
    Write-Host "`n Total job running time ...." $sw.Elapsed
    
    • 0

相关问题

  • 在需要清洁磁带驱动器之前使用多少小时?

  • 网络磁带恢复比磁盘到磁盘复制更快

  • 无法读取不同 LTO-3 驱动器上的 LTO-3 磁带

  • Bacula 胶带更换

  • 磁带存储还有地方吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve