Khi bắt đầu xây dựng hệ thống NAS tại nhà theo kiểu DIY (tự làm), một trong những điều khiến tôi phải cân nhắc kỹ lưỡng là lựa chọn giữa ZFS và Btrfs – hai hệ thống tập tin phổ biến nhất hiện nay. Có rất nhiều điểm tương đồng giữa chúng, với các tính năng nổi bật như ảnh chụp nhanh (snapshots), kiểm tra tính toàn vẹn dữ liệu (verifying data integrity) và cơ chế ghi sao chép (copy-on-write) giúp tăng hiệu quả. Tuy nhiên, tôi không thể chỉ dựa vào những gì trông có vẻ tốt trên giấy tờ; chúng phải chứng minh được khả năng thực sự của mình. Tôi ưu tiên các yếu tố như tiêu thụ năng lượng thấp, quản lý sao lưu dễ dàng và tính toàn vẹn dữ liệu lâu dài trên phần cứng khiêm tốn của mình. Sau nhiều tháng sử dụng và thử nghiệm song song, tôi đã quyết định chọn Btrfs, và thành thật mà nói, tôi không cảm thấy muốn quay lại ZFS nữa – đây là những lý do.
7 lý do tôi chọn Btrfs thay vì ZFS cho NAS DIY
7. Yêu cầu bộ nhớ thấp hơn
Không gây gánh nặng cho phần cứng
ZFS nổi tiếng là tốn nhiều RAM. Hầu hết các khuyến nghị đều đề xuất ít nhất 8GB bộ nhớ, và tốt nhất là nhiều hơn nữa nếu bạn muốn sử dụng các tính năng như chống trùng lặp (deduplication) hoặc các biện pháp tăng hiệu suất khác. Điều này không thành vấn đề nếu bạn đang chạy một máy chủ với RAM ECC và phần cứng cấp doanh nghiệp, nhưng hệ thống của tôi khiêm tốn hơn nhiều.
Thiết bị NAS của tôi chạy trên một chiếc mini-PC với chỉ 4GB RAM và một bộ xử lý cấp thấp. Do đó, Btrfs hoạt động mượt mà trong các môi trường bộ nhớ thấp như của tôi và không yêu cầu tinh chỉnh nhiều ngay từ đầu. Nó cho phép tôi sử dụng tối đa phần cứng sẵn có mà không gặp phải các vấn đề về hiệu suất hay phải chi thêm tiền nâng cấp.
Bo mạch chủ MSI MAG Forge 112R được lắp đặt, thể hiện phần cứng máy tính khiêm tốn cho NAS DIY
6. Hỗ trợ gốc trong nhân Linux
Mọi người đều cần ít lo lắng hơn
ZFS không phải là một phần của nhân (kernel) Linux; nó được duy trì bởi dự án OpenZFS và phân phối dưới dạng một module kernel riêng biệt. Sự không đồng nhất này nghe có vẻ nhỏ nhưng có thể và thực sự tạo ra vấn đề khi kernel được cập nhật nhanh hơn module ZFS. Vì vậy, bạn sẽ phải tích cực nghĩ cách quản lý các bản nâng cấp kernel hoặc cầu nguyện rằng không có gì bị hỏng – một chiến lược không ổn cho thứ gì đó quan trọng như dữ liệu.
Ngược lại, Btrfs được tích hợp thẳng vào trong nhân Linux. Điều này thường có nghĩa là khả năng tương thích lâu dài tốt hơn và các bản sửa lỗi nhanh hơn. Và với cá nhân tôi, điều đó có nghĩa là ít lo lắng hơn trong quá trình nâng cấp hệ thống. Vì NAS của tôi chạy trên Linux, nó hoạt động tốt với các bản cập nhật, giúp tôi yên tâm.
Một chiếc laptop chạy Arch Linux hiển thị trang web XDA, minh họa hệ điều hành Linux cho NAS
5. Cài đặt và quản lý đơn giản hơn
Tại sao quản lý tập tin lại phải phức tạp?
ZFS có thể mạnh mẽ, nhưng việc cài đặt của nó cũng cứng nhắc và rắc rối không kém. Bạn phải lên kế hoạch trước cách nhóm các ổ đĩa lại với nhau và tạo các ZFS pool, vì rất khó để thực hiện các thay đổi cấu trúc sau này. Ngay cả những tác vụ cơ bản như thêm ổ đĩa và thay đổi kích thước pool cũng đòi hỏi một chút mày mò.
Btrfs thuận tiện và linh hoạt hơn nhiều về mặt đó. Các thao tác như tạo volume mới, bật nén, tạo subvolume về cơ bản là dễ dàng, và việc thêm ổ cứng vào hệ thống cũng vậy. Tôi thà sử dụng NAS của mình và các ứng dụng đã cài đặt còn hơn dành toàn bộ thời gian để cố gắng quản lý hệ thống tập tin và những điểm phức tạp của nó. Đó là lý do Btrfs có ý nghĩa hơn đối với tôi.
Các khe cắm NVMe bên trong Synology DS925+ NAS, minh họa cấu trúc lưu trữ của hệ thống NAS
4. Tích hợp tốt hơn với công cụ bên thứ ba
Snapper và Timeshift hoạt động tốt với Btrfs
Rất nhiều ứng dụng Linux được xây dựng xoay quanh Btrfs, giúp chúng cực kỳ dễ dàng kết hợp với các hệ thống như của tôi. Tôi cần chức năng ảnh chụp nhanh (snapshot) vừa để sao lưu vừa là cách dễ dàng để quay lại phiên bản gần đây nếu có sự cố. Snapper và Timeshift là hai trong số những công cụ đáng tin cậy nhất cho tác vụ này, và chúng hoạt động với Btrfs ngay cả ở cấp độ subvolume để tự động hóa quy trình chụp ảnh nhanh và giúp việc khôi phục cực kỳ dễ dàng.
Ảnh chụp nhanh của ZFS chắc chắn khá mạnh mẽ, nhưng nhiều công cụ desktop Linux như vậy không tích hợp tốt với ZFS ngay từ đầu. Và vì NAS của tôi thỉnh thoảng cũng đóng vai trò là một desktop Linux nhẹ nhàng, Btrfs giúp tôi không phải tự viết script mọi thứ một cách thủ công.
Một chiếc MacBook Air kết nối với NAS, minh họa việc truy cập và sử dụng NAS từ máy tính cá nhân
3. Linh hoạt khi thêm ổ đĩa
Khả năng mở rộng trong tương lai cũng rất quan trọng
Như đã đề cập trước đó, ZFS yêu cầu bạn phải lên kế hoạch cho các storage pool của mình từ trước, khiến việc thêm ổ đĩa mới sau này không còn là trải nghiệm cắm và chạy đơn giản. Nó thường đòi hỏi bạn phải tạo ra các thiết bị ảo (hoặc vdevs) hoàn toàn mới, điều này rõ ràng là cồng kềnh.
Với Btrfs, tôi có thể thêm dung lượng lưu trữ khi cần vào các hệ thống tập tin hiện có và cân bằng lại dữ liệu mà không cần phải xây dựng lại toàn bộ pool từ đầu. Điều này hợp lý hơn đối với nhu cầu của tôi thay vì phải mua thêm dung lượng lưu trữ không cần thiết ngay từ đầu chỉ để sống chung với những hạn chế của ZFS.
Các khay ổ đĩa bên trong Lenovo ThinkSystem SR250 V2, thể hiện cách lắp đặt và mở rộng lưu trữ NAS
2. Hiệu quả năng lượng
Ít sử dụng tài nguyên hơn có nghĩa là hiệu quả năng lượng cao hơn
Mặc dù hiện tại tôi đã giảm thời gian NAS của mình hoạt động trực tuyến, nhưng cho đến gần đây, tôi vẫn để nó chạy 24/7. Và khi bạn để NAS chạy trong thời gian dài như vậy, hiệu quả năng lượng thực sự quan trọng. Vì ZFS sử dụng nhiều bộ nhớ, CPU và tài nguyên đĩa hơn, nên nó tự nhiên là một “kẻ ngốn” điện.
Theo những gì tôi đã tìm hiểu khi so sánh cả hai hệ thống tập tin, Btrfs tinh gọn và nhẹ nhàng hơn nhiều đối với RAM và CPU khi ở trạng thái chờ (idle). Nó cũng ít khi giữ cho ổ đĩa quay liên tục. Điều này không chỉ tiết kiệm năng lượng mà còn giúp hệ thống yên tĩnh hơn và giảm hao mòn ổ đĩa, đảm bảo NAS gia đình của bạn bền bỉ hơn.
Cắm cáp Ethernet vào cổng LAN 10GbE trên NAS TerraMaster F4-424 Max, liên quan đến kết nối mạng và hiệu quả hoạt động
1. Hỗ trợ nén trong suốt thuận tiện
Tiện lợi hơn là điều tôi cần
Đúng là cả Btrfs và ZFS đều hỗ trợ nén trong suốt (transparent compression), nhưng tôi thấy cách tiếp cận của Btrfs thuận tiện hơn một chút. Nó cho phép tôi bật nén trên cơ sở từng subvolume, vì vậy tôi có thể chọn loại dữ liệu nào nên được nén mà không cần định dạng lại toàn bộ hệ thống.
Các thuật toán nén rất hữu ích cho các loại dữ liệu như tệp nhật ký (log files), bản sao lưu cài đặt và tài liệu – hệ thống xử lý chúng mà không có bất kỳ suy giảm hiệu suất đáng kể nào. Đó là một cách tuyệt vời để có thêm dung lượng lưu trữ mà không cần suy nghĩ quá nhiều. Mặc dù ZFS cũng mang lại những lợi ích tương tự, nhưng sự linh hoạt và dễ sử dụng của Btrfs đã thuyết phục tôi chọn hệ thống sau.
Thiết bị NAS Ugreen, một ví dụ về hệ thống lưu trữ mạng có thể sử dụng Btrfs hoặc ZFS
Có rất nhiều điều bạn có thể tìm hiểu về NAS trước khi mang một chiếc về nhà hoặc tự xây dựng một chiếc cho mình. Một khi đã thiết lập xong, bạn sẽ học được rất nhiều điều – cả tốt và xấu – khi tối ưu hóa hệ thống cho nhu cầu của mình. Và bạn không thể đẩy nhanh quá trình học hỏi đó, bạn phải tự mình trải nghiệm, giống như tôi đã làm với Btrfs và ZFS, trước khi bạn có thể quyết định điều mình muốn. Tuy nhiên, đôi khi, bạn có thể học được một số bài học từ sai lầm của người khác để trải nghiệm NAS của mình trở nên tốt hơn ngay từ ngày đầu tiên.