Đây là tài liệu hướng dẫn cài đặt Veeam Backup Agent Linux trên CentOS 8 Stream
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ó.
Đ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ỏ.
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
.
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.
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.
Bướ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
:
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.
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.
Và 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:
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.
Đ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ỏ.
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.
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.
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:
Chúng ta sẽ nhận được thông báo như sau:
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
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.
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.
Và sau đó agent-based backups sẽ hoạt động chính xác.
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".