DPMのターゲットストレージを別のボリュームに変更する方法

DPMのデータストアとして使用しているボリュームを,他のボリュームに引っ越したい場合があります。

ボリュームの容量が足りないだけであれば,別のドライブをストレージプールに追加すればよいだけなのですが,何からの事情で,あるボリュームから新しいボリュームに完全にデータを移行して,古いボリュームは後ほど削除したいというケースです。

例えば,ドライブに割当てた容量が多すぎて使用率が低いため,少し小さいドライブを新しくアタッチし,そちらにデータを移行したいというケースがあります。

そのような場合には,DPMのコンソールから,ターゲットストレージを変更することが出来るボタンがあるのですが,この機能では,一括でデータを移行することができません。

Move disk storageボタンでは一件ずつしか変更できない

Move disk storageボタンでは一件ずつしか変更できない

それで,PowerShellを使えば,対象となるプロテクショングループごとに,すべてのターゲットストレージを変更することができます。

では,どのようにコードを書くことが出来るでしょうか?

PowerShellでバックアップのターゲットストレージを一括変更する

以下のコマンドを用いて,一括でターゲットストレージを変更することができます。


Import-Module DataProtectionManager
Connect-DPMServer -DPMServerName <DPM Server Name>

$PG = Get-DPMProtectionGroup
$MPG = Get-DPMModifiableProtectionGroup $PG[0] //対象のPG番号を選択する
$Vol = Get-DPMDiskStorage -Volumes

Get-DPMDatasource $MPG | ForEach-Object{

    Write-host $_
    Set-DPMDatasourceDiskAllocation -ProtectionGroup $MPG -Datasource $_ -TargetStorage $Vol[1] -MigrateDatasourceDataFromDPM -Verbose //対象のVol番号を選択する
}
Set-DPMProtectionGroup -ProtectionGroup $MPG -Async -Verbose

ちなみに,このコマンドを走らせている間は,対象となるプロテクショングループのバックアップは行われませんのでご注意ください。

以上,DPMにおいて,プロテクショングループのターゲットストレージをPowerShellで一括変更する方法でした。

コメント