Lucene search

K
veeamVeeam softwareVEEAM:KB4485
HistorySep 08, 2023 - 12:00 a.m.

Validator CLI Tool Fails to Process VMs in Per-machine backup with separate metadata files

2023-09-0800:00:00
Veeam software
www.veeam.com
10
veeam backup validator
backup chain
metadata files
per-machine backup

AI Score

6.6

Confidence

Low

Challenge

When attempting to use the Veeam Backup Validator command-line tool to validate the VMs contained within a job that was using the Per-machine backup with separate metadata files (aka True Per-VM) backup chain format, the Veeam Backup Validator tool throws the error:

Cannot find last point for backup "<job-name>".

Errror

Cause

This is a known issue and may be fixed in a future release of Veeam Backup & Replication.

As noted in the Veeam Backup Validator User Guide regarding the /backup parameter:

  • Starting from Veeam Backup & Replication 12, per-machine backup with separate metadata files is the default format of backup files. To validate these backup files, you must specify the child backup name – backup of a specific VM. To get the child backup name, use the following PowerShell commands:

    $backup = Get-VBRBackup -Name "<backup_name>"
    

    $child_backups = $backup.FindChildBackups()
    $first_child_backup_name = $child_backups[0].Name

Solution

The following PowerShell script can be used to validate the latest restore point for all VMs within a job when it is using Per-machine backup with separate metadata files.

Notes:

  • Edit the scriptand replace<job-name> on line 2 with the actual backup job name.
    Failure to do so will cause the script to fail with “You cannot call a method on a null-valued expression.” because there is no job with the name specified.

  • The script must be run in an Administrative PowerShell prompt.

  • The script will output the reports to C:\temp\. If that folder does not exist, either create it or update the script to output to a different existing folder.

    #Get backup job information based on name.
    $backup = Get-VBRBackup -Name “<job-name>”
    #Find child backups for job.
    $child_backups = $backup.FindChildBackups()
    #For each child backup found validate the latest restore point, output the results to an HTML file in C:\temp\
    ForEach ($sub_child in $child_backups) {
    $id = $sub_child.Id
    $name = $sub_child.name
    Write-Output “Processing VM $name $id”
    cmd.exe /c ‘“C:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.Validator.exe” /backup:’$id’ /report:“C:\temp\report_‘$name’-‘$(get-date -f yyyy-MM-dd_HH.mm)’.html” /format:html’
    }

Copy

To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Affected configurations

Vulners
Node
veeamveeam_backup_\&_replicationMatch12.1
OR
veeamveeam_backup_\&_replicationMatch12
VendorProductVersionCPE
veeamveeam_backup_\&_replication12.1cpe:2.3:a:veeam:veeam_backup_\&_replication:12.1:*:*:*:*:*:*:*
veeamveeam_backup_\&_replication12cpe:2.3:a:veeam:veeam_backup_\&_replication:12:*:*:*:*:*:*:*

AI Score

6.6

Confidence

Low