树莓派搭建低成本NAS全攻略:硬件选型与性能优化
·
1. 为什么选择树莓派搭建NAS?
去年我帮朋友组装了一台传统NAS,花费近3000元。后来偶然用闲置的树莓派4B试做NAS,成本不到800元就实现了基础功能。这种性价比差异让我开始深入研究树莓派NAS方案。
树莓派作为NAS核心有三大不可替代的优势:
- 硬件成本可控 :树莓派5单板仅400元左右,加上硬盘盒和旧硬盘就能组成基础存储系统
- 能耗经济性突出 :实测树莓派5带2TB机械硬盘待机功耗仅5W,年电费约25元
- 扩展性强 :GPIO接口可连接温湿度传感器监控存储环境,USB3.0接口支持高速外接阵列
但需要注意两个性能瓶颈:
- 千兆网口理论传输速度125MB/s,实际受限于USB3.0控制器共享带宽
- 处理加密传输时CPU占用率可能达到70%以上
实测数据:树莓派5通过SMB协议传输10GB视频文件包,平均速度稳定在90MB/s,完全能满足4K视频流需求
2. 硬件选型与系统准备
2.1 硬件配置方案
根据存储需求推荐两种配置:
-
基础版 (<4TB):
- 树莓派5(4GB内存版足够)
- 2.5英寸机械硬盘+USB3.0硬盘盒
- 32GB TF卡(系统盘)
- 金属外壳(改善散热)
-
进阶版 (≥4TB):
- 树莓派5+主动散热风扇
- 3.5英寸硬盘+带电源硬盘盒
- 64GB TF卡
- USB千兆网卡(解决带宽共享问题)
避坑提示:避免使用劣质硬盘盒,我遇到过供电不足导致硬盘频繁掉线的情况。推荐ORICO 2588U3型号,带独立12V电源接口。
2.2 系统安装要点
使用官方Raspberry Pi Imager时特别注意:
-
在高级设置中(齿轮图标):
- 开启SSH服务
- 配置WiFi连接(即使计划用有线网络)
- 设置时区为Asia/Shanghai
-
首次启动后务必执行:
sudo apt update && sudo apt full-upgrade -y
sudo raspi-config
在配置界面中:
- 选择"Advanced Options"→"Expand Filesystem"
- 设置GPU内存为16MB(足够NAS使用)
3. 存储配置实战
3.1 硬盘初始化最佳实践
连接硬盘后按以下流程操作:
- 查看设备标识:
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
典型输出:
sda 4.5T # 新硬盘
mmcblk0 29.8G / # 系统卡
- 使用parted工具分区(比fdisk更适合大容量硬盘):
sudo parted /dev/sda
(parted) mklabel gpt # 创建GPT分区表
(parted) mkpart primary 0% 100% # 全盘单分区
(parted) quit
- 推荐使用btrfs文件系统:
sudo mkfs.btrfs -L NAS_Storage /dev/sda1
优势:
- 支持数据校验和自动修复
- 可实现快照备份
- 透明压缩节省空间
3.2 智能挂载配置
修改/etc/fstab时建议添加这些参数:
/dev/sda1 /mnt/nas btrfs defaults,noatime,compress=zstd:3,autodefrag 0 2
参数解析:
- compress=zstd:3:启用ZSTD压缩(级别3)
- noatime:减少写操作
- autodefrag:自动碎片整理
创建共享目录时建议的权限方案:
sudo mkdir -p /mnt/nas/{public,private}
sudo chown -R pi:pi /mnt/nas/public
sudo chmod 1777 /mnt/nas/public # 类似/tmp的粘滞位
4. 网络服务配置进阶
4.1 Samba调优方案
编辑/etc/samba/smb.conf时在[global]段添加:
[global]
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
min receivefile size = 16384
write cache size = 524288
getwd cache = yes
max xmit = 65536
共享配置示例:
[Media]
path = /mnt/nas/public
valid users = @smbusers
browseable = yes
writable = yes
create mask = 0664
directory mask = 0775
veto files = /.DS_Store/.Trashes/
delete veto files = yes
4.2 安全加固措施
- 防火墙设置:
sudo apt install ufw
sudo ufw allow from 192.168.1.0/24 to any port 445
sudo ufw enable
- 创建专用用户组:
sudo groupadd smbusers
sudo usermod -aG smbusers pi
sudo smbpasswd -a pi
- 定期更新检查脚本:
#!/bin/bash
apt update && apt list --upgradable
samba-tool dbcheck
5. 实用功能扩展
5.1 自动化备份方案
使用rsync+systemd定时备份:
- 创建备份服务文件/etc/systemd/system/nas-backup.service:
[Unit]
Description=NAS Backup Service
[Service]
Type=oneshot
ExecStart=/usr/bin/rsync -avz --delete /home/pi/important /mnt/nas/backups
- 创建定时器/etc/systemd/system/nas-backup.timer:
[Unit]
Description=Daily Backup
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
- 启用服务:
sudo systemctl enable nas-backup.timer
sudo systemctl start nas-backup.timer
5.2 状态监控方案
安装Grafana+Prometheus监控:
docker run -d -p 3000:3000 --name grafana grafana/grafana
docker run -d -p 9090:9090 --name prometheus prom/prometheus
配置prometheus.yml监控项:
scrape_configs:
- job_name: 'raspberry'
static_configs:
- targets: ['localhost:9100']
使用node_exporter采集数据:
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-armv7.tar.gz
tar xvf node_exporter-*.tar.gz
./node_exporter-*/node_exporter &
6. 性能优化实测
通过实际测试对比不同配置效果:
| 配置方案 | 连续写入速度 | 随机4K读取 | CPU占用率 |
|---|---|---|---|
| 机械硬盘默认 | 85MB/s | 0.8MB/s | 45% |
| 机械硬盘调优 | 92MB/s | 1.2MB/s | 38% |
| SSD默认 | 105MB/s | 28MB/s | 32% |
| SSD调优 | 118MB/s | 35MB/s | 25% |
调优方法:
- 在/etc/sysctl.conf添加:
vm.swappiness=10
vm.vfs_cache_pressure=50
- 为Samba增加写缓存:
echo $((16*1024*1024)) > /proc/sys/vm/dirty_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_background_bytes
这套配置已经稳定运行8个月,经历过三次断电意外,得益于btrfs文件系统的稳定性,数据完整性检查全部通过。对于家庭用户来说,树莓派NAS的性价比和可玩性确实远超传统方案
更多推荐



所有评论(0)