树莓派搭建 NAS 家庭网络存储:从硬件选型到 Samba 配置全流程
想低成本拥有全家共享的私有网盘?树莓派 + 外接硬盘 + Samba 即可组建低功耗、全天候在线的 NAS。本文覆盖硬件清单、系统安装、磁盘分区格式化、Samba 共享配置、权限管理、性能优化及常见问题排查,手把手带您从零交付可用 NAS。
硬件清单(最小可用集)
- 树莓派 4B (2/4/8 GB) —— 千兆网口 + USB 3.0 保证吞吐
- 优质 5V/3A USB-C 电源(官方电源首选,避免欠压降频)
- 外接存储:USB 3.0 移动硬盘盒 + 3.5″ 机械盘(性价比最高)或 NVMe SSD + USB 3.1 Gen2 转接器(高性能)
- MicroSD 卡 (≥32 GB, Class 10/A1) —— 仅跑系统
- 网线 (Cat5e+) 直连路由器 LAN 口
- 可选:NAS 专用外壳 (Argon ONE, Geekworm X825 等) 集成散热、电源管理、SATA 转接
软件准备:Raspberry Pi OS (64-bit) Lite
- 官网下载 Raspberry Pi OS (64-bit) Lite 镜像。
- 用 Raspberry Pi Imager 烧录:
– 勾选 “Enable SSH”、“Set username/password”、“Configure wireless LAN”(如用 Wi-Fi)
– 设置 hostname 如 `pinas.local` 方便局域网访问 - 插卡上电,等待 SSH 就绪(路由器客户端列表查 IP)。
磁盘初始化与自动挂载
# 1. 查看磁盘
lsblk -f
# 假设目标盘为 /dev/sda (无分区)
# 2. 分区 (GPT + 单分区 ext4)
sudo parted /dev/sda mklabel gpt
sudo parted /dev/sda mkpart primary ext4 0% 100%
# 3. 格式化
sudo mkfs.ext4 -L NAS_DATA /dev/sda1
# 4. 获取 UUID
blkid /dev/sda1
# 记录 UUID=xxxx-xxxx
# 5. 创建挂载点 & 写入 fstab
sudo mkdir -p /mnt/nasdata
echo "UUID=xxxx-xxxx /mnt/nasdata ext4 defaults,noatime,nofail 0 2" | sudo tee -a /etc/fstab
# 6. 挂载验证
sudo mount -a
df -h /mnt/nasdata
Samba 安装与核心配置
sudo apt update && sudo apt install -y samba samba-common-bin
# 备份原配置
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# 编写极简可用配置
sudo tee /etc/samba/smb.conf > /dev/null <<'EOF'
[global]
workgroup = WORKGROUP
server string = PiNAS %v
security = user
map to guest = Bad User
log file = /var/log/samba/log.%m
max log size = 50
logging = file
panic action = /usr/share/samba/panic-action %d
# 性能调优
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
read raw = yes
write raw = yes
max xmit = 65535
deadtime = 15
getwd cache = yes
[NAS]
path = /mnt/nasdata
browseable = yes
read only = no
force create mode = 0660
force directory mode = 0770
valid users = @nasusers
write list = @nasusers
EOF
创建用户组与账号
sudo groupadd nasusers
sudo usermod -aG nasusers pi # 把 pi 加入组
sudo smbpasswd -a pi # 设置 Samba 密码 (可与系统密码不同)
# 按需添加家庭成员账号
sudo useradd -M -s /usr/sbin/nologin -G nasusers alice
sudo smbpasswd -a alice
权限落地
sudo chown -R root:nasusers /mnt/nasdata
sudo chmod -R 2770 /mnt/nasdata # SGID 保证新建文件继承组
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd
客户端访问验证
- Windows:资源管理器地址栏输入 `\\pinas.local\NAS` 或 `\\
\NAS` - macOS:Finder → Command+K → `smb://pinas.local/NAS`
- Linux:文件管理器 `smb://pinas.local/NAS` 或 `mount -t cifs`
- 移动端:ES 文件浏览器、FE 文件管理器、Files (iOS) 均支持 SMB
性能优化与进阶玩法
| 优化项 | 操作 | 收益 |
|---|---|---|
| 启用 USB 3.0 UAS 模式 | 确认 `lsusb -t` 显示 `uas` 驱动,非 `usb-storage` | 随机 IOPS 提升 2–3× |
| 调整 CPU 频率策略 | `sudo apt install cpufrequtils` 设置 `performance` 模式 | 持续吞吐更稳 |
| 启用 Samba 多通道 | 树莓派 4B 单网口不适用,双网口机型可开 | 聚合带宽 |
| 加装风扇/金属外壳 | 核心温度 < 60 °C 避免降频 | 持续写入不掉速 |
| 配置定时休眠 | `hdparm -S 120 /dev/sda` (10 分钟无访问休眠) | 省电护盘 |
| Docker 部署应用 | Portainer, Jellyfin, Nextcloud, qBittorrent, Home Assistant | 一机多用 |
常见故障排查速查
- 访问拒绝:检查 `valid users`/`write list`、Linux 文件权限、SELinux/AppArmor(树莓派默认无)。
- 速度仅 10–20 MB/s:确认千兆链路 (`ethtool eth0`)、UAS 驱动、硬盘非 SMR 叠瓦盘、Samba `socket options` 生效。
- 掉盘/只读:供电不足 → 换官方电源/带供电 HUB;文件系统错误 → `sudo fsck.ext4 -f /dev/sda1`。
- Windows 凭据反复弹窗:凭据管理器删除旧条目,或注册表 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth=1`。
结语
树莓派 NAS 以 **< 10 W 功耗、< $100 硬件成本** 即可跑满千兆网口 (110 MB/s),承载全家照片、视频、备份、媒体库、下载机。按本文流程落地,30 分钟即可拥有生产级可用 NAS。后续可按需扩展:双盘 RAID1 (mdadm)、SnapRAID+MergerFS 奇偶校验阵列、Docker 化服务编排、frp/ZeroTier 实现公网安全访问。如需定制化镜像、Docker Compose 模板、外壳 3D 打印模型,欢迎联系我们。
工业技术
- 树莓派 3 配合 PubNub 实现远程气象监测
- 树莓派 Zero 配合 Node‑RED 融合 TI SensorTag 与 Blynk 物联网平台
- 树莓派 PIR 运动传感器控制 LED 实战指南
- 构建可靠电流镜像电路:分步指南
- 打造黄金 ERP 实施团队:六大核心角色与责任矩阵,规避实施失败陷阱
- 掌握 Fusion 360 DXF 导入:分步指南
- 电热水器开关控制全攻略:单极/双极/中间开关接线图解
- 数字万用表测量电容实操指南:原理、步骤与避坑
- 数字万用表测量频率实操指南:原理、双模式操作与干扰排查
- 构建自动化仓库:现代化运营的分步指南
- 3D打印机如何制造金属零件:从粉末到精密成品
- 升级运营:利用物联网储罐监测实现更安全、智能、盈利的石油管理