# Recommended Settings

## Veeam Version

The minimum version is Veeam 11a CP4 (11.0.1.126120220302,) which brings a crucial fix when using Object Lock. It is highly recommended that you always use the most recent version provided by Veeam, as they regularly update their software for more efficient data handling.

## Object Storage

In May 2024, we started to introduce regions with contract-owned buckets, providing enhanced performance and resilience. Contract-owned buckets are available in the `eu-central-3` region or in the `us-central-1` region. This new bucket type creates an easier opportunity for user management, since the bucket list is visible for all users of the contract, and the contract owner or administrators can assign permissions to view bucket contents. For more information, see [<mark style="color:blue;">Bucket Types</mark>](https://docs.ionos.com/sections-test/guides/storage-and-backup/ionos-object-storage/s3-tools/veeam-backup-and-replication/recommended-settings) and [<mark style="color:blue;">Endpoints</mark>](https://docs.ionos.com/sections-test/guides/storage-and-backup/ionos-object-storage/endpoints).

## Limit concurrent tasks

* This setting is available during the addition of the new Object Storage repository. For more information, see **Configure repository details** in [<mark style="color:blue;">Create Object Storage as an object repository in Veeam</mark>](https://docs.ionos.com/sections-test/guides/storage-and-backup/ionos-object-storage/s3-tools/add-backup-repository#create-object-storage-as-an-object-repository-in-veeam).
* You can also update the concurrent tasks limit for an existing Object Storage repository by following these steps:
  * Go to the **Backup Infrastructure** tab.
  * Click **Backup Repositories**.
  * Right-click on your Object Storage repository and choose **Properties**.
  * Select the **Limit concurrent tasks to** checkbox and set the value to **15**.

## Adjust the block size in the storage optimization settings

Veeam Backup & Replication allows you to configure block sizes for each backup job, which can significantly impact deduplication efficiency and incremental backup size. By default, blocks are compressed, typically achieving a compression ratio of about 50%.

* Smaller blocks can enhance deduplication; they increase the number of calls to the object storage, potentially affecting performance.
* Larger blocks reduce the number of storage calls and can increase throughput to and from <code class="expression">space.vars.ionos\_cloud\_object\_storage</code>, improving overall backup performance.

A minimum of 4 MB per block is recommended, as this significantly limits the number of stored objects on the target bucket.

{% hint style="info" %}
**Note:** Changing the block size on an existing backup job will create a new full backup during the next execution of the job.
{% endhint %}

### Enable 8 MB blocks

For optimal performance with <code class="expression">space.vars.ionos\_cloud\_object\_storage</code>, we recommend using 8 MB blocks. These blocks are unavailable in the interface by default and must be enabled via a registry key by following these steps:

1\. Open the Registry Editor.

2\. Navigate to `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication`.

3\. Add a new DWORD (32-bit) value named `UIShowLegacyBlockSize`.

4\. Set the value of `UIShowLegacyBlockSize` to 1.

{% hint style="success" %}
**Result:** The 8 MB blocks are now available in the Veeam interface.
{% endhint %}

### Change the storage optimization setting

To change the storage optimization setting, follow these steps:

1\. Click the **Backup** section under **Jobs**.

2\. Select the required backup job, right-click on it, and choose **Edit** in the menu.

3\. Click **Storage** > **Advanced** and change the tab to **Storage**.

4\. In the **Storage optimization** drop-down list, choose 8 MB marked as "not recommended”. Disregard this mark as it is the correct choice. This option must be there if you modify the registry setting as described in the previous section. Do not use a block size less than 4 MB.

5\. Click **Save as default** at the bottom of the **Advanced Settings** screen.

{% hint style="success" %}
**Result:** The new storage configuration is saved as the default setting. This will ensure the settings are automatically used for any new backup jobs created.
{% endhint %}

![Storage optimization setting](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-b0c0278f541d58a541e80e7e6fd437f373e7e496%2Fs3-veeam-storage-optimization.png?alt=media)

## Set the immutability retention period

The immutability retention period of the Object Storage Repository must be less or equal to the backup retention period of the backup job.

To check the immutability retention period, follow these steps:

1\. Go to the **Backup Infrastructure** tab.

2\. Click **Backup Repositories**.

3\. Right-click **Object Storage Repository** and choose **Properties**.

4\. Click **Next** upon seeing the **Name** setting and **Account** setting.

5\. Set the number to 30 to **Make recent** backups immutable for setting.

![Immutable retention period](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-e9db87b402a4bb7e4d7d0c57eab04f3c0dda709c%2Fs3-veeam-immutability-retention-period.png?alt=media)

{% hint style="success" %}
**Result:** The immutable retention period is successfully set.
{% endhint %}

## Check the backup retention period

To check the backup retention period, follow these steps:

1\. Click the **Backup** section under **Jobs**.

2\. Select the required backup job, right-click on it, and choose **Edit** in the menu. You will see the **Job Mode** screen.

3\. Click **Storage** in the left menu and check the number in the **Retention policy** setting.

{% hint style="info" %}
**Note:** The immutability retention period from the previous check (30) is lower than the retention policy listed here (31), and this is the correct setting.
{% endhint %}

![Backup retention period](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-3469beaddecf58b64f35f89814147a2f67e1e250%2Fs3-veeam-backup-retention-period.png?alt=media)

## Limit the number of objects per bucket

To comply with the maximum number of objects per bucket, efficiently plan the layout of backup jobs and targets in the environment before storing the first object on the <code class="expression">space.vars.ionos\_cloud\_object\_storage</code>.

Based on the production workload, the expected change rate, the retention policy of the backup job and its schedule, and the number of objects per bucket can be estimated by using this formula:

`Disk data usage in GB of every VM in the job * 1024 / block size used = number of object written to bucket`.

### Example

For a job with 20 Virtual Machines (VMs), each having a 100 GB disk which is used by 50% and a 4 MB block size configure in the jobs storage settings, this will result in:

**20 \* 100 GB** \* **0,5 \* 1024 / 4** = **256.000 objects**

`20 * 100 GB * 0,5 * 1024 / 4 = 256.000 objects`

The actual data can be taken from the jobs statistics:

![Backup job statistics](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-db1e0146e93fc9c56ce49cede75becb841490834%2Fobject-storage-veeam-backup-jobs-statistics.png?alt=media)

With a change rate of 10% per day, a job schedule of one time per day and a retention of 30 days, this will result in

`20 * 100 GB * 0,5 * 0,1 * 1024 / 4 = 25.600 objects added per day and a total amount of`

`256.000 + 29 * 25.600 = 998.400 objects after 30 days`.

If the estimated number of objects is expected to exceed the limits per bucket, it is advised to create multiple buckets and split the workloads across multiple backup jobs.

For Veeam Scale-out Backup Repositories, multiple buckets can be added to the capacity tier.

{% hint style="info" %}
\*\*Note:\*\* Adding buckets after backups have been written to the \`SOBR\` does not rebalance data across the configured buckets. Only new workloads added to the backup job are written to the new buckets.
{% endhint %}

To ensure that buckets are not overloaded, the capacity can be limited in the **Object Storage Repository** settings in the backup repository.

![Backup Repository settings](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-a1cf04e4224b5d7c012b4656a48b18948cd9b1b4%2Fobject-storage-veeam-backup-repository-settings.png?alt=media)

When the backup size estimated by the formulas provided exceeds the IONOS limits for a single bucket, you must add multiple buckets to the [<mark style="color:blue;">SOBR</mark>](https://docs.ionos.com/cloud/support/general-information/glossary-of-terms#sobr) capacity tier and set their capacity limits accordingly.

{% hint style="info" %}
\*\*Note:\*\* Veeam also provides a feature to auto-create buckets as needed. However, the policy for creating a new bucket is not granular enough to set a maximum capacity, making estimation very difficult. Bucket auto-creation is not supported for capacity tier buckets with S3-compatible storage, as data is stored in the master bucket only.
{% endhint %}
