Commvault - Deduplication database (DDB), source-side vs target-side dedup, cấu hình MediaAgent với dedup
Deduplication (khử trùng lặp) là công nghệ cốt lõi giúp Commvault tối ưu hóa dung lượng lưu trữ và băng thông mạng bằng cách chỉ lưu các khối dữ liệu duy nhất (unique blocks).1. Lý thuyết về Deduplication Database (DDB)
DDB là một cơ sở dữ liệu lưu trữ các giá trị băm (hash values/signatures) của các khối dữ liệu đã được sao lưu.
- Cơ chế hoạt động: Khi dữ liệu được quét, Commvault chia nhỏ dữ liệu thành các khối (chunks/blocks), tính toán mã băm cho từng khối và tra cứu trong DDB. Nếu mã băm đã tồn tại, hệ thống chỉ tạo một con trỏ (pointer) thay vì ghi lại khối dữ liệu đó.
- Thành phần lưu trữ: DDB chỉ lưu trữ dữ liệu chỉ mục (index) và mã băm, không lưu trữ dữ liệu thực tế (dữ liệu thực tế nằm ở Storage Library).
- Yêu cầu phần cứng: DDB đòi hỏi tốc độ đọc/ghi ngẫu nhiên (IOPS) cực kỳ cao. Do đó, bắt buộc phải cài đặt DDB trên ổ cứng SSD chuẩn doanh nghiệp (NVMe/SAS SSD).
Commvault hỗ trợ hai vị trí thực hiện khử trùng lặp tùy thuộc vào nơi tính toán mã băm:
Tiêu chí | Source-Side Deduplication (Khử trùng lặp tại nguồn) | Target-Side Deduplication (Khử trùng lặp tại đích) |
| Vị trí xử lý | Diễn ra ngay trên máy Client (máy cần backup). | Diễn ra trên MediaAgent (máy chủ lưu trữ). |
| Luồng hoạt động | Client tính mã băm > Gửi mã băm đến MediaAgent để tra cứu DDB > Nếu trùng, Client không cần gửi khối dữ liệu đó qua mạng. | Client gửi toàn bộ dữ liệu thô qua mạng > MediaAgent nhận dữ liệu, tính mã băm và thực hiện khử trùng lặp. |
| Băng thông mạng | Tiết kiệm tối đa. Chỉ truyền tải các khối dữ liệu duy nhất. | Tốn băng thông. Toàn bộ dữ liệu phải chạy qua mạng trước khi được lọc. |
| Tài nguyên Client | Tiêu thụ thêm CPU/RAM trên Client để băm dữ liệu. | Client không bị ảnh hưởng hiệu năng do không phải băm dữ liệu. |
| Trường hợp áp dụng | Backup qua WAN, Cloud, hoặc các mạng có băng thông hạn chế. | Các Client chạy ứng dụng quan trọng, không thể chia sẻ tài nguyên CPU/RAM cho tác vụ khác. |
3. Cấu hình MediaAgent với Deduplication
Để tối ưu hóa hiệu năng khi cấu hình MediaAgent làm nhiệm vụ khử trùng lặp, cần tuân thủ các nguyên tắc thiết kế sau:
Thiết kế phần cứng (Sizing)
- Bộ nhớ (RAM): DDB được nạp một phần vào RAM để tra cứu nhanh. Thiếu RAM sẽ làm giảm tốc độ backup nghiêm trọng.
- Phân vùng DDB: Phải độc lập với hệ điều hành và phân vùng lưu trữ dữ liệu (Index Cache/Storage).
- Tạo Storage Pool: Định nghĩa phân vùng lưu trữ (Disk hoặc Cloud) gắn với MediaAgent.
- Kích hoạt Deduplication: Khi tạo Storage Pool, chọn bật tính năng Deduplication.
- Chỉ định đường dẫn DDB: Chọn phân vùng SSD tốc độ cao trên MediaAgent để lưu trữ file DDB.
- Cấu hình Phân vùng DDB (Multi-DDB Partition): Để tăng tính chịu lỗi (Redundancy) và hiệu năng, Commvault cho phép cấu hình phân rã DDB thành tối đa 4 phân vùng chạy song song trên các MediaAgent khác nhau.
Ý nghĩa của việc dùng Partition DDB (Partitioned DDB)
- Tối ưu hiệu năng: Thay vì toàn bộ bảng băm (hash table) chống trùng lặp ghi vào 1 database lớn, Commvault chia database ra làm 2 (hoặc tối đa 4) phần. Việc đọc/ghi băm dữ liệu trong lúc backup/restore sẽ diễn ra song song trên các partition này, giúp tăng tốc độ sao lưu.
- Phân loại dữ liệu (Files vs VMs): Commvault tách riêng DDB cho File và DDB cho Máy ảo vì kích thước block băm (block size) của 2 loại dữ liệu này khác nhau (VMs thường dùng 128KB, File thường dùng 64KB/128KB). Việc này giúp tối ưu tỷ lệ khử trùng lặp (Deduplication Ratio) cao nhất.
Đây là hai triết lý quản lý dữ liệu và tối ưu không gian lưu trữ hoàn toàn khác nhau giữa hai hãng:
Tiêu chí | Commvault Deduplication | Veeam Forever Forward Incremental |
| Triết lý cốt lõi | Khử trùng lặp toàn cục (Global Deduplication) dựa trên cơ sở dữ liệu mã băm độc lập (DDB). | Quản lý chuỗi file (File-chain) dựa trên cơ chế di chuyển khối dữ liệu (block-move) bên trong các file backup (.vbm, .vbk, .vib). |
| Cơ chế hoạt động | Hệ thống tạo 1 bản Full ban đầu. Các bản sau chỉ lưu block mới (giống Incremental). Nhưng khi khôi phục, DDB tự động liên kết các block từ mọi thời điểm để dựng lại dữ liệu mà không cần gộp file vật lý. | Ngày 1: Tạo file Full (.vbk). Các ngày tiếp theo: Tạo file Incremental (.vib). Khi vượt quá hạn định (Retention), Veeam gộp (merge) dữ liệu từ file Incremental cũ nhất vào file Full gốc để giải phóng không gian. |
| Phạm vi tối ưu | Toàn cục (Global): Có thể khử trùng lặp chéo giữa nhiều máy chủ khác nhau (ví dụ: 100 máy ảo Windows chỉ tốn dung lượng cho 1 hệ điều hành Windows gốc). | Cục bộ (Per-job): Thường chỉ tối ưu hóa bên trong một Job backup cụ thể. |
| Tác động phần cứng | Đòi hỏi phần cứng MediaAgent rất mạnh, đặc biệt là SSD cho DDB. | Không yêu cầu database mã băm quá lớn, áp lực lên IOPS ổ đĩa quản lý thấp hơn, chạy tốt trên HDD thông thường. |
| Rủi ro hỏng hóc | Nếu DDB bị lỗi/hỏng (và không có bản backup DDB), việc khôi phục dữ liệu sẽ gặp khó khăn lớn vì dữ liệu bị xé nhỏ thành các block rời rạc. | Nếu chuỗi file (.vib) bị đứt gãy ở giữa, các bản backup phía sau điểm gãy đó sẽ không thể khôi phục được. |