Veeam Backup Repository Design 🔥

  • 26 October 2020

Userlevel 7
Badge +6
  • On the path to Greatness

In another Topic, I wrote :pencil2: about designing a Proxy 

In This Topic will see about the repository design.

We need to consider 

  • The key recommendation is to follow the 3-2-1 rule.
  • Calculate 1 core and 4GB RAM per repository task slot. The recommended minimum for a repository is 2 cores and 8GB RAM.

Sizing  :nerd:

  • The recommended amount of CPU for a repository is 1 core per concurrent configured task slot on a repository server. Configure at minimum a 2 core and 8GB RAM repository server to allow the operating system to be more responsive.
  • When sizing task slots on a repository you have to understand when and how many task slots are consumed. Any write process will consume a task slot. So backing up 10 VMs in one job using per-job backup chains will only write one file (VBK/VIB) in the end - so it consumes one task slot.

  • Running the same backup job with per-VM backup files will create one file per VM and thus can leverage up to 10 tasks slots (when available).

  • Backup Copy Jobs, Agent Backups and Plugin Jobs do also consume task slots and should be considered.


A task at the repository level is consumed differently than tasks at the proxy level. If “per-VM backup files” is enabled on the repository, each concurrently processed VM will consume one repository task, while each virtual disk of this VM will consume one proxy task (typical ratio is 3 disks per VM)


If “per-VM backup files” is disabled, a single backup job will consume just one repository task regardless how many VMs are being processed by the job. But the number of consumed proxy tasks will stay the same (one task per each virtual disk).


Example  :wink:

If the core requirement for the proxy is 16 cores for the incremental, the cores for the repository will be 5 based on a 3:1 disk to VM ratio (rounded up). To calculate the RAM this is then multiplied by RAM requirement of 4GB per core which results in 20GB.

When your calculation result is a very small (virtual) server please consider additional resources for OS overhead (1 Core/4GB RAM additional should be enough). Normally sizings tend to be at minimum 4 Cores/16GB for virtual servers or physical servers with >10 Cores and 64GB of RAM where enough resources are available for the OS anyways.

What happens with ReFS? :thinking:

When using the Windows ReFS file system the recommendation is to add 0.5 GB RAM per TB of ReFS storage. However, you don’t have to scale this indefinitely. 128GB of RAM are often sufficient for task, OS and ReFS requirements if the total ReFS volume size of the server is below than ~200 TB. Depending on the ReFS size or task requirements you may want to add up more memory but there should be no need to go over 256 GB.


:point_right: I hope it is useful to you :hugging:




Be the first to comment!