IBM Cloud Docs
インスタント・リストア

インスタント・リストア

本資料では、サイバー管理者が 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> の名前。
  • リストアされる 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マネージド・サーバの作成 を参照してください。