不用TrueNAS也能搭ZFS NAS?我用Debian搞了个极简方案

2026年7月8日 34点热度 0人点赞 0条评论

不用TrueNAS也能搭ZFS NAS?我用Debian搞了个极简方案

家里存了几年的照片、视频、各种资料,之前一直用移动硬盘备份,直到有天硬盘直接挂了,差点哭出来。痛定思痛,决定搞个NAS。但是TrueNAS那套系统对我来说太重了——我就是想把文件共享出来,不需要那么多花里胡哨的功能。

后来发现,ZFS其实完全可以脱离TrueNAS独立运行。我用Debian 12 + OpenZFS搞了一套极简NAS,跑了两个月了,稳得很。今天把过程记录下来,给同样不想折腾复杂系统的兄弟参考。

为什么选ZFS而不是传统的RAID?

ZFS最让我惊艳的一个特性:所有配置信息都存在磁盘本身。意思是,就算你的系统盘炸了,把ZFS磁盘接到任何一台装了zfs工具的机器上,跑一下zfs import,数据就回来了。这种"数据自包含"的设计,传统RAID完全做不到。

我选了RAIDZ1(相当于RAID 5),4块4TB NVMe做存储,留一块盘的冗余。实际可用大概10TB左右,够用了。

实操步骤

第一步:识别磁盘。用lsblk -d -o TRAN,NAME,TYPE,MODEL,SERIAL,SIZE列出所有磁盘。我建议在/etc/zfs/vdev_id.conf里给每块盘设个别名,比如nvme0、nvme1,这样创建池的时候看着清楚。千万别用/dev/nvme1这种路径,顺序不保证。

第二步:创建ZFS池。一行命令搞定:

zpool create -o ashift=12 tank raidz1 /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_XXX /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_YYY /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_ZZZ /dev/disk/by-id/nvme-Samsung_SSD_990_PRO_4TB_WWW

第三步:设置Samba共享。装好samba后在/etc/samba/smb.conf里加一段共享配置,然后systemctl restart smbd就行。

踩坑记录

  • ashift参数:NVMe盘一定要设ashift=12,不设的话4K扇区对不齐,性能差一截。
  • 磁盘别名:一开始我偷懒用/dev/nvme1n1,结果换了一块盘之后顺序全乱了。老老实实用by-id路径。
  • ECC内存:ZFS推荐用ECC内存,虽然不是强制的,但数据无价,别省这个钱。

最后说两句

这套方案跑了一个多月,功耗比想象中低,SMB共享速度跑满万兆没问题。如果你跟我一样只是想安安静静共享文件,不想装一整套TrueNAS,Debian + ZFS真的够了。折腾的乐趣就在于——用自己的方式解决问题。

参考:原文链接

veenyi

这个人很懒,什么都没留下

文章评论