インスタント・リストア
本資料では、サイバー管理者が PowerShell スクリプトを使用するユース・ケースについて説明します。このスクリプトは、サイバー・バックアップから実動仮想マシン (VM) のインスタント・リストアを行うための Veeam® の機能を使用します。
Veeam のインスタント・リストア機能を使用すると、VM をバックアップ・ファイルから直接開始することができます。 バックアップ・ファイルにアクセスするには、Veeam® vPower NFS サービスを使用します。
このスクリプトでは、以下のタスクを実行します。
- Veeam バックアップ・サーバーの PowerShell ウィンドウ、または Veeam PowerShell 拡張機能がインストールされている別のサーバーの PowerShell ウィンドウから実行します。 Veeam バックアップ・サーバーは、PowerShell リモート処理に対しても有効です。
- 以下の変数が必要です。
- vCenter の VM 名
<vm_name>
および VM の接続先のネットワーク名<src_nw_name>
。 - VM がリストアされる VMware ESXi™ ホスト名
<esxi_hostname>
。 - リストアされた VM が属するリソース・プール名
<resource_pool_name>
。 - バックアップがリストアされるデータ・ストア
<datastore_name>
。 - リストアされた VM が属する vCenter 内のフォルダー名
<folder_name>
。 - リストアされた VM が接続されているターゲット・ネットワーク
<tgt_nw_name>
の名前。
- vCenter の VM 名
- リストアされる VM の最新の保存ポイントを取得します。
- リストアされた VM 名を、CR の接尾部の後にタイム・スタンプを指定して定義します。
- 変数
$Reason
内にリストアの説明を定義します。 - VM をリストアします。
- リストアされた VM の電源がオンになります。
- PowerShell コマンドは、リストアが長時間実行されるため、非同期に実行されます。
- Windows® OS ではアンチウィルス・スキャンが開始され、最初のウィルス脅威が検出された後もスキャンが続行されます。 ウィルスが検出されると、VM 上のネットワークは無効になります。
- インスタント・リストアが終了しても、VM の電源はオンのままになります。
バックアップ・ジョブで VM 名を見つけるには、PowerShell ウィンドウで以下のコマンドを使用します。ここで、JobName はバックアップ・ジョブの名前に設定します。 この例では、バックアップ・ジョブの名前は Cyber-backup - 1d1w30rp
です。
$JobName = "Cyber-backup - 1d1w30rp"
Get-VBRJob -Name $JobName | Get-VBRJobObject | Select-Object -Property Name
以下の例は、いくつかのサンプル変数を示しています。
$VMName = "nrt01"
$SrcNetworkName = "192-168-3-0-24"
$EsxiHostname = "host002.test.ibmcloud.local"
$ResourcePoolName = "Cyber-restore-rp"
$DatastoreName = "workload_share_LkXB6"
$FolderName = "Cyber-restore"
$TgtNetworkName = "cyber-veeam-recovery"
PowerShell スクリプトが以下の例に示されています。
# VM variables
$VMName = "<vm_name>"
$SrcNetworkName = "<src_nw_name>"
# Restore variables
$EsxiHostname = "<esxi_hostname>"
$ResourcePoolName = "<resource_pool_name>"
$DatastoreName = "<datastore_name>"
$FolderName = "<folder_name>"
$TgtNetworkName = "<tgt_nw_name>"
# Conversions
$LastRestorePoint = Get-VBRRestorePoint -Name $VMName | Sort-Object -Property CreationTime -Descending | Select-Object -First 1
$Esxi = Get-VBRServer -Type ESXi -Name $EsxiHostname
$ResourcePool = Find-VBRViResourcePool -Server $Esxi -Name $ResourcePoolName
$Datastore = Find-VBRViDatastore -Server $Esxi -Name $DatastoreName
$Folder = Find-VBRViFolder -Server $Esxi -Name $FolderName
$SrcNetwork = Get-VBRViServerNetworkInfo -Server $Esxi | Where-Object { $_.NetworkName -eq $SrcNetworkName }
$TgtNetwork = Get-VBRViServerNetworkInfo -Server $Esxi | Where-Object { $_.NetworkName -eq $TgtNetworkName }
$RestorePointDate = $LastRestorePoint.CreationTime
$RestoreDate = Get-Date -Format yyyy-MM-dd-HH:mm
$Reason = "Cyber-restore of $VMName retention point: $RestorePointDate at $RestoreDate"
$RestoredVMName = "$VMName-CR-$RestoreDate"
# Instant restore
Start-VBRInstantRecovery -RestorePoint $LastRestorePoint -Server $Esxi -ResourcePool $ResourcePool -Datastore $Datastore -Folder $Folder -SourceNetwork $SrcNetwork -TargetNetwork $TgtNetwork -VMName $RestoredVMName -PowerUp:$True -Reason $Reason -RunAsync -EnableAntivirusScan -EnableEntireVolumeScan -VirusDetectionAction DisableNetwork
ログ
以下の PowerShell コマンドを使用すると、VM <vm_name>
の最後のリストア・セッションのログ項目が表示されます。
$VMName = "<vm_name>"
$Session = Get-VBRRestoreSession -Name $VMName | Sort-Object -Property CreationTime -Descending | Select-Object -First 1
$Logs = $Session.logger.GetLog().GetRecordsSortedByOrdinalId()
foreach ($Log in $Logs) { Write-Host $Log.Title }
以下の例は、nrt01
という名前の VM のログ項目を示しています。 この Linux® VM のアンチウィルス・スキャンはスキップされました。
Skipping nrt01: operating system is not supported for antivirus scan
Starting nrt01-CR-2021-11-19-12:50 recovery
Connecting to host host002.partner.ibmcloud.local
Restoring from Linux Hardened Repository - LHBR01
Checking if vPower NFS datastore is mounted on host
Locking backup files
Publishing backup files
Preparing change storage
Updating VM configuration
Checking free disk space available to Power NFS server
Registering VM
Creating VM snapshot
Powering on VM
Updating session history
nrt01-CR-2021-11-19-12:50 has been recovered successfully
Waiting for user to start migration
強化 Linux リポジトリーにおいて、コメント Veeam rule 876f0752-7209-4e8b-8b34-fa0af7dbced4
で指定された Linux ファイアウォールで以下のポートが一時的に開かれました。
ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW 10.38.207.142 # Allow SSH from trusted servers
6162/tcp ALLOW 10.38.207.157 # Allow Veeam Mgmt from Veeam BUR server
2500/tcp ALLOW Anywhere # Veeam rule 876f0752-7209-4e8b-8b34-fa0af7dbced4
2501/tcp ALLOW Anywhere # Veeam rule 876f0752-7209-4e8b-8b34-fa0af7dbced4
6162/tcp ALLOW OUT Anywhere # Veeam transport rule
2500/tcp ALLOW OUT Anywhere # Veeam rule 876f0752-7209-4e8b-8b34-fa0af7dbced4
2501/tcp ALLOW OUT Anywhere # Veeam rule 876f0752-7209-4e8b-8b34-fa0af7dbced4
インスタント・リカバリーの停止
インスタント・リカバリー・セッションは、コマンド Get-VBRInstantRecovery | Where-Object {$_.VMName -eq $RestoredVMName} | Stop-VBRInstantRecovery
を使用して停止することができます。
サイバー管理者がVeeamデータ統合APIを使用してサイバーバックアップにアクセスする使用例については、VeeamのLinuxマネージド・サーバの作成 を参照してください。