如何构建极简ZFS NAS(无需Synology、QNAP、TrueNAS)(2024)

如何构建极简ZFS NAS(无需Synology、QNAP、TrueNAS)(2024)

_

构建极简 ZFS NAS:为高级用户打造的 DIY 指南

网络附加存储 (NAS) 领域由群晖、QNAP 和 TrueNAS 等解决方案主导。这些平台提供用户友好的界面和强大的功能,但对于只需要核心功能的人来说,其价格标签可能相当昂贵。对于高级用户和爱好者来说,有一个替代方案:从头开始构建一个极简 ZFS NAS。这种方法不仅节省成本,而且为您提供对存储基础设施前所未有的控制权。在本指南中,我们将逐步介绍设置极简 ZFS NAS 的过程,借鉴了 Neil 的指南。

为什么选择 ZFS 作为您的 NAS?

ZFS(Zettabyte 文件系统)是一个现代化的文件系统,以其高级功能而闻名,包括:

  • 数据完整性:ZFS 包含校验和,用于检测和修复数据损坏。
  • 去重:消除冗余数据,节省存储空间。
  • 压缩:自动压缩数据以减少存储使用。
  • 池和数据集:灵活的存储管理,具有逻辑组织。

对于 NAS 来说,这些功能是无价的。它们确保您的数据安全,并高效地使用存储空间。虽然商业 NAS 解决方案提供 ZFS,但它们通常将您锁定在专有软件和硬件中。自行构建极简 ZFS NAS 可让您自由选择最适合您需求的组件和软件。

前置条件

在开始构建之前,请确保您具备以下条件:

  • 主板:最好选择支持 USB 3.0 或更高版本的型号,以便快速连接外部存储设备。
  • 处理器:四核 CPU 或更高级别的处理器,用于处理 ZFS 工作负载。
  • 内存:16GB 或更多;ZFS 从充足的内存中受益,用于缓存。
  • 存储:SSD 用于 ZFS 池(推荐用于性能)和 HDD 用于数据。
  • 电源:一个可靠的电源适配器,足以满足所有组件的功耗。
  • 机箱:一个紧凑型机箱,可容纳您的主板并提供良好的散热。
  • 操作系统:Linux 发行版(例如 Ubuntu Server、Debian)。

第 1 步:设置硬件

开始组装您的硬件。以下是一个基本的构建指南:

  1. 安装主板、CPU 和内存:确保所有部件都正确安装。
  2. 添加存储设备:连接您的 SSD 和 HDD。对于 ZFS,最好使用 SSD 作为池,使用 HDD 作为数据集。
  3. 电源连接:将电源适配器连接到主板、CPU 和存储驱动器。
  4. 机箱组装:安装主板,添加散热设备,并关闭机箱。

例如,使用 ASRock Q1900M 主板、Intel Celeron G5900 CPU 和 16GB 内存的一个紧凑型构建可以作为坚实的基础。

第 2 步:安装 Linux

选择一个轻量级且适合 NAS 使用的 Linux 发行版。Ubuntu Server 或 Debian 是流行的选择。以下是如何安装 Ubuntu Server 的步骤:

  1. 创建可启动的 USB:使用 balenaEtcher 将 Ubuntu Server ISO 镜像刷入 USB 驱动器。
  2. 从 USB 启动:将 USB 插入您的构建系统并从中启动。
  3. 安装 Ubuntu Server:按照屏幕上的说明操作,选择“安装 Ubuntu Server”并配置您的网络。

安装完成后,更新您的系统:

sudo apt update
sudo apt upgrade

第 3 步:安装 ZFS

ZFS 可在 Ubuntu 软件仓库中获取,安装过程非常简单:

sudo apt install zfs-server

安装完成后,初始化您的 ZFS 池:

  1. 创建磁盘标签:使用 gparted 或类似工具对您的 SSD 进行标签化。
  2. 创建池:将 /dev/sda 和 /dev/sdb 替换为您实际的驱动器路径:
sudo zpool create mypool /dev/sda /dev/sdb
  1. 验证池:
sudo zpool list

第 4 步:配置 ZFS

创建池后,是配置数据集和共享存储的时候了。

创建数据集

ZFS 中的数据集与其他文件系统中的目录类似。为您的数据创建一个数据集:

sudo zfs create mypool/data

启用 SSH

要远程访问您的 NAS,请启用 SSH:

sudo apt install openssh-server

测试连接:

ssh user@your-nas-ip

使用 Samba 共享

为了兼容 Windows,安装并配置 Samba:

sudo apt install samba

编辑 Samba 配置文件:

sudo nano /etc/samba/smb.conf

添加以下内容:

[data]
   path = /mnt/my.pool/data
   browsable = yes
   writable = yes
   guest ok = yes
   read only = no

重启 Samba:

sudo systemctl restart smbd

第 5 步:自动化备份

数据安全至关重要。设置 rsync 进行自动备份:

  1. 安装 rsync:
sudo apt install rsync
  1. 创建备份脚本(/usr/local/bin/backup.sh):
sudo nano /usr/local/bin/backup.sh

添加以下内容:

#!/bin/bash
rsync -avz /mnt/my.pool/data/ /mnt/my.pool/backup/

使其可执行:

sudo chmod +x /usr/local/bin/backup.sh
  1. 使用 cron 安排脚本:
sudo crontab -e

添加以下内容以在每天凌晨 2 点运行:

0 2 * * * /usr/local/bin/backup.sh

总结

构建极简 ZFS NAS 为高级用户提供了一种经济高效且可定制的解决方案。通过利用 ZFS 的高级功能和 Linux 的灵活性,您将获得对存储基础设施的完全控制权。无论您需要一个强大的家用 NAS 还是可扩展的服务器,本指南都为您的 DIY 项目提供了坚实的基础。关键要点包括:

  • 控制:自定义 NAS 的每个方面。
  • 性能:ZFS 的功能优化存储使用。
  • 可靠性:数据完整性和自动备份确保安全。

对于准备深入了解的用户,Neil 的指南 提供了额外的见解。祝您构建愉快!

天文7.0 2026-07-08
怀疑AI作弊,常春藤教授要求线下期末考试;分数暴跌50% 2026-07-09

评论区