Trong thế giới của các phòng thí nghiệm tại nhà (home lab) đầy tính thử nghiệm, việc bảo vệ dữ liệu ảo khỏi những rủi ro của các dự án luôn là ưu tiên hàng đầu. Để giảm thiểu nguy cơ mất mát tài liệu do một thử nghiệm thất bại, tôi đã cẩn thận ghi lại kiến trúc mạng của mình trong một instance NetBox và lưu trữ các ghi chú chi tiết về dự án home lab trong một container TriliumNext Notes, cả hai dịch vụ này đều chạy trên một máy riêng biệt.
Bên cạnh các container tài liệu và trình theo dõi thời gian hoạt động, tôi còn thực hiện sao lưu định kỳ cho máy chủ Proxmox home lab của mình. Nhờ tiện ích Proxmox Backup Server (PBS), tôi có thể dễ dàng lên lịch sao lưu thường xuyên cho kho máy ảo (VM) và container (LXC) của mình. Vì tôi vận hành một máy chủ TrueNAS Scale 24/7, tôi muốn gửi các tệp sao lưu từ instance PBS của mình đến NAS này. Mặc dù đây không phải là một công việc dễ dàng, nhưng nó hoạt động khá tốt với thiết lập hiện tại của tôi. Bài viết này sẽ phác thảo quy trình tổng thể để bạn có thể tự thiết lập hệ thống sao lưu Proxmox hiệu quả.
Lựa chọn cấu hình tối ưu để sao lưu Proxmox của tôi
Cuối cùng, tôi đã quyết định chạy PBS trên Proxmox
Như với mọi dự án home lab, có nhiều cách để tạo cấu hình sao lưu cho Proxmox. Tuy nhiên, sau khi dành cả một ngày để thực hiện các lệnh terminal và tìm kiếm trên nhiều diễn đàn, tôi đã quyết định từ bỏ kế hoạch ban đầu là liên kết instance Proxmox Backup Server (PBS) cài đặt trực tiếp trên phần cứng (bare-metal) với hệ thống TrueNAS Scale chuyên dụng của mình.
Thoạt nhìn, việc cài đặt PBS trực tiếp trên một thiết bị có vẻ hợp lý nhất, vì ảo hóa nó trên máy trạm Proxmox có thể dẫn đến việc các bản sao lưu VM và LXC của tôi không thể phục hồi được trong trường hợp các thử nghiệm làm cho nút PVE của tôi ngừng hoạt động. Hơn nữa, tôi đã sử dụng NAS Aiffro K100 của mình làm Proxmox Backup Server trong vài tháng qua, vì vậy một instance PBS ảo hóa sẽ chỉ chiếm không gian không cần thiết trên nút Proxmox của tôi.
Vì tôi đang có kế hoạch lưu trữ tất cả các tệp của mình trên một NFS share chạy trên một máy TrueNAS Scale bare-metal, tôi không phải lo lắng về việc mất các bản sao lưu và ảnh chụp nhanh của mình. Quy trình tôi đã thực hiện bao gồm cài đặt PBS như một gói trên Proxmox, thay vì chạy nó như một VM chiếm thêm vài gigabyte dung lượng đĩa local-lvm của tôi. Thậm chí tốt hơn, nếu vì lý do nào đó mà nút Proxmox của tôi trở nên hoàn toàn không thể phục hồi, tôi chỉ cần cài đặt lại PVE trên máy chủ của mình, làm theo hướng dẫn này để cài đặt PBS, và liên kết nó với NFS share TrueNAS Scale để truy cập các bản sao lưu mới nhất.
Một lý do khác để lựa chọn thiết lập này là quyền NFS share cực kỳ khó cấu hình. Để hình dung, tôi đã dành nửa ngày để liên kết Proxmox Backup Server bare-metal và các instance TrueNAS Scale của mình, nhưng cuối cùng lại gặp một mớ hỗn độn các vấn đề về đặc quyền khi chụp ảnh màn hình cho bài viết này.
Giao diện bảng điều khiển lưu trữ (Storage Dashboard) trên TrueNAS Scale hiển thị các ổ đĩa và nhóm lưu trữ đang hoạt động, minh họa cách quản lý không gian lưu trữ cho các bản sao lưu Proxmox qua NFS.
Cấu hình NFS share trên TrueNAS Scale
Và kết nối nó với máy chủ Proxmox của tôi
Sau khi đã trình bày phần lý thuyết, giờ là lúc đi sâu vào khía cạnh thực tế của dự án này. Để tránh trộn lẫn các tệp PBS của tôi với phần còn lại của phương tiện được lưu trữ trên NAS, tôi đã tạo một Dataset mới cho NFS share. Sau khi hoàn tất, tôi chuyển sang tab Shares và chọn đường dẫn Dataset này trong trình hướng dẫn tạo NFS.
Vì các quyền NFS có thể gây ra nhiều rắc rối khi khắc phục sự cố, tôi đã gán quyền root cho Maproot User và cấp cho Maproot Group các quyền truy cập tương tự như nhóm wheel. Vì tôi muốn máy Proxmox của mình là hệ thống duy nhất có thể truy cập NFS share, tôi đã thêm địa chỉ IPv4 của nó vào trường Authorized devices.
Sau khi bật NAS share, tôi chuyển sự chú ý sang máy chủ Proxmox. Trong giao diện Datacenter, tôi mở tab Storage, nhấn nút Add, và chọn tùy chọn NFS. Tôi đã gán một tên ngẫu nhiên làm ID, nhập địa chỉ IPv4 của máy TrueNAS Scale, và dán đường dẫn mount của share vào trường Export để kết nối với Dataset mà tôi đã tạo trước đó.
Cài đặt Proxmox Backup Server trên máy chủ PVE
Hãy sẵn sàng tinh chỉnh nhiều tệp cấu hình
Sau khi máy chủ Proxmox đã được ghép nối với NFS share, tôi chuyển đến tab Shell của nút chính. Tuy nhiên, trước khi có thể cài đặt các gói PBS, tôi nhanh chóng sử dụng lệnh nano /etc/pve/storage.cfg
để mở tệp storage.cfg và thêm dòng options vers=3,soft
vào dưới tiêu đề nfs.
Vì Proxmox không bao gồm kho lưu trữ PBS theo mặc định, tôi đã sử dụng lệnh nano /etc/apt/sources.list
để thêm repo deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription
vào máy chủ Proxmox của mình. Với tất cả các tinh chỉnh đã hoàn tất, đã đến lúc chạy các lệnh apt update
và apt install proxmox-backup-server
. May mắn thay, quá trình cài đặt không mất nhiều thời gian như cài đặt bare-metal hoặc VM, và chẳng bao lâu sau, tôi đã có thể tinh chỉnh instance PBS bằng cách nhập địa chỉ IP của máy chủ Proxmox, chỉ cần thay thế số cổng của nó bằng 8007.
Cấu hình phiên bản Proxmox Backup Server
Nhớ chọn các tùy chọn Prune phù hợp với thiết lập của bạn
Sau khi đăng nhập vào instance PBS với cùng Tên người dùng và Mật khẩu như máy chủ Proxmox của tôi, tôi đã tạo một Datastore với đường dẫn mount của NFS share mà tôi đã tạo ở đầu bài viết làm Backing path. Vì tôi muốn tối đa năm bản sao lưu để tiết kiệm không gian lưu trữ, tôi đã sửa đổi cài đặt Prune để phản ánh lựa chọn này.
Cuối cùng, tôi chuyển sang nút Proxmox một lần nữa và đi thẳng đến phần Backups trong Datacenter. Lần này, tôi đã chọn tùy chọn Proxmox Backup Server sau khi nhấn nút thêm. Tôi cũng cẩn thận nhập ID, chi tiết Server (thú vị là cùng địa chỉ IPv4 với nút PVE), root@pam
làm Tên người dùng, cùng Mật khẩu như máy Proxmox, và tên của Datastore PBS để thiết lập kết nối ba chiều giữa máy chủ PVE của tôi, tiện ích PBS và NFS share trên NAS TrueNAS Scale của tôi.
Làm cho thiết lập sao lưu dựa trên NFS trở nên mạnh mẽ hơn nữa
Vì tôi đã gặp sự cố về quyền trong lần chạy ban đầu của bài viết này với thiết lập PBS bare-metal, tôi đã ngay lập tức kiểm tra cấu hình ảo hóa bằng cách chạy một vài tác vụ sao lưu. May mắn thay, chúng hoạt động mà không gặp trở ngại nào, mặc dù tôi vẫn còn một điều cuối cùng cần phải giải quyết.
Cho đến nay, dữ liệu VM và LXC được gửi đến máy chủ lưu trữ của tôi mà không có bản sao dự phòng nào. Là người theo trường phái sao lưu 3-2-1, tôi cũng muốn tạo thêm bản sao trên các máy bên ngoài (off-site). Cá nhân, một container Syncthing chạy trên một NAS từ xa có vẻ là thiết lập lý tưởng, mặc dù tôi cũng đang cân nhắc xem có nên đi theo lộ trình VPS hay không.
Màn hình cấu hình tác vụ sao lưu Proxmox Backup Server hiển thị các tùy chọn cài đặt, bao gồm chọn máy chủ đích, lịch trình và chính sách lưu trữ, đảm bảo quá trình sao lưu tự động và hiệu quả lên TrueNAS Scale.
Với những hướng dẫn chi tiết trên, bạn đã có thể tự tin thiết lập hệ thống sao lưu Proxmox của mình một cách mạnh mẽ và đáng tin cậy. Việc kết hợp Proxmox Backup Server với TrueNAS Scale thông qua NFS share không chỉ tối ưu hóa không gian lưu trữ mà còn tăng cường khả năng phục hồi dữ liệu cho home lab của bạn. Hãy nhớ kiểm tra định kỳ các tác vụ sao lưu và cân nhắc các chiến lược bảo vệ dữ liệu bổ sung để đảm bảo an toàn tuyệt đối.
Bạn đã từng thiết lập hệ thống sao lưu Proxmox tương tự chưa? Hoặc bạn có những giải pháp độc đáo nào khác để bảo vệ dữ liệu home lab? Hãy chia sẻ kinh nghiệm và ý kiến của bạn trong phần bình luận bên dưới để cùng thảo luận và học hỏi nhé!