Advanced Linux File Level Restore including Cross Restore


Userlevel 6
Badge +3

What?

Mount the contents of the latest restore point of a Linux VM to the very same or another VM using the data integration API. 
Why

  • Linux admins can just browse the backup contents on the local system and restore the files they need (on the CLI 😉)
  • Advanced & complex restore scenarios
  • Cross-restore to another server (source server and target server can be different)

 

$machine = "esxrhel1"

$machine_dns = "esxrhel1.lab.local"
$machine_credentials = Get-VBRCredentials -Name "veeam" | ? { $_.Description.Contains("Veeam Linux Account") }

$rp = Get-VBRRestorePoint -Name $machine | Sort-Object -Property CreationTime | select -Last 1

$publishSession = Publish-VBRBackupContent -RestorePoint $rp -TargetServerName $machine_dns -TargetServerCredentials $machine_credentials -EnableFUSEProtocol -Reason "Test FUSE restore"

# Print info on session
$publishSession

#Unpublish-VBRBackupContent -Session $publishSession

As a result on the Linux system you’ll get loop mounts like these.

/dev/loop0 on /tmp/Veeam.Mount.FS.f9eb465a-b8e7-4ca1-8837-9e598507c973/esxrhel1_1-flat.vmdk_0 type xfs (rw,relatime,seclabel,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota)
/dev/loop1 on /tmp/Veeam.Mount.FS.f9eb465a-b8e7-4ca1-8837-9e598507c973/esxrhel1-flat.vmdk_0 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
/dev/loop2 on /tmp/Veeam.Mount.FS.f9eb465a-b8e7-4ca1-8837-9e598507c973/esxrhel1-flat.vmdk_1 type xfs (rw,relatime,seclabel,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota)
/dev/loop4 on /tmp/Veeam.Mount.FS.f9eb465a-b8e7-4ca1-8837-9e598507c973/rhel_esxrhel1-root type xfs (rw,relatime,seclabel,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota)

The Linux admin can easily browse e.g. /tmp/Veeam.Mount.FS.f9eb465a-b8e7-4ca1-8837-9e598507c973/rhel_esxrhel1-root for files to restore.


2 comments

Userlevel 7
Badge +8

Interesting Topic, i will try it. Do you need FUSE package on targeted system?

Do you have details around the network port requirements for this to function in an environment which has firewalling and segmentation in effect?

What are the requirements of the target host, if its a Linux server?

Comment