# Veeam Agent Installation for RHEL 9.2

## <mark style="color:green;">Overview</mark> <a href="#introduction" id="introduction"></a>

This document is for installing the Veeam Backup Agent Linux on RHEL 9.2

## <mark style="color:green;">Procedure</mark> <a href="#guidance" id="guidance"></a>

* OS: RHEL 9.2, running kernel 5.14.0-362.13.1.el9\_3.x86\_64
* Veeam repository:  veeam-release-el9-1.0.8-1.x86\_64.rpm
* Veeam Agent: veeam-6.0.3.1221-1.el9.x86\_64
* Veeam blksnap module: blksnap-6.0.3.1221-1

{% tabs %}
{% tab title="1. Install with non-UEFI Secure" %}
**Step 1: Download Veeam repository:**

The Veeam repository for Linux can be found at [![](https://repository.veeam.com/favicon.ico)Index of /backup/linux/agent/rpm/el/9/x86\_64/](https://repository.veeam.com/backup/linux/agent/rpm/el/9/x86_64/) . On this page select "veeam-release-el9-1.0.8-1.x86\_64.rpm", “blksnap-6.0.3.1221-1.noarch.rpm”, “veeam-6.0.3.1221-1.el9.x86\_64.rpm“.

<div align="left"><figure><img src="/files/fgzc2ZyAplVCmyQoURqT" alt=""><figcaption></figcaption></figure></div>

**Step 2: Install Veeam and dependencies:**

* This will download an RPM file.  You will likely be unable to download this directly from this page to your Linux machine, as your server will likely not have a GUI or web browser.  To get around this, it is best to download the RPM to your workstation and then use WinSCP or MobaXterm to copy the RPM file to your server via SSH.
* Once the RPM is on your server, install it and its dependencies:

```
# sudo rpm -ivh veeam-release-el9-1.0.8-1.x86_64.rpm
# sudo subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
# sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# sudo yum install dkms perl kernel-modules-extra -y
# sudo rpm -ivh blksnap-6.0.3.1221-1.noarch.rpm
# sudo rpm -ivh veeam-6.0.3.1221-1.el9.x86_64.rpm
```

The modules bdevfilter and blksnap will be created in /lib/modules/$(uname -r)/extra

```
[root@rhel9 ~# ls /lib/modules/$(uname -r)/extra
bdevfilter.ko.xz  blksnap.ko.xz
```

We can confirm that this module has not loaded by running lsmod, and grepping for blksnap.  We will see that grep returns no output.

```
[root@rhel9 ~]# lsmod | grep blksnap
```

**Step 3: Insert modules bdevfilter and blksnap:**

We need to load the module into the currently running kernel using insmod:

```
[root@rhel9 ~]# sudo insmod /lib/modules/$(uname -r)/extra/bdevfilter.ko.xz
[root@rhel9 ~]# sudo insmod /lib/modules/$(uname -r)/extra/blksnap.ko.xz
[root@rhel9 ~]# lsmod | grep blksnap
blksnap               217088  0
bdevfilter             20480  1 blksnap
```

At this point, our agent-based backups will run fine; however, the loaded module will not persist if we reboot.  We must create a file called /etc/modules-load.d/bdevfilter.conf and/etc/modules-load.d/blksnap.conf , and make sure that it has the name of the kernel module.  We will also need to run depmod to add the loaded kernel module to the kernel module dependencies list.

```
[root@rhel9 ~]# sudo depmod
[root@rhel9 ~]# sudo echo bdevfilter > /etc/modules-load.d/bdevfilter.conf
[root@rhel9 ~]# sudo echo blksnap > /etc/modules-load.d/blksnap.conf
[root@rhel9 ~]# cat /etc/modules-load.d/bdevfilter.conf
bdevfilter
[root@rhel9 ~]# cat /etc/modules-load.d/blksnap.conf
blksnap
```

Once we reboot the RHEL server, the bdevfilter and blksnap module will automatically be loaded as a kernel module.

```
[root@rhel9 ~]# uptime && lsmod | grep blksnap
 17:43:06 up 18 min,  1 user,  load average: 0.00, 0.00, 0.00
blksnap               217088  0
bdevfilter             20480  1 blksnap
```

And our agent-based backups will now work correctly.
{% endtab %}

{% tab title="Second Tab" %}

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.higiocloud.vn/back-up-as-a-service/1.-hi-gio-baas/workaround/veeam-agent-installation-for-rhel-9.2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
