Shares

Veeam Backup and Replication 9.5 has been released since some time. Veeam even released new ISO which includes the latest unannounced feature – Integrated Updates. From now on, you no longer have to download and install the latest update separately – it is included on the ISO and is installed automatically as a part of the product installation.

This post will focus on Microsoft Resilient File System (ReFS) as Veeam's ReFS integration which allows not only time saving, but also space savings.

Update: Veeam 9.5 U2 ISO is available.

We wrote about Veeam and ReFS in detail in our post here – Veeam 9.5 and Microsoft ReFS – Win Win for a Virtualization Admins, but this was before the release of ReFS and before Veeam 9.5 release. Since then we have seen few gotchas (recently resolved by Microsoft with the latest March 2017 patches) and we'll talk about that as well and few guides on how exactly the ReFS volume shall be created and how Veeam's backup jobs shall be configured to take a full advantage for best performance.

ReFS were released as version 3.0 as part of Windows Server 2016 and allow you to build-out files using storage pointers. Today, when using NTFS repository and when Veeam creates a synthetic full backup, it has to copy bits around to create a new synthetic full backup file with incrementals merged into this. With ReFS as a backup repository, things are different as Veeam is able to leverage APIs provided by Microsoft and only change pointers referencing to actual data, without moving any bits around.

Best Practice Veeam and ReFS Volumes?

While Microsoft currently recommends formatting ReFS volumes with the default 4k clusters, Veeam on the other hand, recommends using 64K cluster size. Why that difference? It's because Veeam has some field experience already from their internal environments, and also from their client's environments, because yes, when there are problems, Veeam is first one to know….

While going for 64K cluster size will consume 5-10% of space but you'll have more backup performance and you'll be safer. Luca Dell'Oca has some more info on the space consumption if you want to have a look.

So, without hesitating, Go 64K and you'll be fine.

Windows ReFS Volume creation

When creating ReFS volume, it is important to choose 64K as allocation unit size as picking up the default 4k brought problems with memory usage (apparently resolved with the latest Microsoft March 2017 patches pack, but still apparently breaking another feature….. Hyper-V backup.). With the latest Microsoft patches there is a fix for that, but needs not only apply the fix, but also to specify some values in registry keys.

So to be safe, or much safer than the volumes formatted 4k, pick the 64k allocation unit size. On Microsoft Windows 2016 server, After launching the volume creation wizard, simply change the Allocation unit size from default to 64K.

Now, you might come to an environment already on ReFS. Through the Microsoft Disk Managment console, you can't see which block size the volume has been formatted. How do you check if the volume has 64K cluster size?

Command Line window to the rescue

We have two commands which we'll need to show some information about a particular volume and the file system.

fsutil fsinfo /?

This shows us the possibilities.

So if our volume is on the D: we can easily type:

fsutil fsinfo D:

to get this. We can see that the volume is a ReFS volume, that it supports Integrity Streams (Microsoft built-in function for scrubbing).It is a built in scanner which is used for auto-healing. This proactively running scanner called scrubber which scans the volume for errors periodically in a background and allows proactively monitor the volume for errors and correct them.

Another command which will show details about the particular ReFS volume.

so in our case, I type:

fsutil fsinfo refsinfo D:

to see this. The information which interests us is the “Bytes per cluster”.

We can see also other useful information, such as ReFS version or serial number of the volume.

Which settings for a backup Job?

The advanced setting of a job shows the option Create synthetic full backup periodically. This option allows significantly faster synthetic full backup creation and transformation performance, with also reducing storage pressure on the production infrastructure.

Leave the Storage-Level corruption guard ON

Even if Microsoft has its own scrubber and healing system which I mentioned above, Veeam also has a corruption check option. It's recommended to leave it ON as it is selected by default. You can find this option in the advanced settings of a job, on the Maintenance TAB.

You can check Michael White's post where he's showing what you should see in the job's history. “Synthetic full backup created successfully [fast clone]“…..

Fast Cloning Technology benefits

As I mentioned at the beginning of the post, the ReFS and Veeam integration allow Veeam to use fast cloning capability within the ReFS API for synthetic backup creation without moving the data blocks between files.

With this in mind, there is significant speed gain as the process only references the backup file blocks which are already present on the ReFS volume. As such, the file changes associated with synthetic full backups are only updating the metadata. There is no I/O movements.

Wrap Up:

It is always good not to jump on the upgrade wagon straight away. This is valuable for every IT environment. Whether you're running VMware, Microsoft, Veeam or other. After few months miracle, products are working as announced, bugs are ironed. It has been a pain since few releases of VMware environments not behaving as it should from day1. Fortunately, vendors like Veeam reacting fast by helping with personalized patches or workarounds. Veeam's forums are one of the best when it comes to finding a solution to your problem.

More posts about Veeam on ESX Virtualization

More general VMware posts from ESX Virtualization:

Stay tuned through RSS, and social media channels (Twitter, FB, YouTube)

Shares