Performing File Level Recovery (FLR) with Veeam Kasten 8.0

Files - They’re Everywhere!

Files. They’re everywhere. There’s the X- ones, the Rockford ones, and the digital ones. For this blog, we’re going to be looking at the latter (apologies for getting the Gillian Anderson and David Duchovny fans excited).

Our files, often stored on a file system, are important - one could argue its one of the fundamental functions of computing. And with the introduction and rapid adoption of KubeVirt in Kubernetes, we are seeing more files, more data, and more “statefulness” stored in our clusters. And while files are great, mistakes can happen. Maybe we accidentally delete one or more of our files, maybe an evil villain gets ahold of our files and encrypts them, demanding a ransom to unlock our files (often, but not always in the payment of rare Pokemon cards, or alternatively, pogs). Or perhaps we accidentally make a change in a file that we’d like to revert.

Fortunately, there’s a whole suite of solutions that provide data protection for ensuring our data can be recovered, restored, or reverted when necessary. Although when we start limiting our scope to solutions that can do that for KubeVirt VMs and containers, there are fewer viable options from which we can select. Narrow it down even further to a solution that allows File-level Recovery (FLR) rather than a full disk or VM restore, and we’re down to a very small handful at most.

And why do we care? What’s wrong with just doing a full VM and disk restore to get my files back? While that will work and for small containerized workloads with relatively small disks for a relatively small number of files — that is in fact what many do for containerized applications — it’s not well suited for larger workloads. But when we consider larger disks with many files, such as is the case for VM workloads, restoring an entire disk just to recover a few files can be highly inefficient. This process consumes significant time and system resources and may also incur financial costs, especially in cloud environments where data retrieval (egress) fees apply.

Consider the scenario where we have accidentally permanently deleted our favorite cat picture from our VM, which we happen to be running in OpenShift Virtualization or SUSE Virtualization. We REALLY like that cat picture, as it keeps us motivated when we’re feeling blue and the system just seems to run better when the desktop background is set to it. We could request our administrator (or perhaps via self-service) to perform a full recovery of our VM to a state before our picture was deleted. But as it so happens, our VM’s disk holds more than just our single cat picture - it has things like a boot loader, an Operating System kernel, system files, applications, and perhaps terabytes of saved cat videos. Doing a full restore of our entire disk could take hours. And consider that not having the ability to recover our cat photo quickly could be devastating for our business (okay, maybe the metaphor got a little off the rails there at the end, but you get the idea), suddenly having File Level Recovery (FLR) becomes very imporant.

Fortunately (and you perhaps may have seen this coming), this week’s Veeam Kasten 8.0 release can do exactly that, as part of the expanded support for exporting to from Kasten to VBR. Previously this was only supported when using the vSphere CSI driver, but Kasten 8.0 now allows any block-mode capable CSI provisioner to send backups to VBR.

Let’s have a look at how we can leverage our existing backup infrastructure and tooling for our legacy VM workloads to help us recover our cat pictures stored on our KubeVirt VM quickly.

What Does This Look Like?

To start, we need to ensure we have a few components deployed:

  1. An OpenShift Virtualization or SUSE Virtualization cluster deployed
  2. Veeam Kasten 8.0 or later deployed to the cluster
  3. A Veeam Backup and Replication server deployed either virtually or on a physical host with a Backup Repository configured
  4. An separate object store or NFS location profile to store Kubernetes metadata

High-Level Architecture for Veeam Kasten and Veeam Backup & Replication

Enough Already, Let’s See It!

Hopping into the Veeam Kasten web interface, the first thing you may notice is our new Virtual Machines dashboard:

Virtual Machine Dashboard

This new dashboard enumerates all VMs deployed on our cluster and their status. We can also enable VM Freeze Guest, allowing Kasten to leverage qemu-guest-agent (if installed) to stun the VM during backup.

Much like protecting containerized workloads with Kasten, we can use the same workflow to configure backup policies for our VMs, but with an added benefit of being able to export our VM disk volumes to a Veeam Backup and Replication server:

Backup Policies

Also new in Kasten 8.0 is our updated Restore Point Catalog, which allows you to view, filter, restore to, or remove restore points for all of our VM and container workloads:

Restore Point Catalog

The restore point catalog is particularly useful for identifying any restore points that were created via a manual policy run where an expiration for our backup isn’t set. Note that today, you can perform a full restore of a VM or application from the Restore Point catalog, but what if we only need to recover our adorable cat picture?

For that, we can leverage the decades of experience Veeam has within the Veeam Data Platform, including file level restore. All we need to do is simply navigate to a workstation that has the VBR console installed and connect to our VBR Server. From here, we can view all of our Kasten VM volumes that are backed up, and we can right click on our disk, and select Restore guest files > Linux and other…

File Level Restore in VBR

Following the Veeam wizard, we can choose our original VM (vm02 in this example) as a helper host, which will use our source VM to mount its volume from a previous restore point:

VBR Helper Host

From here, we can either use the in-built VBR file browser and copy files off to another location:

Veeam File Browser

Or alternatively, we can SSH to our vm02 host and just copy the files we wish to restore directly on the host:

Restore Files from Source Host

And There’s More

File-level recovery for VMs, Restore Point Catalog, and Virtual Machine Dashboard are only a subset of new features introduced in our Veeam Kasten 8.0 release. To learn more, be sure to check out the official announcement blog, which has more details, a demonstration video, and an interactive demo.

And fear not for your cat photos — or your other data — and rest assured your rare Pokemon or pog collection won’t have to be used to pay off a ransom thanks to the protection of Veeam Kasten.

Performing File Level Recovery (FLR) with Veeam Kasten 8.0
Older post

VMware KubeVirt Migration Using Forklift

In this blog post, I discuss about migrating virtual machines from VMware to a Kubernetes cluster running KubeVirt using Forklift tool

Newer post

Granular Table Restore with Kasten K10

When it comes to database backup and recovery, the ability to perform granular restores is essential. This post demonstrates how to leverage Kasten K10 to implement PostgreSQL granular table restores using custom Kanister blueprints and volume cloning techniques.

Performing File Level Recovery (FLR) with Veeam Kasten 8.0