Cài đặt Veeam Agent cho CentOS 8 Stream
Tổng quan
Đây là tài liệu hướng dẫn cài đặt Veeam Backup Agent Linux trên CentOS 8 Stream
Quy trình
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
Bước 1: Tải Veeam repository:
Veeam repository cho Linux có thể tìm thấy tại Index of /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".

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ớikmod-veeamsnapvà 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.koTừ đâ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.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
lsmodvà tìm kiếmVeeam. Bạn sẽ thấy rằng lệnhgreptrả về 0 dòng đầu ra.
[root@centos8 ~]# lsmod | grep veeam -c 
0May mắn thay, sự khác biệt giữa các phiên bản kernel này là đủ nhỏ để tệp
veeamsnap.kovẫ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.koBước 3: Insert module veeamsnap:
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.
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  0Và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
veeamsnapBâ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  0Và sau đó agent-based backups của chúng ta sẽ hoạt động chính xác.
Bước 1: Tải về Veeam repository:
Veeam repository for Linux có thể tìm thấy tại Index of /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".

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.koTừ đó, 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
0May 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.koBướ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 -yChú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.

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
Ở bước đầu tiên của trình hướng dẫn, chọn Enroll MOK và nhấn [Enter].

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

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

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

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  0Tạ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
veeamsnapBâ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  0Và sau đó agent-based backups sẽ hoạt động chính xác.
Last updated

