Khi bắt tay vào xây dựng chiếc NAS tự làm tại nhà của mình, một trong những quyết định khiến tôi phải cân nhắc nhiều nhất là lựa chọn giữa ZFS và Btrfs – hai hệ thống tệp phổ biến nhất hiện nay. Chúng có nhiều điểm tương đồng với các tính năng như snapshot, kiểm tra tính toàn vẹn dữ liệu và copy-on-write giúp tăng hiệu quả. Tuy nhiên, tôi không thể chỉ tin vào những gì hay ho trên lý thuyết – chúng phải chứng tỏ được khả năng trên thực tế. Đối với phần cứng không quá mạnh của tôi, tôi ưu tiên mức tiêu thụ điện thấp, quản lý sao lưu dễ dàng và tính toàn vẹn dữ liệu dài hạn. 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ó ý định quay lại – dưới đây là lý do.
Yêu cầu bộ nhớ thấp hơn
ZFS nổi tiếng là hệ thống nặng về RAM. Hầu hết các khuyến nghị đều đề xuất ít nhất 8GB bộ nhớ, và lý tưởng nhất là nhiều hơn 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 hoàn toàn ổn nếu bạn đang chạy một máy chủ với RAM ECC và phần cứng doanh nghiệp, nhưng cấu hình của tôi khiêm tốn hơn nhiều.
Chiếc NAS của tôi chạy trên một máy tính mini PC cấu hình vừa phải với 4GB RAM và bộ xử lý cấp thấp. Vì vậy, Btrfs chạy thoải mái trong môi trường bộ nhớ thấp như của tôi mà không cần điều chỉnh phức tạp ngay từ đầu. Nó cho phép tôi sử dụng tối đa phần cứng hiện có mà không gặp phải tình trạng giật lag hay phải tốn thêm chi phí.
Thành phần bên trong máy tính mini PC tự làm NAS với RAM 4GB
Hỗ trợ gốc trong Linux
ZFS không phải là một phần của 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 bộ này nghe có vẻ nhỏ nhưng có thể và đang tạo ra vấn đề khi kernel cập nhật nhanh hơn module ZFS. Do đó, bạn sẽ phải tích cực suy nghĩ về việc quản lý nâng cấp kernel hoặc cầu mong không có gì bị hỏng – đây không phải là một chiến lược đáng tin cậy cho một thứ quan trọng như dữ liệu.
Mặt khác, Btrfs được tích hợp ngay vào kernel 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à đối với cá nhân tôi, nó đồng nghĩa với việc í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áy tính xách tay chạy Arch Linux hiển thị trang web XDA, minh họa cho NAS chạy Linux
Thiết lập và quản lý đơn giản hơn
ZFS có thể mạnh mẽ, nhưng việc thiết lập của nó cũng cứng nhắc và gần như gây khó chịu. 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 pool ZFS, vì việc thay đổi cấu trúc sau này rất khó khăn. Ngay cả những tác vụ cơ bản như thêm ổ đĩa hay thay đổi kích thước pool cũng đòi hỏi một chút mày mò.
Btrfs lại tiện lợi và linh hoạt hơn nhiều. Những việc như tạo volume mới, bật tính năng nén dữ liệu hay tạo subvolume đều diễn ra rất 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 chiếc NAS của mình cùng với tất cả các ứng dụng đã cài đặt còn hơn là dành thời gian cố gắng quản lý hệ thống tệp và những rắc rối của nó. Đó là lý do tại sao Btrfs có ý nghĩa hơn đối với tôi.
Khe cắm NVMe trên thiết bị NAS Synology, minh họa cho việc mở rộng lưu trữ dễ dàng
Tích hợp tốt hơn với các công cụ bên thứ ba
Rất nhiều ứng dụng Linux được xây dựng xung quanh Btrfs, giúp chúng dễ dàng ghép nối với các hệ thống như của tôi một cách đáng kinh ngạc. Tôi cần chức năng snapshot vừa để sao lưu vừa để dễ dàng quay trở lại phiên bản gần đây nếu có gì đó bị hỏng. Snapper và Timeshift là hai trong số những công cụ đáng tin cậy nhất cho nhiệm vụ này, và chúng hoạt động với Btrfs ngay cả ở cấp subvolume để tự động hóa quá trình tạo snapshot và giúp việc phục hồi siêu dễ dàng.
Các snapshot của ZFS chắc chắn rất mạnh mẽ, nhưng nhiều công cụ desktop Linux như vậy lại không tích hợp tốt với ZFS ngay từ đầu. Và vì NAS của tôi đôi khi cũng hoạt động như một máy tính desktop Linux nhẹ, Btrfs giúp tôi không phải tự viết script cho mọi thứ một cách thủ công.
Máy tính MacBook kết nối với thiết bị NAS, minh họa việc sử dụng các công cụ quản lý sao lưu
Linh hoạt khi thêm ổ đĩa
Như đã đề cập trước đó, ZFS yêu cầu bạn phải lên kế hoạch cho các pool lưu trữ 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 plug-and-play đơn giản. Nó thường đòi hỏi bạn phải tạo ra các thiết bị ảo (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 bộ nhớ khi cần vào các hệ thống tệp hiện có và cân bằng lại dữ liệu mà không cần xây dựng lại toàn bộ pool từ đầu. Điều này có ý nghĩa 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 khoang ổ đĩa bên trong máy chủ Lenovo ThinkSystem, minh họa khả năng mở rộng ổ cứng cho NAS
Hiệu quả năng lượng
Mặc dù hiện tại tôi đã giảm thời gian hoạt động của NAS, nhưng trước đây tôi thường để nó chạy 24/7. Và khi NAS của bạn chạy liên tục trong thời gian dài như vậy, hiệu quả năng lượng là điều quan trọng. Vì ZFS sử dụng nhiều tài nguyên bộ nhớ, CPU và ổ đĩa hơn, nên đương nhiên nó ngốn điện hơn.
Từ những gì tôi đã tìm hiểu khi so sánh hai hệ thống tệp này, Btrfs gọn nhẹ và tiêu tốn ít RAM và CPU hơn khi ở trạng thái không tải. Nó cũng không khiến các ổ đĩa phải quay thường xuyên. Điều này không chỉ tiết kiệm điện mà còn giúp hệ thống yên tĩnh hơn và giảm mài mòn ổ đĩa, đảm bảo chiếc NAS tại nhà của bạn hoạt động bền bỉ hơn.
Ổ cứng HDD Seagate trong khung gắn, sẵn sàng lắp vào thiết bị NAS TerraMaster
Cắm cáp Ethernet vào cổng LAN trên thiết bị NAS TerraMaster, liên quan đến hoạt động và tiêu thụ điện
Hỗ trợ nén dữ liệu minh bạch
Đúng là cả Btrfs và ZFS đều hỗ trợ tính năng nén dữ liệu minh bạch, 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 tính năng nén trên từng subvolume riêng lẻ, nhờ đó 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 dữ liệu cho các tệp log, sao lưu cấu hình và tài liệu hoạt động rất hiệu quả – hệ thống xử lý mà không có bất kỳ sụt giảm hiệu suất đáng kể nào. Đây là một cách tốt để có thêm một chút không gian lưu trữ mà không phải suy nghĩ quá nhiều về nó. Mặc dù ZFS cũng mang lại những lợi ích tương tự, nhưng tính linh hoạt và dễ sử dụng của Btrfs đã thuyết phục tôi chọn hệ thống này.
Thiết bị NAS Ugreen, minh họa cho các hệ thống tệp thế hệ mới
Có rất nhiều điều bạn chỉ có thể học được về NAS sau khi đã thực sự sở hữu và thiết lập nó. Một khi hệ thống đã hoạt động, bạn sẽ học hỏi được rất nhiều kinh nghiệm – cả tốt và xấu – trên hành trình tối ưu hóa nó cho nhu cầu của mình. Bạn không thể đẩy nhanh quá trình học hỏi đó; bạn phải tự trải nghiệm, giống như cách tôi đã làm với Btrfs và ZFS, trước khi đưa ra quyết định cuối cùng. Tuy nhiên, đôi khi học hỏi từ những sai lầm của người khác có thể giúp trải nghiệm NAS của bạn tốt hơn ngay từ ngày đầu tiên.