Object Storage Backup DirectAdmin: Hướng dẫn chi tiết

Hướng dẫn backup DirectAdmin lên Object Storage bằng Rclone và Hook Script, từ cấu hình, tự động hoá đến khôi phục dữ liệu khi cần.

Object Storage backup DirectAdmin là phương pháp đẩy toàn bộ file backup từ control panel DirectAdmin lên một kho lưu trữ đám mây tương thích chuẩn S3, tách biệt hoàn toàn khỏi server nguồn để bảo vệ dữ liệu khi server chính gặp sự cố.

Vì sao nên backup DirectAdmin lên Object Storage?

Backup local hoặc FTP truyền thống của DirectAdmin vẫn phụ thuộc một phần vào hạ tầng gần với server nguồn hoặc một nhà cung cấp lưu trữ đơn lẻ, nên khi ổ cứng server hỏng đột ngột hoặc một cuộc tấn công ransomware mã hoá luôn cả phần dữ liệu backup đang nằm cùng server, bản backup đó xem như mất tác dụng. Object Storage giải quyết đúng điểm yếu này nhờ ba đặc điểm: dữ liệu backup được tách biệt vật lý hoàn toàn khỏi server nguồn, chi phí tính theo GB thường thấp hơn đáng kể so với việc gắn thêm ổ SSD/NVMe dung lượng lớn, và gần như không có giới hạn cứng về dung lượng lưu trữ như ổ đĩa local.

vi-sao-nen-backup-directadmin-len-object-storage
Lý do nên Backup Directadmin lên Object Storage

>>>> Đọc thêm bài viết: DirectAdmin là gì? DirectAdmin có những ưu điểm và hạn chế gì?

Các phương án tích hợp Object Storage với DirectAdmin

DirectAdmin thường không cung cấp sẵn cơ chế kết nối S3 Object Storage trực tiếp trong quy trình backup mặc định. Vì vậy, khi muốn lưu bản backup ra ngoài server, người quản trị có thể lựa chọn một trong ba phương án dưới đây tuỳ theo mức độ kỹ thuật và yêu cầu quản lý.

1. Tích hợp Object Storage bằng Hook Script và Rclone

Sau khi DirectAdmin hoàn tất quá trình tạo backup, người quản trị có thể sử dụng script tuỳ chỉnh để xử lý file backup và kết hợp với Rclone nhằm đẩy dữ liệu lên Object Storage tương thích S3. Phương án này cho phép chủ động tuỳ biến quy trình như tổ chức thư mục backup theo ngày, ghi log, gửi thông báo hoặc bổ sung cơ chế retry khi cần.

Đây là lựa chọn phù hợp với sysadmin và đơn vị quản lý nhiều tài khoản hosting vì có khả năng kiểm soát và tuỳ biến cao, đồng thời không phụ thuộc vào một plugin riêng. Đây cũng là phương án được hướng dẫn chi tiết trong các phần tiếp theo của bài viết.

2. Sử dụng plugin hỗ trợ S3

Một số plugin bên thứ ba cung cấp giao diện để cấu hình Object Storage trực tiếp trong môi trường quản trị DirectAdmin, phù hợp với người không quen thao tác qua SSH hoặc dòng lệnh.

Ưu điểm của phương án này là dễ triển khai và quản lý thông qua giao diện. Tuy nhiên, khả năng tuỳ biến có thể phụ thuộc vào từng plugin và một số giải pháp có thể yêu cầu license hoặc chi phí sử dụng bổ sung.

mount-bucket-object-storage-bang-s3fs
Sử dụng Plugin hỗ trợ

3. Mount bucket Object Storage bằng s3fs

Phương án này sử dụng s3fs để mount bucket Object Storage thành một thư mục có thể truy cập như ổ lưu trữ trên server, sau đó cấu hình DirectAdmin ghi backup vào vị trí đó.

Tuy nhiên, Object Storage không phải filesystem truyền thống nên việc mount thông qua s3fs chỉ là một lớp giả lập qua mạng. Với file backup lớn hoặc workload có nhiều thao tác đọc/ghi, độ trễ và độ ổn định của kết nối có thể ảnh hưởng đến hiệu năng. Vì vậy, phương án này phù hợp hơn với một số nhu cầu đơn giản thay vì môi trường backup production có yêu cầu cao.

Chuẩn bị trước khi cấu hình

Trước khi cấu hình DirectAdmin backup lên Object Storage bằng Hook Script và Rclone, cần chuẩn bị một số thông tin và kiểm tra hạ tầng để tránh gián đoạn trong quá trình thiết lập.

  • Quyền truy cập SSH: Cần truy cập SSH với quyền root hoặc quyền sudo phù hợp để cài đặt Rclone, tạo và phân quyền cho script.
  • Thông tin kết nối Object Storage: Chuẩn bị sẵn Access Key, Secret Key và endpoint của dịch vụ Object Storage. Nếu nhà cung cấp yêu cầu thêm region hoặc thông tin kết nối riêng, cũng cần xác nhận trước khi cấu hình Rclone.
  • Kiểm tra Rclone: Xác định Rclone đã được cài trên server hay chưa và kiểm tra phiên bản hiện tại. Nếu chưa có, có thể cài mới; nếu đã có, cần đảm bảo cấu hình hiện tại không ảnh hưởng đến các remote đang sử dụng.
  • Xác định đường dẫn backup của DirectAdmin: Kiểm tra vị trí DirectAdmin đang lưu file backup local để Hook Script có thể xác định đúng file hoặc thư mục cần đẩy lên Object Storage.
  • Kiểm tra dung lượng ổ đĩa local: File backup vẫn cần được tạo trên local trước khi Rclone upload lên bucket. Vì vậy, server phải còn đủ dung lượng trống để hoàn tất quá trình backup, đặc biệt khi backup nhiều tài khoản hoặc database có dung lượng lớn.

Cấu hình DirectAdmin backup lên Object Storage bằng Rclone

Sau khi chuẩn bị đầy đủ thông tin và hạ tầng, có thể bắt đầu cấu hình DirectAdmin backup lên Object Storage thông qua Rclone theo các bước sau.

Bước 1: Cài đặt Rclone trên server

Cài đặt Rclone trên server DirectAdmin theo hướng dẫn phù hợp với hệ điều hành đang sử dụng. Sau khi cài xong, kiểm tra phiên bản để đảm bảo Rclone đã hoạt động bình thường trước khi cấu hình kết nối Object Storage.

Bước 2: Tạo S3 remote cho Object Storage

Chạy rclone config để tạo một remote mới, chọn backend S3 và khai báo các thông tin kết nối như Access Key, Secret Key, endpoint và region nếu dịch vụ yêu cầu.

Nên đặt tên remote ngắn gọn, dễ nhận biết, chẳng hạn lanit-s3, vì tên này sẽ được sử dụng trong Hook Script ở các bước tiếp theo.

Bước 3: Kiểm tra kết nối đến Object Storage

Sau khi tạo remote, sử dụng lệnh Rclone để kiểm tra khả năng kết nối và liệt kê bucket. Bước này giúp xác nhận Access Key, Secret Key, endpoint và cấu hình S3 đã chính xác trước khi đưa vào quy trình backup tự động. Rclone hỗ trợ liệt kê bucket thông qua remote S3 đã cấu hình.

Nếu bước kiểm tra thất bại, nên xử lý lỗi kết nối trước khi tiếp tục cấu hình Hook Script.

Bước 4: Tạo Hook Script để tự động upload backup

Tạo Hook Script trong thư mục custom script của DirectAdmin. Với backup user, DirectAdmin hỗ trợ user_backup_post.sh, được gọi sau khi file backup .tar.gz được tạo và cung cấp biến file chứa đường dẫn đầy đủ đến file backup. Điều này giúp script xác định chính xác file vừa được tạo thay vì phải tự tìm file mới nhất trong thư mục.

Hook Script có thể thực hiện các tác vụ chính:

  • Xác định file backup vừa hoàn tất.
  • Đẩy file lên bucket thông qua Rclone.
  • Tổ chức object theo thư mục hoặc prefix dựa trên ngày backup.
  • Ghi log kết quả upload.
  • Gửi email hoặc thông báo khi quá trình thành công hoặc thất bại.
  • Có thể bổ sung cơ chế retry khi upload gặp lỗi mạng.

Cách này giúp tách riêng quá trình tạo backup của DirectAdmin khỏi bước lưu trữ offsite trên Object Storage.

Bước 5: Phân quyền script và kiểm tra kết nối mạng

Sau khi tạo script, cấp quyền thực thi phù hợp và kiểm tra owner/group của file để đảm bảo DirectAdmin có thể gọi script đúng quyền.

Nếu server sử dụng CSF hoặc firewall tương tự, cần kiểm tra chính sách kết nối outbound đến endpoint Object Storage, đặc biệt là HTTPS trên TCP 443. Không nên mặc định mở thêm port nếu firewall đã cho phép kết nối outbound cần thiết.

Bước 6: Thiết lập lịch backup trên DirectAdmin

Truy cập Admin Backup/Transfer và tạo lịch backup theo nhu cầu. DirectAdmin cung cấp bốn nhóm thiết lập chính:

  • Who: Chọn toàn bộ user, loại trừ một số user hoặc chỉ backup các user được chọn.
  • When: Chọn chạy ngay hoặc thiết lập cron schedule.
  • Where: Chọn Local để DirectAdmin tạo file backup trên server trước, sau đó Hook Script xử lý và đẩy file lên Object Storage.
  • What: Chọn toàn bộ dữ liệu hoặc chỉ những thành phần cần backup.

Với phương án Hook Script + Rclone, nên chọn Where = Local và kiểm tra lại local path để đảm bảo script có thể truy cập đúng vị trí file backup.

Kiểm tra toàn bộ quy trình

Sau khi hoàn tất cấu hình, nên chạy thử một backup ngay thay vì chờ đến lịch tự động tiếp theo. Có thể sử dụng Run Now trên lịch backup, sau đó theo dõi trạng thái trong DirectAdmin, kiểm tra log của Hook Script và xác nhận file đã xuất hiện trên bucket Object Storage.

Nếu đã cấu hình email thông báo, đồng thời kiểm tra email để xác nhận cả hai trường hợp thành công và thất bại đều được ghi nhận đúng.

quy-trinh-cau-hinh-directadmin
Quy trình cấu hình

Tự động hoá và quản lý vòng đời backup

Backup lên Object Storage không nên dừng ở việc upload thành công. Khi hệ thống chạy lâu dài, số lượng bản backup tăng liên tục và có thể khiến chi phí lưu trữ vượt kiểm soát nếu không có chính sách quản lý rõ ràng ngay từ đầu, cần thiết lập đồng thời tần suất backup, thời gian lưu giữ và quy tắc tự động xoá hoặc chuyển lớp lưu trữ.

Không phải website nào cũng cần tần suất backup giống nhau, có thể tham khảo mức gợi ý sau:

Loại websiteTần suất backup gợi ý
Website giới thiệu, ít thay đổiHàng tuần
Blog, website nội dungHàng ngày
Website bán hàng, có đơn hàngHàng ngày hoặc nhiều lần một ngày
Website có dữ liệu cập nhật liên tụcTheo mốc thời gian dữ liệu tối đa chấp nhận mất khi có sự cố (RPO)

Tần suất càng cao thì khả năng khôi phục dữ liệu càng gần với thời điểm xảy ra sự cố, nhưng cũng tạo ra nhiều bản backup hơn, nên cân đối giữa mức độ quan trọng của dữ liệu và chi phí lưu trữ thay vì chọn backup càng nhiều càng tốt.

Retention, tức chính sách giữ backup trong bao lâu hoặc giữ lại bao nhiêu phiên bản trước khi xoá, nên được thiết lập ngay trên phía Object Storage thay vì xử lý thủ công. Với website thông thường, có thể giữ backup hàng ngày trong 14 ngày, backup hàng tuần trong 4 tuần, và backup hàng tháng trong 3 đến 6 tháng nếu cần lưu trữ dài hạn. Không nên để backup tồn tại vô thời hạn, vì dung lượng Object Storage sẽ tăng dần theo thời gian và phát sinh chi phí không cần thiết.

Nếu dịch vụ Object Storage đang dùng hỗ trợ lifecycle rule, nên tận dụng thay vì xoá thủ công, theo hướng backup mới lưu ở lớp lưu trữ chính, sau một khoảng thời gian chuyển sang lớp chi phí thấp hơn, hết thời gian retention thì tự động xoá. Cách chuyển lớp, thời gian áp dụng và cách tính phí khác nhau tuỳ nhà cung cấp, nên kiểm tra chính sách cụ thể trước khi triển khai.

Với nhà cung cấp hosting/reseller quản lý backup cho nhiều khách hàng, cân nhắc thêm Object Lock để khoá không cho xoá hoặc ghi đè bản backup trong một khoảng thời gian nhất định, hạn chế rủi ro ransomware xoá luôn cả bản sao lưu. Cơ chế này được giải thích chi tiết trong bài object storage backup VMware.

Khôi phục backup từ Object Storage về DirectAdmin

Khi cần khôi phục dữ liệu, quy trình đi ngược lại so với lúc backup, gồm bốn phần chính:

  • Tải file backup về server: dùng Rclone để tải file backup cần dùng từ bucket về lại server, trỏ đúng đường dẫn đã lưu theo cấu trúc thư mục phân theo ngày đã thiết lập ở bước cấu hình Hook Script.
  • Thao tác restore trên DirectAdmin: vào Admin Backup/Transfer, trỏ đến file vừa tải về và tiến hành restore theo giao diện có sẵn của DirectAdmin.
  • Restore riêng cho từng user với môi trường reseller: với nhà cung cấp hosting/reseller quản lý nhiều tài khoản trên cùng server, cần chọn đúng phạm vi user cần restore thay vì restore toàn bộ, tránh ảnh hưởng đến các tài khoản khác đang hoạt động bình thường.
  • Kiểm tra tính tương thích trước khi restore: đặc biệt cần lưu ý nếu server đích khác phiên bản DirectAdmin hoặc khác hệ điều hành so với server đã tạo ra bản backup đó, vì một số thành phần cấu hình có thể không khôi phục đúng nếu môi trường lệch nhau quá nhiều.
khoi-phuc-backup-tu-object-storage-ve-directadmin
Các bước khôi phục Backup

Hướng dẫn xử lý lỗi thường gặp

Trong quá trình vận hành, một số lỗi có thể khiến backup không được đẩy lên Object Storage như mong muốn:

LỗiNguyên nhân thường gặpCách xử lý
Không thấy file trên bucketRemote, bucket hoặc đường dẫn đích trong Hook Script không đúngKiểm tra lại cấu hình Rclone và đường dẫn upload trong script
AccessDeniedCredential sai hoặc Access Key chưa có quyền ghi vào bucketKiểm tra Access Key, Secret Key và policy của bucket
Upload chậmBăng thông server hạn chế hoặc cấu hình truyền tải chưa phù hợpKiểm tra network và điều chỉnh số luồng upload nếu cần
Local hết dung lượngBackup giữ lại quá nhiều hoặc file chưa kịp uploadGiảm retention trên local hoặc tăng dung lượng lưu trữ

Nếu chưa xác định được nguyên nhân, kiểm tra log của Hook Script và Rclone trước. Log thường cho biết chính xác bước upload nào bị lỗi, giúp khoanh vùng nhanh hơn thay vì kiểm tra lại toàn bộ cấu hình.

Checklist trước khi đưa vào vận hành

Trước khi đưa hệ thống backup DirectAdmin lên Object Storage vào vận hành chính thức, nên kiểm tra lại các yếu tố quan trọng sau:

  • Đã chạy Run Now và xác nhận DirectAdmin tạo backup thành công.
  • Hook Script và Rclone đã upload backup lên đúng bucket.
  • Đã kiểm tra log và email thông báo, đảm bảo không có lỗi trong quá trình thực hiện.
  • Đã thử restore một bản backup thực tế để xác nhận dữ liệu có thể khôi phục bình thường.
  • Đã thiết lập retention hoặc lifecycle rule để kiểm soát số lượng backup và chi phí lưu trữ.
  • Đã xác định rõ thời gian lưu backup trên local và Object Storage.

Sau khi hoàn tất các bước trên, hệ thống có thể chuyển sang vận hành tự động và nên kiểm tra khả năng restore định kỳ để đảm bảo backup luôn sẵn sàng khi cần.

Kết luận

Backup DirectAdmin lên Object Storage giúp tách hoàn toàn dữ liệu dự phòng ra khỏi server gốc, giảm thiểu rủi ro mất dữ liệu do sự cố phần cứng hay tấn công mạng, đồng thời kiểm soát chi phí lưu trữ tốt hơn nhiều so với việc mở rộng ổ đĩa local. Với các nhà cung cấp hosting hoặc reseller đang tìm một điểm đến lưu trữ backup ổn định, tương thích chuẩn S3 và có chính sách giá rõ ràng, Object Storage của LANIT là một lựa chọn phù hợp để triển khai mô hình này.

Đánh giá bài viết
Với nhiều năm kinh nghiệm trong lĩnh vực công nghệ thông tin, đặc biệt là hạ tầng máy chủ, hệ thống mạng và bảo mật, Nguyễn Đức Hòa hiện đã đảm nhận vai trò Trưởng phòng Kỹ thuật tại công ty LANIT – đơn vị cung cấp giải pháp công nghệ tiên tiến cho doanh nghiệp. Anh không chỉ là người trực tiếp xây dựng, phát triển và vận hành các hệ thống kỹ thuật phức tạp mà còn là người truyền lửa và định hướng chiến lược kỹ thuật cho toàn bộ đội ngũ của LANIT. Tư vấn duy duy hệ thống Chắc chắn, khả năng xử lý sự cố nhanh nhạy cảm cùng tầm nhìn phát triển thời hạn đã giúp anh trở thành một trong những nhân sự chủ yếu trong quá trình mở rộng hành động theo mô hình dịch vụ công nghệ của LANIT.
Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!