1. 为什么选择树莓派搭建家用NAS?
在开始动手之前,我们先聊聊为什么树莓派会成为DIY NAS的热门选择。我家里原本有一台群晖DS218+,但去年突发奇想用树莓派4B搭建了第二台NAS后,发现这个小家伙确实有不少独特的优势。
首先是成本问题。一台入门级品牌NAS动辄上千元,而树莓派4B 4GB版本只要500元左右,加上硬盘盒和电源,总成本能控制在800元以内。更不用说那些被淘汰的旧硬盘完全可以在这里发挥余热。我用的就是五年前笔记本换下来的1TB机械硬盘,至今运转良好。
功耗表现更是惊人。实测树莓派4B带一块3.5寸硬盘的待机功耗仅6-8W,而我的群晖NAS即便在休眠状态下也有15W左右。按北京电价计算,一年能省下约40元电费。别小看这个数字,对于7×24小时运行的设备来说,长期累积相当可观。
但最吸引技术爱好者的还是它的可玩性。不同于品牌NAS封闭的系统,在树莓派上你可以自由选择OpenMediaVault、Nextcloud等各种开源方案。上周我就给系统加装了Plex媒体服务器,现在全家都能流畅观看4K电影。这种DIY的乐趣是成品NAS无法提供的。
2. 硬件选型与避坑指南
2.1 树莓派型号选择
目前市面上主流型号有树莓派4B、树莓派5和Zero 2W。经过实测,我强烈推荐选择4B 4GB版本作为NAS主机。原因有三:
- 性能足够:NAS主要吃IO性能而非CPU,4B的千兆网卡和USB3.0接口完全够用
- 性价比高:5代虽然性能提升30%,但价格贵了一倍
- 兼容性好:4B的散热方案成熟,不像5代存在过热降频问题
重要提示:千万别选Zero系列!虽然便宜,但USB2.0和百兆网卡会成为性能瓶颈,传输速度连20MB/s都达不到。
2.2 存储方案设计
我的配置方案经历了三次迭代,最终稳定在以下组合:
- 系统盘:32GB SanDisk Ultra microSD卡(注意要选A1/A2级别的)
- 数据盘:西数Elements 4TB移动硬盘(拆壳使用)+ 旧笔记本1TB机械硬盘
这里有个血泪教训:最初我用的是某国产杂牌SD卡,结果三个月后系统崩溃,不得不重装。后来换了工业级SD卡再没出过问题。建议预算充足的话直接上三星PRO Endurance这类高耐久卡。
硬盘连接方式也有讲究:
- 2.5寸硬盘可以直接用USB3.0转接线
- 3.5寸硬盘必须配带电源的硬盘盒
- 多盘位建议用USB Hub,但一定要选支持BC1.2充电协议的
3. 系统安装与基础配置
3.1 操作系统选择
试过Raspbian、Ubuntu Server等多个系统后,我最终选择了专为NAS优化的OpenMediaVault(OMV)。它的优势在于:
- 自带Web管理界面,告别命令行恐惧
- 支持SMB/NFS/FTP等多种协议
- 插件系统丰富(Docker、Plex等一键安装)
安装步骤比想象中简单:
- 官网下载OMV镜像(约500MB)
- 用Raspberry Pi Imager写入SD卡
- 首次启动后通过浏览器访问http://树莓派IP
3.2 网络优化设置
为了让传输速度最大化,这几个设置必不可少:
- 有线网络优先:
sudo nano /etc/dhcpcd.conf # 添加以下内容 interface eth0 metric 100 interface wlan0 metric 200- 关闭IPv6(国内环境基本用不到):
sudo nano /etc/sysctl.conf # 添加 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1- 修改MTU值(提升大文件传输效率):
sudo ifconfig eth0 mtu 90004. 存储管理与共享设置
4.1 磁盘格式化与挂载
在OMV网页界面操作比命令行方便得多:
- 存储 → 磁盘 → 选择你的硬盘
- 点击擦除 → 选择EXT4格式(NTFS会有权限问题)
- 文件系统 → 创建 → 挂载
但有个细节需要注意:如果硬盘之前是NTFS格式,建议先在Windows下用diskpart执行clean操作,否则可能出现无法识别的情况。
4.2 Samba共享配置
在"服务→SMB/CIFS"中启用服务后,按以下步骤创建共享:
- 共享文件夹 → 新建 → 选择挂载点
- 权限设置 → 勾选"可读写"
- 高级设置里建议开启:
- 回收站功能
- 隐藏点文件
- 强制用户权限
实测传输速度:通过千兆局域网,大文件读写能稳定在110MB/s左右,相当于跑满了USB3.0的带宽。这个表现已经足够家庭使用了。
5. 进阶功能与优化
5.1 自动备份方案
我用rsync+crond实现了三重备份:
- 手机照片自动备份(用FolderSync App)
- PC重要文档每周同步
- 关键数据加密上传到云盘
具体实现(以PC备份为例):
#!/bin/bash rsync -avz --delete \ --exclude='*.tmp' \ --exclude='Downloads/' \ /home/user/Documents/ \ pi@nas:/shared/PC_Backup/然后添加到crontab:
0 3 * * 6 /home/pi/backup.sh5.2 媒体中心搭建
安装Plex的完整命令:
sudo apt install apt-transport-https curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add - echo deb https://downloads.plex.tv/plex-media-server-new/raspbian/ public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list sudo apt update && sudo apt install plexmediaserver关键配置点:
- 转码设置选择"仅当需要时"
- 硬件加速开启"Video4Linux"
- 媒体库扫描间隔设为6小时
6. 安全防护与维护
6.1 基础安全设置
- 修改默认SSH端口:
sudo nano /etc/ssh/sshd_config # 修改Port 22为其他端口- 启用防火墙:
sudo apt install ufw sudo ufw allow from 192.168.1.0/24 sudo ufw enable- 定期更新:
sudo apt update && sudo apt upgrade -y6.2 监控与告警
安装Netdata监控:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)配置邮件告警(以Gmail为例):
sudo nano /etc/netdata/health_alarm_notify.conf # 修改SMTP配置 SMTP_SERVER=smtp.gmail.com:587 SMTP_USER=your@gmail.com SMTP_PASS=your-password7. 性能调优实战
7.1 硬盘休眠配置
编辑hdparm配置:
sudo nano /etc/hdparm.conf # 添加 /dev/sda { spindown_time = 120 apm = 127 }验证是否生效:
sudo hdparm -C /dev/sda7.2 内存优化
修改swappiness值:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf增加磁盘缓存:
echo 'vm.dirty_background_ratio = 5' | sudo tee -a /etc/sysctl.conf echo 'vm.dirty_ratio = 10' | sudo tee -a /etc/sysctl.conf经过三个月持续使用,这套树莓派NAS系统已经稳定运行了2000+小时。最大的惊喜是电费账单——相比之前用旧PC做NAS,每月能省下近10度电。对于技术爱好者来说,既能满足折腾的乐趣,又能获得实用价值,这才是DIY的精髓所在。