把树莓派变成一个安静的家用 NAS
家里有几台设备(Mac、PC、手机、投影),都有"共享点东西"的需求:照片备份、下载的剧、临时文件。以前开 SMB 共享都用主力电脑,后来嫌每次都得开电脑麻烦,就搞了台树莓派专门干这事。
硬件
- Raspberry Pi 4B(2GB 就够,4GB 更宽裕)
- 一张靠谱的 SD 卡(A2 等级以上,32GB 起步)
- 外接硬盘盒 + HDD(或 SSD),走 USB 3.0
- 千兆网(走有线,不要 Wi-Fi)
装系统
用 Raspberry Pi OS Lite(无桌面),启动后:
sudo apt update && sudo apt upgrade -y
sudo raspi-config
# 配时区、改主机名、开启 SSH
挂硬盘
插上 USB 硬盘,找设备:
lsblk
sudo blkid /dev/sda1 # 拿 UUID
格式化(ext4):
sudo mkfs.ext4 /dev/sda1
sudo mkdir -p /mnt/nas
echo "UUID=xxxx-xxxx /mnt/nas ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab
sudo mount -a
装 Samba
sudo apt install -y samba
配置 /etc/samba/smb.conf 末尾:
[nas]
comment = Home NAS
path = /mnt/nas
browseable = yes
read only = no
guest ok = no
create mask = 0664
directory mask = 0775
valid users = @sambashare
把当前用户加入 samba 用户组并设密码:
sudo usermod -aG sambashare $USER
sudo smbpasswd -a $USER
sudo systemctl restart smbd
硬盘自动休眠
家用 NAS 最烦的就是硬盘 7×24 一直转。装 hdparm:
sudo apt install -y hdparm
sudo hdparm -S 120 /dev/sda # 10 分钟无活动就休眠
# 测一下能不能正常唤醒
sudo hdparm -y /dev/sda
注意:有些硬盘(尤其 SMR 的)休眠唤醒会很慢,甚至不兼容。如果出现怪问题,把 -S 120 改成 -S 0 禁用休眠。
加几个常用服务
a. transmission(BT 下载)
sudo apt install -y transmission-daemon
sudo systemctl enable transmission-daemon
sudo systemctl start transmission-daemon
# 配置文件:/etc/transmission-daemon/settings.json
# 监听 9091 端口,可以在浏览器里加任务
b. syncthing(多设备同步)
curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmor -o /usr/share/keyrings/syncthing-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update
sudo apt install -y syncthing
sudo systemctl enable syncthing@$USER
sudo systemctl start syncthing@$USER
# 浏览器访问 :8384 配置
c. rclone(挂各种云盘)
curl https://rclone.org/install.sh | sudo bash
rclone config # 交互式配 aliyundrive / onedrive 等
监控
用 netdata 看 CPU、温度、磁盘、内存,装一行:
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --dont-wait
# 浏览器访问 :19999
写在最后
用了大半年了,体验:安静(听不见)、稳定(基本不重启)、够用(千兆网络下读写 100MB/s 左右,日常用足够了)。
树莓派的 ARM 架构唯一需要注意的:有些 Docker 镜像没有 arm64 版本,跑不起来。其他都挺好。