Back to Explore
Hướng dẫn tự xây dựng NAS ZFS tối giản: Không cần Synology, QNAP hay TrueNAS

Hướng dẫn tự xây dựng NAS ZFS tối giản: Không cần Synology, QNAP hay TrueNAS

Bạn muốn tự dựng một hệ thống NAS hiệu năng cao, linh hoạt mà không muốn bị phụ thuộc vào các nền tảng cồng kềnh như TrueNAS? Bài viết này hướng dẫn chi tiết cách thiết lập hệ thống NAS ZFS thuần túy trên Linux, quản lý ổ cứng bằng vdev_id và chia sẻ dữ liệu qua Samba một cách chuyên nghiệp.

Website
Upvote this postSign in to upvote this article.

Hướng dẫn tự xây dựng NAS ZFS tối giản: Không cần Synology, QNAP hay TrueNAS

Đối với những người dùng hệ thống máy chủ lưu trữ (NAS) đơn giản và không có nhu cầu sử dụng các giao diện đồ họa (GUI) phức tạp, việc tự thiết lập bộ dữ liệu ZFS và chia sẻ qua mạng bằng Samba là một giải pháp cực kỳ hiệu quả. TrueNAS là một nền tảng tuyệt vời, nhưng đôi khi sự cồng kềnh của nó lại dư thừa đối với những người muốn làm chủ hoàn toàn hệ thống của mình.

Ảnh minh họa hệ thống NAS

Tại sao nên chọn ZFS?

Một đặc tính quan trọng nhưng ít được giải thích rõ ràng của ZFS chính là khả năng tự chứa (self-contained). Mọi thông tin cấu hình đều nằm ngay trên chính các ổ đĩa vật lý. Nếu hệ điều hành của bạn gặp sự cố, bạn chỉ cần mang số ổ đĩa đó sang một máy chủ mới, cài đặt ZFS và chạy lệnh zfs import. Dữ liệu của bạn sẽ được khôi phục nguyên vẹn mà không cần cấu hình lại từ đầu.

Bước 1: Liệt kê và chuẩn bị ổ đĩa

Trước tiên, hãy xác định các ổ đĩa trên máy chủ Linux bằng lệnh:

lsblk -d -o TRAN,NAME,TYPE,MODEL,SERIAL,SIZE

Để đảm bảo tính nhất quán, hãy xem ánh xạ của các ổ đĩa thông qua ID:

ls -lh /dev/disk/by-id

Thiết lập Alias cho ổ đĩa

Để tránh rủi ro khi tên thiết bị (/dev/nvme1, v.v.) thay đổi, bạn nên tạo file cấu hình /etc/zfs/vdev_id.conf để ánh xạ alias cho ổ cứng:

alias nvme0 /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_XXXXXXXXXXXXXXX
alias nvme1 /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_XXXXXXXXXXXXXXX
...

Chạy lệnh udevadm trigger sau khi cấu hình để áp dụng thay đổi.

Bước 2: Khởi tạo ZFS Pool

Sau khi đã cài đặt ZFS (ví dụ: dnf install zfs trên RHEL), hãy tạo pool. Lưu ý sử dụng ashift=12 (tương đương 4KB sector) để tối ưu hóa hiệu năng cho các dòng SSD hiện đại:

zpool create -o ashift=12 s16z1 raidz1 nvme0 nvme1 nvme2 nvme3

Kiểm tra trạng thái:

zpool status s16z1

Cấu hình mount point và bật nén dữ liệu:

zfs set mountpoint=/mnt/s16z1 s16z1
zfs set compression=lz4 s16z1

Tạo các bộ dữ liệu (datasets) để phân loại file:

zfs create s16z1/docs
zfs create s16z1/backups

Bước 3: Chia sẻ qua Samba

ZFS không quan tâm đến phương thức chia sẻ. Chúng ta sẽ dùng Samba để kết nối qua mạng.

  1. Cài đặt Samba và tạo người dùng:
useradd -m john
passwd john
smbpasswd -a john
  1. Cấu hình /etc/samba/smb.conf:
[docs]
   path = /mnt/s16z1/docs
   browseable = yes
   read only = no
   valid users = john

[backups]
   path = /mnt/s16z1/backups
   read only = no
   inherit acls = yes
   spotlight = yes
   fruit:time machine = yes
   vfs objects = catia fruit streams_xattr

Với cấu hình này, bạn đã thiết lập thành công một NAS tối giản, hiệu năng cao và đặc biệt là khả năng bảo vệ dữ liệu cực tốt từ hệ thống tập tin ZFS. Bạn có thể truy cập bằng macOS thông qua Finder (cmd+K) hoặc qua smbclient trên Linux.

Discussion (0)

You need to log in to post comments. Log In

No comments yet. Start the discussion!

Do you like this post?

Upvote to push this post higher on the community feed

Details

Posted by: @admin
Categories: Developer Tools
Date posted: 8 tháng 7, 2026