How to set up repository servers for success
A repository server is a storage location for your backups, so setting them up right the first time will ensure that you have the best performance. When creating a repository, it is always a good idea to follow the Veeam Backup & Replication best practices:
https://bp.veeam.com/vbr/VBP/2_Design_Structures/D_Veeam_Components/D_backup_repositories/.
The following are some things to consider when setting up a repository:
- ReFS/XFS: With Windows 2019/2022, ensure you format your repository drive(s) as ReFS with 64k block sizing to take advantage of space savings for synthetic full and GFS. For Linux, you need to set up XFS and Reflink to take advantage of space-saving and Fast Cloning. In both of these situations, storage efficiency will be realized for synthetic full backups. This efficiency prevents duplication but is not deduplication.
- Sizing: Ensure that you adhere to the Veeam Backup & Replication recommendation of 1 core and 4 GB of RAM per repository task. Just like proxy servers, your repository servers have task limits as well. At a minimum, you need two cores and 8 GB of RAM.
When you calculate the sizing requirements, you need to take into account your proxy servers and the amount of CPU that's been configured; you then need to use a 3:1 ratio for the core count on a repository server.
Example: Your proxy server gets configured with 8 CPUs; you need to configure the repository server with 2 CPUs based on this rule of 3:1. To configure the RAM, you must multiply the CPU count by four to end up with 8 GB of RAM.
When you use the Windows ReFS filesystem as your repository, you also need to consider the overhead that's required for the filesystem and add another 0.5 GB of RAM per terabyte of ReFS.
Setting up your task limits for a repository server is different than a proxy server due to the way tasks are consumed. The setting you have chosen will be handled differently:
- Per-VM Backup Files: When selected, this creates a backup chain per VM located in a job. Therefore, if the backup job has 10 virtual machines, it will consume 10 repository tasks and 10 proxy tasks.
- No Per-VM Selection: The backup job consumes one repository task, and the proxy task will remain the same with one task per virtual disk.
Note
To find out more about task limits, go to https://helpcenter.veeam.com/docs/backup/vsphere/limiting_tasks.html?ver=110.
When you're setting up a repository for the first time, you can set the task limit:
Important Note
When you limit the number of tasks per repository and have jobs with many virtual machines requiring backups, this will be one of the bottlenecks in your environment. You also need to ensure that you do not set the limit too high as that could overwhelm your storage, causing performance degradation. Make sure that you test all your components and the resources that are available for your backup infrastructure.
After completing this section, you should be able to choose which type of filesystem you wish to use for your repository and size it correctly based on your CPU and RAM. We also discussed the per-VM versus no per-VM methods. Now, we will use this knowledge to tie this into creating a scale-out backup repository.