# Cài đặt Veeam Agent cho CentOS 8 Stream

## <mark style="color:green;">**Tổng quan**</mark> <a href="#introduction" id="introduction"></a>

Đây là tài liệu hướng dẫn cài đặt Veeam Backup Agent Linux trên CentOS 8 Stream

## <mark style="color:green;">Quy trình</mark> <a href="#id-2.-guidance" id="id-2.-guidance"></a>

* OS: CentOS is 8 Stream, running kernel 4.18.0-500.el8.x86\_64
* Veeam repository:  veeam-release-el8-1.0.8-1.x86\_64.rpm
* Veeam Agent: veeam-6.0.3.1221-1.el8.x86\_64

{% tabs %}
{% tab title="1. Cài đặt với non-UEFI Secure" %}

**Bước 1: Tải Veeam repository:**

Veeam repository cho Linux có thể tìm thấy tại [![](https://repository.veeam.com/favicon.ico)Index of /backup/linux/agent/rpm/el/8/x86\_64/](https://repository.veeam.com/backup/linux/agent/rpm/el/8/x86_64/) . Trên trang này, chọn "veeam-release-el8-1.0.8-1.x86\_64.rpm".

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

**Bước 2: Cài đặt Veeam:**

* Điều này sẽ tải xuống một tệp RPM. Có thể bạn sẽ không thể tải tệp này trực tiếp từ trang này về máy Linux của mình, vì máy chủ của bạn có thể không có GUI và trình duyệt web. Để khắc phục điều này, tốt nhất là tải tệp RPM về máy tính của bạn, sau đó sử dụng WinSCP hoặc MobaXterm để sao chép tệp RPM vào máy chủ qua SSH.
* Khi tệp RPM đã có trên máy chủ, hãy cài đặt nó.

```
# dnf clean all
# rpm -hi veeam-release-el8-1.0.8-1.x86_64.rpm
# dnf install -y veeam
```

* Điều này sẽ cài đặt các gói yêu cầu cho Veeam agent, bao gồm gói `kmod-veeamsnap`; tuy nhiên, bạn sẽ nhận thấy vẫn có vấn đề với module kernel của Linux cho veeamsnap. Nếu chúng ta kiểm tra các tệp đã cài đặt với `kmod-veeamsnap` và so sánh với phiên bản kernel hiện tại, chúng ta có thể thấy rằng module kernel chưa được cài đặt cho phiên bản của chúng ta. Sự khác biệt này rất nhỏ.

```
[root@centos8 ~]# uname -r
4.18.0-500.el8.x86_64

[root@centos8 ~]# dnf download kmod-veeamsnap
Last metadata expiration check: 0:32:53 ago on Mon 07 Aug 2023 04:10:27 PM +07.
kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm

[root@centos8 ~]# rpm -qlp kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm | grep ko$
/lib/modules/4.18.0-147.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-193.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-240.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-305.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-348.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-372.9.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.10.1.el8_7.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.3.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-477.10.1.el8_8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-80.el8.x86_64/extra/veeamsnap.ko
```

* Từ đây, chúng ta có thể thấy rằng module kernel đã được cài đặt cho `4.18.0-`**`477`**`.10.1.el8_7.x86_64`, nhưng kernel hiện tại của chúng ta là `4.18.0-`**`500`**`.el8.x86_64`. &#x20;
* Nếu thiếu module kernel này, các sao lưu dựa trên agent của Veeam sẽ không thành công
* Chúng ta có thể xác nhận rằng module này chưa được tải bằng cách chạy `lsmod` và tìm kiếm `Veeam`. Bạn sẽ thấy rằng lệnh `grep` trả về 0 dòng đầu ra.

```
[root@centos8 ~]# lsmod | grep veeam -c 
0
```

* May mắn thay, sự khác biệt giữa các phiên bản kernel này là đủ nhỏ để tệp `veeamsnap.ko` vẫn có thể hoạt động với chúng ta.
* Trước tiên, chúng ta phải tạo thư mục `/extra/` cho phiên bản kernel của mình, sau đó sao chép module kernel vào thư mục này.

```
[root@centos8 ~]# mkdir -p /lib/modules/$(uname -r)/extra
[root@centos8 ~]# cp /lib/modules/4.18.0-477.10.1.el8_7.x86_64/extra/veeamsnap.ko /lib/modules/$(uname -r)/extra/.
[root@centos8 ~]# ls /lib/modules/$(uname -r)/extra
veeamsnap.ko
```

**Bước 3: Insert module veeamsnap:**

{% hint style="warning" %}
**Quan trọng:** Nếu máy chủ khởi động với Secure Boot, chúng ta không thể chèn module → Phải chạy bước 3 về Secure Boot dưới đây trước.
{% endhint %}

Chúng ta cần tải module vào kernel đang chạy hiện tại bằng cách sử dụng `insmod`:

```
[root@centos8 ~]# insmod /lib/modules/$(uname -r)/extra/veeamsnap.ko
[root@centos8 ~]# lsmod | grep veeam
veeamsnap             225280  0
```

Vào thời điểm này, các sao lưu dựa trên agent của chúng ta sẽ chạy bình thường; tuy nhiên, module đã tải sẽ không tồn tại nếu chúng ta khởi động lại. Chúng ta cần tạo một tệp có tên `/etc/modules-load.d/veeam.conf`, và đảm bảo rằng nó có tên của module kernel trong đó. Chúng ta cũng cần chạy `depmod` để thêm module kernel đã tải vào danh sách phụ thuộc module kernel.

```
[root@centos8 ~]# depmod
[root@centos8 ~]# echo veeamsnap > /etc/modules-load.d/veeam.conf
[root@centos8 ~]# cat /etc/modules-load.d/veeam.conf
veeamsnap
```

Bây giờ, khi chúng ta khởi động lại máy chủ CentOS, module `veeamsnap` sẽ tự động được tải dưới dạng một kernel module.

```
[root@centos8 ~]# uptime && lsmod | grep veeam
 14:55:59 up 0 min,  1 user,  load average: 0.00, 0.00, 0.00
veeamsnap             225280  0
```

Và sau đó agent-based backups của chúng ta sẽ hoạt động chính xác.
{% endtab %}

{% tab title="2. Cài đặt với Secure Boot" %}
**Bước 1: Tải về Veeam repository:**

Veeam repository for Linux có thể tìm thấy tại [![](https://repository.veeam.com/favicon.ico)Index of /backup/linux/agent/rpm/el/8/x86\_64/](https://repository.veeam.com/backup/linux/agent/rpm/el/8/x86_64/) . Trên trang này, chọn "veeam-release-el8-1.0.8-1.x86\_64.rpm".

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

**Bước 2: Cài đặt Veeam:**

* Điều này sẽ tải về một tệp RPM. Có thể bạn sẽ không thể tải trực tiếp tệp này từ trang web vào máy Linux của mình, vì máy chủ của bạn có thể không có GUI và trình duyệt web. Để giải quyết vấn đề này, tốt nhất bạn nên tải tệp RPM về máy tính của mình, sau đó sử dụng WinSCP hoặc MobaXterm để sao chép tệp RPM vào máy chủ qua SSH.
* Sau khi tệp RPM có mặt trên máy chủ, tiến hành cài đặt.

```
# dnf clean all
# rpm -hi veeam-release-el8-1.0.8-1.x86_64.rpm
# dnf install -y veeam
```

* Điều này sẽ cài đặt các gói yêu cầu cho Veeam agent, bao gồm gói kmod-veeamsnap; tuy nhiên, bạn sẽ nhận thấy rằng vẫn còn vấn đề với mô-đun nhân Linux cho veeamsnap. Nếu chúng ta kiểm tra các tệp đã cài đặt với kmod-veeamsnap và so sánh với phiên bản nhân hiện tại của chúng ta, chúng ta có thể thấy rằng mô-đun nhân không được cài cho phiên bản của chúng ta. Sự khác biệt là rất nhỏ.

```
[root@centos8 ~]# uname -r
4.18.0-500.el8.x86_64

[root@centos8 ~]# dnf download kmod-veeamsnap
Last metadata expiration check: 0:32:53 ago on Mon 07 Aug 2023 04:10:27 PM +07.
kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm

[root@centos8 ~]# rpm -qlp kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm | grep ko$
/lib/modules/4.18.0-147.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-193.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-240.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-305.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-348.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-372.9.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.10.1.el8_7.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.3.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-477.10.1.el8_8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-80.el8.x86_64/extra/veeamsnap.ko
```

* Từ đó, chúng ta có thể thấy rằng mô-đun nhân đã được cài cho phiên bản 4.18.0-**477**.10.1.el8\_7.x86\_64, nhưng phiên bản nhân hiện tại của chúng ta là 4.18.0-**500**.el8.x86\_64.
* Nếu không có mô-đun nhân này, các bản sao lưu Veeam dựa trên agent của chúng ta sẽ không thành công.
* Chúng ta có thể xác nhận rằng mô-đun này chưa được tải bằng cách chạy lsmod và grepping cho Veeam. Chúng ta sẽ thấy grep trả về 0 dòng đầu ra.

```
[root@centos8 ~]# lsmod | grep veeam -c
0
```

* May mắn thay, sự khác biệt giữa các phiên bản nhân này là đủ nhỏ để tệp veeamsnap.ko vẫn có thể hoạt động với chúng ta.
* Đầu tiên, chúng ta cần tạo thư mục /extra/ cho phiên bản nhân của mình, sau đó sao chép mô-đun kernal vào thư mục này.

```
[root@centos8 ~]# mkdir -p /lib/modules/$(uname -r)/extra
[root@centos8 ~]# cp /lib/modules/4.18.0-477.10.1.el8_7.x86_64/extra/veeamsnap.ko /lib/modules/$(uname -r)/extra/.
[root@centos8 ~]# ls /lib/modules/$(uname -r)/extra
veeamsnap.ko
```

**Bước 3: Enrolling Veeam Kernel Module Key:**

Cài đặt gói chứa khóa công khai cho mô-đun Veeam kernel đã xây dựng trước đó bằng lệnh sau:

```
# dnf install veeamsnap-ueficert -y
```

Chúng ta sẽ nhận được thông báo như sau:

```
Certificate /etc/uefi/certs/veeamsnap-ueficert.crt has been imported successfully, please reboot this computer to enroll it into the UEFI database.
```

Khởi động lại máy tính để đăng ký khóa công khai Veeam vào cơ sở dữ liệu UEFI.

Trong quá trình khởi động lại, khi được nhắc, nhấn bất kỳ phím nào để thực hiện quản lý MOK.

<figure><img src="/files/ZozipjlrsQsOWFDrIrSv" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Quan trọng:** Lời nhắc sẽ hết thời gian sau 10 giây. Nếu bạn không nhấn bất kỳ phím nào, hệ thống sẽ tiếp tục khởi động mà không đăng ký khóa. Nếu bạn không đăng ký khóa khi khởi động lại, bạn sẽ phải cấu hình lại khóa bằng cách cài lại gói ueficert và khởi động lại
{% endhint %}

Ở bước đầu tiên của trình hướng dẫn, chọn **Enroll MOK** và nhấn \[Enter].

<figure><img src="/files/ow5WkUzxpX5Ll5bWtlxS" alt=""><figcaption></figcaption></figure>

Ở bước **Enroll the key(s)**, chọn **Yes** và nhấn \[Enter].

<figure><img src="/files/Ree8MF2iGsZMFDffWuaW" alt=""><figcaption></figcaption></figure>

Cung cấp mật khẩu cho tài khoản root và nhấn \[Enter].

<figure><img src="/files/vpfMluj3A2eKjbDodJjZ" alt=""><figcaption></figcaption></figure>

Ở bước cuối cùng, chọn **Reboot** và nhấn \[Enter].

<figure><img src="/files/vVJNTdcGucDuleRIuCW3" alt=""><figcaption></figcaption></figure>

**Bước 4: Insert module veeamsnap:**

Chúng ta cần tải mô-đun vào kernel hệ thống hiện tại bằng lệnh insmod

```
[root@centos8 ~]# insmod /lib/modules/$(uname -r)/extra/veeamsnap.ko
[root@centos8 ~]# lsmod | grep veeam
veeamsnap             225280  0
```

Tại thời điểm này, các bản sao lưu dựa trên agent của chúng ta sẽ chạy tốt; tuy nhiên, mô-đun đã tải sẽ không tồn tại nếu chúng ta khởi động lại. Chúng ta sẽ cần tạo một tệp có tên /etc/modules-load.d/veeam.conf và đảm bảo rằng nó chứa tên mô-đun kernel. Chúng ta cũng sẽ cần chạy depmod để thêm mô-đun kernel đã tải vào danh sách các phụ thuộc mô-đun kernel.

```
[root@centos8 ~]# depmod
[root@centos8 ~]# echo veeamsnap > /etc/modules-load.d/veeam.conf
[root@centos8 ~]# cat /etc/modules-load.d/veeam.conf
veeamsnap
```

Bây giờ, một khi chúng ta khởi động lại máy chủ CentOS, mô-đun veeamsnap sẽ tự động được tải như một mô-đun kernel.

```
[root@centos8 ~]# uptime && lsmod | grep veeam
 14:55:59 up 0 min,  1 user,  load average: 0.00, 0.00, 0.00
veeamsnap             225280  0
```

Và sau đó agent-based backups sẽ hoạt động chính xác.
{% 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/hi-gio-user-guide-vn/back-up-as-a-service/1.-hi-gio-baas/workaround/cai-dat-veeam-agent-cho-centos-8-stream.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.
