

Btrfs và ZFS là hai hệ thống tập tin Linux hiện đại, được thiết kế để thay thế ext4 với khả năng quản lý snapshot, checksum dữ liệu và pool lưu trữ linh hoạt. Cả hai đều phát hiện lỗi silent data corruption tự động, điều ext4 không làm được. Silent data corruption xảy ra khi bit trên đĩa bị đảo giá trị mà không sinh lỗi I/O, ZFS và Btrfs có thể phát hiện và sửa lỗi nhờ checksum stored metadata. Đây là sự khác biệt lớn giữa filesystem truyền thống và modern copy-on-write filesystem. Đối với dữ liệu quan trọng, việc dùng ZFS hay Btrfs là yêu cầu tối thiểu, không còn là lựa chọn.
ZFS: Người tiên phong
ZFS ra đời năm 2005 tại Sun Microsystems, kết hợp filesystem và volume manager trong một lớp. Copy-on-write (CoW) đảm bảo snapshot luôn nhất quán. Khi ghi dữ liệu, ZFS ghi vào block mới thay vì ghi đè lên block cũ, cho phép rollback dễ dàng. RAID-Z tự xử lý parity mà không cần RAID controller đắt tiền, tránh lỗi write hole của RAID 5/6 truyền thống. ZFS có giới hạn bộ nhớ cache: trên hệ thống 8GB RAM, ZFS chỉ dùng khoảng 2-4GB cho ARC (Adaptive Replacement Cache). Trên server 32GB RAM, ARC có thể lên đến 16-24GB, giúp đọc dữ liệu nóng cực nhanh.

Btrfs: Người kế thừa mã nguồn mở
Btrfs (B-tree FS) được Oracle phát triển từ năm 2007, nhắm đến tính năng tương tự ZFS nhưng với license GPL. Btrfs hỗ trợ online defrag (chạy defrag khi mounted), inline data compression (zstd, lzo), và subvolume thay vì partition cố định. Từ kernel 5.x, Btrfs đã ổn định cho production, đặc biệt với btrfs-progs mới nhất cung cấp tools kiểm tra và sửa lỗi mạnh mẽ như btrfs check và btrfs restore. Fedora và Ubuntu đều hỗ trợ cài đặt root trên Btrfs. Btrfs còn hỗ trợ send/receive để backup snapshot sang ổ ngoài hoặc NAS.
So sánh chi tiết
| Tiêu chí | ZFS | Btrfs |
|---|---|---|
| License | CDDL | GPL |
| RAID | RAID-Z1/2/3, mirror | RAID0/1/10, RAID5/6 mới |
| Quota subvolume | Có | Có |
| Data dedup | Có (ARC tốn RAM) | Không có inline |
| Scrub tốc độ | Cao | Trung bình |
| Boot từ USB | Khó | Dễ |
| Performance tuning | Tùy chỉnh recordsize | Tùy chỉnh compress |
| Online resize | Có | Có |
| Clone subvolume | Có | Có |
| Encryption | Có | Có (mới) |
Quản lý snapshot và backup
Cả hai đều cho phép tạo snapshot gần như tức thì. ZFS dùng zfs snapshot pool/dataset@name, Btrfs dùng btrfs subvolume snapshot /path /snap/name. Snapshot tiêu tốn dung lượng ban đầu gần zero nhờ CoW. Khi dữ liệu thay đổi, snapshot mới chiếm dung lượng tương ứng phần diff. Tool như Timeshift trên Ubuntu dùng Btrfs snapshot để system restore dễ dàng. Btrfs còn hỗ trợ send/receive để backup snapshot sang ổ ngoài hoặc NAS.

Scrub và data integrity
zpool scrub và btrfs scrub start đọc toàn bộ dữ liệu trên đĩa, so sánh checksum để phát hiện lỗi silent corruption. Nên chạy scrub định kỳ hàng tháng trên NAS để đảm bảo data integrity. ZFS scrub thường nhanh hơn nhờ ARC cache warm. Nếu scrub phát hiện lỗi, ZFS tự động sửa từ mirror hoặc parity; Btrfs cần phải chạy btrfs scrub status và btrfs device stats để xác định ổ đĩa lỗi. Tốc độ scrub phụ thuộc vào số lượng dữ liệu và loại RAID, trung bình 1-2GB/phút trên HDD.
Performance và tuning
ZFS cấu hình recordsize theo loại dữ liệu: 128K cho database, 1M cho media files. Btrfs dùng compress-force zstd giúp giảm dung lượng lưu trữ mà không ảnh hưởng nhiều hiệu năng. Trên SSD, cả hai đều hỗ trợ TRIM để duy trì tốc độ. Btrfs có lợi thế với inline data, lưu file nhỏ trực tiếp trong metadata thay vì data block riêng. Trên HDD, ZFS thường vượt trội nhờ Adaptive Replacement Cache thông minh hơn.
Khi nào chọn cái nào?
Chọn ZFS nếu cần dedup, RAID-Z3, hoặc chạy trên server có RAM dồi dào từ 16GB trở lên. ZFS phù hợp cho NAS lưu trữ nhiều TB. Chọn Btrfs nếu muốn license GPL, cần subvolume linh hoạt, hoặc chạy trên laptop với dung lượng vừa phải. Btrfs hiện là mặc định trên Fedora cho Desktop và được Ubuntu khuyến nghị cho container storage. Đối với việc lưu trữ cá nhân trên laptop, Btrfs thường là lựa chọn đơn giản hơn nhờ kernel support tốt và tooling phong phú. Nếu bạn cần chạy Windows dual boot, ZFS on Linux có thể khó boot từ GRUB so với Btrfs.
Nói ngắn gọn: Cả hai đều vượt trội hơn ext4 về data integrity. Btrfs dễ tiếp cận hơn cho desktop, ZFS mạnh hơn cho NAS enterprise. Luôn backup dữ liệu quan trọng dù dùng filesystem nào, vì cả hai đều không thay thế được backup strategy.
