
家里那台旧电脑吃灰半年后我总算给它找了个正经归宿——自建一台家用NAS。折腾下来最大的感受是网上教程多但能一口气把事情讲透的太少。要么只给你甩几条命令要么上来就推高价成品机很少有人把“为什么要这样选”“这个坑在哪”讲明白。这篇就按我实际踩完的流程把从硬件选型、系统部署到数据备份的完整路径捋一遍给也想动手的朋友当个参考。1. 项目概述与需求拆解1.1 核心需求解析先想清楚你要NAS干什么很多人第一步就走错了先买硬件再想用途结果不是性能过剩就是硬盘位不够。做NAS之前我建议你先花十分钟把需求写下来。以我为例最初的需求清单只有三条手机照片自动备份释放64G存储压力家庭内多设备两台笔记本、一台平板、两部手机共享影音文件能在外网访问家里文件偶尔取个工作文档需求定下来硬件的选择方向就清晰了。如果只做照片备份和文件共享入门级J系列处理器就够但涉及视频转码、Docker跑服务就得考虑i3级别以上的CPU。我的旧电脑是i5-840016G内存实测跑4盘位阵列、三个Docker容器外加Plex转码CPU占用基本在20%以下性能冗余很充分。还有一个容易忽略的点噪音和功耗。放在客厅的NAS和放储物间的NAS对硬件要求完全不同。我的机器放在书房晚上能听到硬盘读写声所以选择了带风扇调速的低功耗方案。这一点后面细说。1.2 方案选型背后的关键权衡市面上的方案大体分三类白群晖、自组黑群晖、开源系统。我直接排除了前两个原因很实际白群晖省心但贵。四盘位入门机型两千多起步加硬盘整套下来轻松破四千。对只是想试试水的玩家来说这笔投入有点重。黑群晖便宜但隐患多。系统引导需要特殊处理升级时容易失联而且严格来说属于灰色地带不适合当作长期主力方案。剩下就是开源系统。TrueNAS SCALE、OpenMediaVault、Unraid三选一。我最后选了TrueNAS SCALE看中的是ZFS文件系统的数据完整性校验能力——它能定期扫描并修复静默数据损坏这是ext4和NTFS做不到的。代价是需要较大内存官方建议8G起步我的16G配置跑起来正好。提示如果你只是想“能存文件就行”OpenMediaVault更轻量树莓派都能跑对数据可靠性要求高愿意付出学习成本选TrueNAS不会错。2. 硬件准备与系统安装2.1 旧电脑改造的完整硬件检查清单决定沿用旧电脑后第一件事不是装系统而是逐项检查硬件是否适合7x24小时运行。我的检查顺序是电源旧电源如果用了五年以上建议直接换新。硬盘对供电波动很敏感供电不稳是坏盘的首要原因。我换了一个400W 80Plus铜牌电源实测整机功耗待机35W、读写时55W左右余量充足。内存ZFS对内存要求高建议至少8G。我的16G两条DDR4组成双通道跑得很稳。硬盘接口确保主板有足够的SATA接口我这块板子原生6个SATA口接4块硬盘加系统盘绰绰有余。网卡建议千兆起步我的板载网卡是Realtek 8111兼容性没问题。追求2.5G网速的话需要加装PCIe网卡。散热旧散热器用了几年积灰严重我清灰后重新涂了硅脂硬盘温度稳定在38度左右。旧电脑改造还有一个好处配件坏了容易换。不像成品NAS硬盘位和主板绑死一旦主板故障要么返厂要么整套淘汰。2.2 系统安装的几个关键步骤系统层面我用的是TrueNAS SCALE基于Debian安装过程比想象中顺利但有几个细节值得注意。首先是启动盘的选择。装系统的U盘不建议用作系统盘——U盘写入寿命短日志频繁读写容易挂。我专门空出一块120G的SATA固态做系统盘机械硬盘全部留给数据存储。其次是安装流程。启动镜像写入U盘后开机进BIOS调整启动顺序从U盘引导进入安装界面。安装过程中有几个选项容易让人犹豫网络配置建议选DHCP自动获取后续在Web管理界面里改静态IP更直观swap分区大小保持默认即可TrueNAS对swap依赖不大。最后是安装完成后的首次登录。TrueNAS默认通过浏览器访问管理界面地址就是机器的IP。这里有一个新手常犯的错直接用root登录。TrueNAS要求先用安装时设置的root密码登录然后建议立刻创建普通用户日常操作用普通用户避免误删系统文件。2.3 存储池创建容量规划与性能平衡创建存储池这一步我特意多花了些心思因为这里直接决定后面扩容和容错的灵活性。TrueNAS里“存储池”是逻辑概念底层是ZFS的vdev。我手里有四块4T硬盘两种组法全部组一个RAIDZ1可用容量约12T允许坏一块盘。两两一组做镜像可用容量8T每组允许坏一块盘。我最后选了RAIDZ1理由很简单容量优先而且我在第4部分会讲的备份策略能兜底。万一阵列真的出现故障我只是失去冗余保护不代表数据一定丢——备份才是最后防线。顺便说一下校验盘的选择。RAIDZ1模式下每块盘都参与读写不存在单独的“校验盘”性能和容量分布均匀。这也是我推荐RAIDZ1而非传统RAID5的原因之一两者容错能力相同但ZFS的自愈机制是传统RAID5没有的。3. 核心功能配置与优化3.1 共享目录的权限模型设计如果说存储池是NAS的地基共享目录和权限就是房子里的房间布局。这一步做不好后面家人用起来会频繁找你“这东西我删不掉”“这个文件夹我打不开”。TrueNAS的权限模型基于Unix权限体系跟Windows的习惯很不一样。我一开始也被绕晕过后来总结出一个稳妥的套路顶层数据集比如/mnt/pool/data设置一个属主比如我自己的账号。数据集内部的子目录照片、电影、文档分别设置属主和权限组。家庭成员账号加入相应组组权限给读写其他用户只有只读。映射到Windows访问时我使用了SMB协议并开启“允许访客登录”。这样在家庭内网笔记本访问不需要每次输账号密码安全性依赖局域网本身的信任边界。外网访问则通过Tailscale组虚拟内网这个方案后面详说。权限这块我走过弯路一开始图省事把整个共享目录权限放开结果家人的手机误删了相册文件夹里的文件。虽然能从回收站找回一部分但体验很差。建议从一开始就按“最小授权”原则设置照片目录只读仅自己和信任的管理账号有写权限。3.2 数据保护策略的双层设计数据安全不能只靠RAID这句话我说给每位第一次用NAS的朋友。RAID解决的是硬件故障比如某块硬盘突然物理损坏阵列可以在不丢数据的情况下换盘重建。但它无法解决误删除。手滑删了文件RAID不会帮你恢复。勒索病毒。如果整台NAS被加密阵列再健康也没意义。雷击、水灾、失窃。物理层面的灾难RAID无能为力。我的方案分两层第一层在NAS内部定期对重要数据集做快照。TrueNAS里快照功能非常成熟我设置了每天凌晨2点对相册和文档数据集各拍一张快照保留14天。这样误删文件时可以随时从几分钟前的快照恢复比回收站灵活得多。第二层在外部异地备份。我用了一个2T移动硬盘每周末手动接上NAS把关键数据同步一次。nas里有一项“复制任务”配置好数据源和移动硬盘位置后一键启动。虽然做不到实时备份但家庭场景下数据最多丢失一周的增量这个容灾级别足够用了。注意快照不是备份它只是文件系统在某个时间点的视图如果整台NAS硬件损坏快照会跟着一起消失。真正的备份必须存放在独立介质上。3.3 外网访问的轻量方案出门在外想访问家里NAS市面上方案五花八门有公网IP的可以端口映射没有的可以用各种内网穿透工具。公网IP可遇不可求我实测最省心的是Tailscale。Tailscale的原理是在设备组之间建立虚拟内网。在NAS和手机上各装一个Tailscale客户端登录同一账号后两台设备就像在同一个局域网里直接访问内网IP就能连上NAS。全程加密不需要路由器端口映射也不需要域名和证书。安装Tailscale在TrueNAS里只需要一条命令curl -fsSL https://tailscale.com/install.sh | sh然后启动并设置自动开机运行用浏览器访问NAS的IP:9000端口完成设备绑定即可。手机上装好客户端并登录同一个账号打开虚拟网络开关就能用NAS内网IP访问SMB共享了。这套方案的一个额外好处出差时手机流量上网也能连上家里NAS取文件、看照片的体验和在家局域网里几乎一样。速度取决于双方的上行带宽实测在5G网络下浏览照片和下载小文件流畅看大视频会有缓冲但应急足够。4. Docker扩展与自动化运维4.1 用容器补齐系统能力TrueNAS SCALE自带Docker官方叫Applications这句话翻译一下你可以通过标准容器格式在NAS上跑各种各样的应用而不用担心污染底层系统。我先后装了三个容器Plex把NAS里的电影、电视剧整理成海报墙任何设备上打开Plex客户端都能直接看还能自动匹配字幕。qBittorrent下载工具支持RSS订阅配置好自动下载追更的剧集。Home Assistant智能家居中枢把米家设备接进来统一管理。容器的部署方式很简单在Applications页面找到对应应用填好存储路径映射和端口映射点部署即可。以qBittorrent为例volumes: - /mnt/pool/downloads:/downloads - /mnt/pool/config/qbittorrent:/config ports: - 8080:8080这里需要注意路径映射的写法。宿主机路径冒号左边必须是NAS上的实际路径容器内路径冒号右边保持默认即可。如果填错容器会报目录不存在。4.2 监控告警的实用配置NAS像个后台员工大多数时候安静干活但不代表不需要关注。我最开始没配监控直到有一天发现一块硬盘温度飙到50度才意识到问题的严重性。TrueNAS内置了报告页面可以看到CPU、内存、网络和磁盘的各项指标。我把它配成了每日邮件摘要每天早上自动发送前一天的运行报告。配置路径在System Alert Settings填好SMTP服务器和收件人邮箱就能用。硬盘健康方面TrueNAS会自动运行SMART检测但默认频率偏低。我改成每周一次短检测、每月一次长检测并在出问题时发告警邮件。这块还有一个细节新硬盘前几个月是高故障期如果SMART报告有重映射扇区数持续增长就要加倍留意了。4.3 自动化脚本的日常应用熟练之后你会发现NAS不止是存储设备更是家里的“小型家庭服务器”。我写了两个简单脚本都用cron定时执行第一个是清理临时文件#!/bin/bash find /mnt/pool/downloads -name *.part -mtime 7 -delete find /mnt/pool/downloads -name *.nfo -mtime 30 -delete第二个是同步相册到备份盘#!/bin/bash rsync -av --delete /mnt/pool/photos/ /mnt/backup/photos/写脚本时要注意一点路径必须用绝对路径环境变量也要显式指定bin目录因为cron执行环境不加载用户profile文件。我第一次写时就把rsync的路径写成了相对路径结果脚本一直报command not found排查了很久才反应过来。5. 常见问题与排查技巧实录5.1 性能瓶颈定位与网络调优装完系统第一次拷贝大文件发现速度只有40MB/s远低于千兆网卡的112MB/s上限。这个现象困扰了我一个下午最终定位到一个容易忽略的Windows设置。问题出在SMB协议的协商版本。Windows默认使用SMB 3.0但如果NAS侧或路由器中间链路不支持某些特性会降级到SMB 2.0性能大打折扣。在TrueNAS中我强制设置SMB最低协议版本为SMB 2.1并确认客户端没有启用严重不兼容的旧协议速度立刻回到110MB/s上下。另一个容易忽略的点是网线质量。我最初用的是一根五类网线百兆带宽只能在12MB/s左右徘徊换六类网线后才跑满千兆。家装改造建议直接预埋六类线省得以后为了速度折腾。5.2 硬盘故障处理的完整流程我用NAS半年后第二块硬盘出现SMART警告重映射扇区数达到阈值。整个过程走下来积累了一套处理经验第一步立刻检查快照任务是否正常执行确保故障前有数据保护。 第二步购买同型号同容量硬盘作为替换盘。 第三步在存储池页面找到故障盘执行替换操作。 第四步等待重建完成期间不建议进行大量写入操作。RAIDZ1重建过程大约持续了9个小时期间NAS正常读写只是性能会下降。重建完成后SMART警告消失一切恢复正常。提示重建期间如果另一块硬盘也故障数据就丢失了。所以务必额外做好备份。这个教训我付出了三个月的数据才真正记住。5.3 常见问题速查表问题现象可能原因解决思路拷贝速度只有40MB/sSMB协议协商降级在NAS侧指定最低协议版本检查客户端设置与网线外网访问连接不上Tailscale设备未在线检查NAS和手机的网络状态重启Tailscale服务硬盘温度偏高机箱风道不畅或散热器积灰清灰、调整风扇策略必要时增加机箱风扇快照无法创建数据集空间不足清理旧快照或扩展池容量Docker容器启动失败路径映射错误或端口占用检查宿主机路径是否存在换一个空闲端口系统频繁提示密码过期密码策略配置过严在Account设置中调整密码有效期或关闭强制到期排查问题我有个习惯先看系统日志再看应用日志。TrueNAS的日志集中在System Advanced System LogsDocker容器的日志在Applications页面对应容器里。很多问题日志里都会直接写明原因比瞎猜高效得多。5.4 长期运行的维护小贴士NAS运行半年后我逐渐形成了一套固定的维护节奏分享出来参考每周瞄一眼报告邮件确认SMART检测无异常。每月执行一次scrub——ZFS的定期完整性校验相当于给文件系统做全面体检。每季度换个硬盘位置避免某块盘长期承受震动或高温的局部风险。还有一件很容易被忽略的事系统更新前多看release note。TrueNAS的更新通常很稳但有一次大版本升级改变了部分网络配置的默认行为我的外网访问断了两天。从那以后每次更新前我都先在虚拟机里跑一遍同样的配置确认无异常再在真机上升级。写在最后的一点个人体会用这台NAS小半年我的最大感受是入门最难的不是技术而是理清思路。你不需要一步到位买最好的硬件也不需要第一周就配上Docker全家桶。先解决“手机照片有地方存”“文件全家共享”这两个最基本需求跑顺了再慢慢加功能。我最初只用了一个镜像存储池加两个共享目录两周后才加了Plex一个月后才开始折腾自动化脚本。到目前为止这台NAS的稳定运行让我对“数据安全”有了更实际的感知。它不是一个“该不该买”的问题而是“愿不愿意花一个周末研究部署”的问题。如果你手里正好有台闲置电脑不妨按这个流程走一遍大概率能重新激活这台硬件的价值。过程中遇到任何问题对照上面的排查表逐项过一遍大部分坎都能跨过去。