ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

树莓派4B/5搭建OMV NAS全攻略:从安装到远程访问

树莓派4B/5搭建OMV NAS全攻略:从安装到远程访问 树莓派这玩意儿很多人买回来跑个软路由、做个家庭影院就吃灰了。但如果你手头正好有一块树莓派4B或者树莓派5又恰好有一堆移动硬盘闲置那把它改造成一台低功耗NAS性价比其实比直接买成品群晖高得多。我前后用树莓派4B和树莓派5各搭了一套OMV一套放在家里做影音库和备份一套放在工作室当共享盘跑了快两年除了偶尔因为家里跳闸断电需要手动开机基本没出过什么大问题。这篇文章就把我从零搭建到远程访问的完整过程拆开讲包括系统选型、OMV安装、硬盘挂载、共享配置、Docker扩展以及外网访问的几种靠谱方案。不管你是刚接触树莓派的新手还是已经玩过一阵子想进阶的老玩家都能从里面找到能直接抄作业的步骤。1. 为什么偏偏选树莓派加OMV这套组合1.1 树莓派做NAS的真实优势与短板先说结论树莓派做NAS优势在功耗、体积和静音短板在磁盘接口和网络带宽。树莓派4B的典型功耗在3到5瓦左右满载也就7瓦上下一年电费算下来不到五十块钱比一台x86主机动辄几十瓦的待机功耗省太多了。体积上它只有一张信用卡大小随便塞在电视柜角落或者弱电箱里都行完全没有传统NAS那种嗡嗡作响的风扇噪音。但短板也很明显。树莓派4B的USB接口是共享带宽的所有USB口加起来理论带宽受限于USB 2.0控制器虽然接口是USB 3.0但内部总线有瓶颈实际读写速度大概在80到110MB/s之间。树莓派5就好很多PCIe接口可以通过M.2 HAT扩展出NVMe固态读写能跑到800MB/s以上但那个HAT和固态硬盘加起来又是一笔开销。所以如果你只是做家庭文件共享、照片备份、下载机树莓派4B完全够用如果你要跑虚拟机、做视频剪辑的在线素材库那还是老老实实上x86或者树莓派5加NVMe。另一个容易被忽略的点是供电。树莓派4B官方推荐5V 3A电源如果你挂两块2.5寸移动硬盘硬盘启动瞬间的电流冲击很可能让树莓派重启或者硬盘掉盘。我一开始用的是一个杂牌5V 2.5A电源结果每次硬盘休眠唤醒都会导致系统卡死后来换了官方电源加带独立供电的USB Hub才彻底解决。这个坑后面还会详细说。1.2 OMV相比其他NAS系统的取舍逻辑OMV全称OpenMediaVault是一个基于Debian的开源NAS系统。它最大的好处是轻量、免费、插件生态成熟。相比群晖的DSMOMV没有那些花里胡哨的套件但该有的SMB、NFS、FTP、Rsync、Docker、UPS管理全都有而且界面是Web化的配置起来不算复杂。相比TrueNASOMV对硬件要求低得多1GB内存就能跑起来树莓派4B的2GB或4GB版本绰绰有余。我试过在树莓派上直接装Ubuntu Server然后手动配Samba和NFS也能用但每次加硬盘、改权限、配共享都要敲命令时间长了根本记不住。OMV把这些操作都图形化了而且它的插件系统可以一键安装Docker、Portainer、FileBrowser这些常用工具省去了大量折腾时间。当然OMV也有缺点比如它的Web界面偶尔会抽风某些插件更新后需要手动修复依赖但总体来说瑕不掩瑜。还有一个选择是飞牛NAS最近确实很火但飞牛目前主要针对x86平台树莓派上的支持还不完善。所以如果你手头是树莓派OMV仍然是目前最稳妥的选择。1.3 你的树莓派到底该装哪个系统版本这里直接给结论树莓派4B建议装OMV 6基于Debian 11或者OMV 7基于Debian 12树莓派5建议装OMV 7。不要装OMV 5因为它的Debian 10已经停止维护了很多新插件装不上。具体操作上你不需要先装Raspberry Pi OS再装OMV直接下载OMV的树莓派镜像刷入SD卡就行。OMV官方提供了针对树莓派的镜像下载地址在omv-extras的GitHub页面或者SourceForge上都能找到。刷写工具用Raspberry Pi Imager或者balenaEtcher都可以我习惯用Imager因为它可以在刷写前直接配置WiFi、SSH和主机名省得刷完还要接显示器键盘。注意刷写完成后第一次开机树莓派会自动扩展文件系统并重启一次这个过程大概需要三到五分钟不要以为死机了就拔电源。2. 系统安装与基础环境配置的完整流程2.1 镜像刷写与首次启动的细节下载好OMV的树莓派镜像后打开Raspberry Pi Imager选择“使用自定义镜像”然后选中你下载的.img.xz文件。接着点击右下角的齿轮图标配置以下几项主机名设成类似omv-nas这种好记的名字开启SSH并设置密码配置WiFi如果你打算用有线网这步可以跳过但我建议还是配上WiFi作为备用管理通道。时区选Asia/Shanghai键盘布局选us。刷写完成后把SD卡插回树莓派接上网线和电源。等待三分钟左右在路由器管理界面找到树莓派的IP地址或者在浏览器里输入omv-nas.local试试能不能打开。如果能打开OMV的登录页面说明系统已经正常启动了。默认用户名是admin密码是openmediavault第一次登录后立刻去“常规设置”里改掉密码。这里有个小细节OMV的Web界面默认走80端口如果你家里有别的设备占用了80端口可以在“网络”设置里改成别的端口比如8080。改完之后记得用新端口访问。2.2 换源与系统更新的正确姿势OMV默认的软件源是国外的在国内更新起来慢得让人抓狂。所以第一件事就是换源。SSH登录树莓派执行以下命令备份原源文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list把里面的deb.debian.org替换成清华源或者中科大源。以Debian 12为例替换后的内容大概是deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware保存退出后执行sudo apt update sudo apt upgrade -y。这个过程可能要跑十几分钟取决于你更新了多少包。更新完成后建议重启一次。提示OMV的Web界面里也有“更新管理”功能但那个界面有时候会因为源的问题卡住所以我还是习惯先在命令行里把源换好、更新完再回Web界面操作。2.3 磁盘挂载与文件系统选择把移动硬盘插到树莓派上然后在OMV的Web界面里进入“存储器”-“磁盘”你应该能看到新插入的硬盘。如果没看到点一下“扫描”按钮。选中硬盘后点“擦除”选择“快速”擦除即可。擦除完成后进入“文件系统”页面点“创建”选择ext4格式。为什么选ext4而不是NTFS或者exFAT因为ext4是Linux原生文件系统权限管理完善读写性能也最好。NTFS虽然Windows能直接读但在Linux下通过ntfs-3g驱动读写会消耗大量CPU资源树莓派的CPU本来就弱挂NTFS硬盘跑SMB共享速度直接砍半。exFAT虽然兼容性好但不支持Linux的权限体系OMV里配置共享文件夹时会遇到各种权限问题。如果你确实需要Windows和树莓派都能直接读写同一块硬盘我的建议是要么在树莓派上装SMB共享Windows通过网络访问要么把硬盘格式化成ext4然后在Windows上装一个Ext2Fsd之类的工具来读。后者不太稳定不推荐。创建完文件系统后选中它点“挂载”。挂载完成后进入“共享文件夹”页面创建一个共享文件夹比如叫“media”路径选择你刚挂载的硬盘。这个共享文件夹就是后面SMB、NFS、Docker容器挂载的基准路径。3. 共享服务配置与权限管理的实操要点3.1 SMB共享的配置与Windows访问调优SMB是Windows网络共享的标准协议配置好了之后Windows资源管理器里直接输入\树莓派IP就能看到共享文件夹。在OMV里进入“服务”-“SMB/CIFS”-“设置”勾选“启用”。然后进入“共享”标签页点“添加”选择你刚才创建的共享文件夹起个名字比如“media”。这里有几个关键选项需要调整。在“高级设置”里把“启用异步I/O”勾上这个能提升大文件传输性能。“最小接收缓冲区”和“最大接收缓冲区”保持默认就行改大了反而可能出问题。“启用OPLOCKS”建议勾上这是Windows的 opportunistic locks能减少网络往返次数。权限方面OMV默认会创建一个“users”用户组。你需要在“访问权限管理”-“用户”里创建一个和Windows登录名相同的用户比如你的Windows用户名是“zhangsan”那就在OMV里也创建一个“zhangsan”密码设成一样的。然后在共享文件夹的权限设置里把这个用户加到读写权限里。这样Windows访问时就不需要每次输入密码了。实测下来树莓派4B通过SMB传输大文件的速度大概在70到90MB/s之间跑满千兆网口的一半左右。如果你用的是树莓派5加NVMe能跑到110MB/s以上基本跑满千兆。3.2 NFS共享在Linux和播放器上的应用NFS更适合Linux客户端和某些高清播放器。在OMV里进入“服务”-“NFS”-“设置”勾选“启用”。然后在“共享”里添加你的共享文件夹。NFS的权限控制是基于IP的你可以在“客户端”字段里填“192.168.1.0/24”表示允许整个局域网访问或者填具体IP只允许某台设备访问。NFS的好处是性能比SMB略好而且Linux客户端挂载后就像本地目录一样操作体验很流畅。我家的芝杜播放器就是通过NFS挂载树莓派上的影音库播放4K原盘都不卡。配置NFS时注意把“Squash”选项设为“No root squash”否则root用户访问会没有权限。3.3 用户权限与共享文件夹的映射逻辑OMV的权限体系是典型的Linux权限模型用户属于用户组用户组对文件夹有权限用户继承用户组的权限。所以正确的做法是先创建用户组比如“nasusers”然后把所有需要访问NAS的用户都加到这个组里。接着在共享文件夹的“权限”设置里把“nasusers”组设为读写权限其他组设为无权限。这样做的好处是以后加新用户只需要把他加到“nasusers”组里不用一个个文件夹去改权限。另外OMV里有一个“特权”设置可以给某个用户单独提权但除非有特殊需求否则不建议用容易把权限搞乱。还有一个常见问题Windows访问SMB共享时提示“您可能没有权限使用网络资源”。这通常是因为Windows缓存了旧的凭据。解决办法是在Windows的“凭据管理器”里删掉跟树莓派IP相关的条目然后重新访问。4. Docker扩展与常用服务的部署方案4.1 在OMV上安装Docker和PortainerOMV本身不带Docker需要先安装omv-extras插件。SSH登录树莓派执行wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash这个脚本会自动安装omv-extras。安装完成后刷新OMV的Web界面在左侧菜单里会多出一个“OMV-Extras”选项。点进去在“Docker”标签页里点“安装”它会自动安装Docker CE和Portainer。这个过程可能需要几分钟取决于网络速度。安装完成后在浏览器里输入树莓派IP:9000就能打开Portainer的Web界面。第一次打开需要设置admin密码设置完后选择“Local”环境就能看到本地的Docker环境了。4.2 用Docker部署Jellyfin影音服务器Jellyfin是我用得最多的Docker容器用来管理影音库和串流播放。在Portainer里点“Stacks”-“Add stack”起个名字叫“jellyfin”然后把下面的compose内容粘贴进去version: 3 services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin volumes: - /srv/dev-disk-by-uuid-xxxx/config:/config - /srv/dev-disk-by-uuid-xxxx/media:/media ports: - 8096:8096 restart: unless-stopped注意把/srv/dev-disk-by-uuid-xxxx替换成你实际的共享文件夹路径。你可以在OMV的“共享文件夹”页面看到每个文件夹的绝对路径。部署完成后浏览器访问树莓派IP:8096就能打开Jellyfin的初始化向导。Jellyfin在树莓派4B上转码能力有限建议只做直接串流不要开实时转码。如果你的播放设备支持H.264和H.265硬解那Jellyfin只负责把文件传过去就行CPU占用很低。如果遇到不支持的格式可以在Jellyfin的设置里开启“硬件加速”树莓派4B的VideoCore VI支持H.264硬解但H.265只能软解效果一般。4.3 部署qBittorrent做下载机qBittorrent是另一个我常驻的容器用来挂PT下载和普通BT下载。同样在Portainer里新建一个stackversion: 3 services: qbittorrent: image: linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID1000 - PGID1000 - WEBUI_PORT8080 volumes: - /srv/dev-disk-by-uuid-xxxx/config/qbittorrent:/config - /srv/dev-disk-by-uuid-xxxx/downloads:/downloads ports: - 8080:8080 - 6881:6881 - 6881:6881/udp restart: unless-stoppedPUID和PGID需要填你OMV里那个用户的UID和GID可以在SSH里执行id 用户名来查看。部署完成后访问树莓派IP:8080默认用户名admin密码adminadmin进去后第一件事就是改密码。qBittorrent的下载目录建议设在共享文件夹里这样下载完的文件可以直接通过SMB或Jellyfin访问不用再复制一遍。我一般会建两个子目录一个叫“下载中”一个叫“已完成”然后在qBittorrent里设置“已完成”目录为Jellyfin的媒体库目录这样下载完就能直接刮削。5. 远程访问的几种靠谱方案与选择建议5.1 局域网内访问的优化技巧局域网访问是最简单的但也有一些优化空间。首先给树莓派设一个静态IP可以在路由器的DHCP设置里绑定MAC地址或者在OMV的网络设置里直接配静态IP。静态IP的好处是你永远知道NAS的地址不用每次去路由器里查。其次如果你家里有多个网段比如主路由和子路由要确保树莓派和你的访问设备在同一个网段或者配置好路由转发。我遇到过有人把树莓派接在子路由上然后从主路由访问不了折腾了半天才发现是网段隔离的问题。另外如果你经常用Windows访问SMB共享可以在“此电脑”里右键“映射网络驱动器”把\树莓派IP\media映射成Z盘。这样以后打开“此电脑”就能直接看到NAS跟本地硬盘一样方便。5.2 动态公网IP配合DDNS的配置方法如果你家宽带运营商给了公网IP哪怕是动态的那就可以通过DDNS实现外网访问。原理是你的公网IP会变但DDNS服务会持续把你的域名解析到最新的IP上。常用的DDNS服务有DuckDNS、No-IP、花生壳等。我用的最多的是DuckDNS免费而且稳定。配置步骤先在DuckDNS上注册一个域名比如myraspberrynas.duckdns.org然后获取token。接着在OMV的Web界面里进入“服务”-“DDNS”勾选“启用”服务商选DuckDNS填上你的域名和token检查间隔设为5分钟。保存后OMV会每隔5分钟自动更新一次IP。然后在路由器里做端口转发把外网的8096端口转发到树莓派的8096端口Jellyfin把8080端口转发到qBittorrent的Web界面。这样你在外面就能通过myraspberrynas.duckdns.org:8096访问Jellyfin了。注意端口转发会把你家里的服务暴露在公网上所以一定要给所有服务设强密码并且尽量只转发必要的端口。不要把SSH的22端口直接转发出去太危险了。5.3 没有公网IP时的内网穿透替代方案很多宽带运营商现在不给公网IP了尤其是移动宽带。这种情况下DDNS就没用了需要用内网穿透工具。常见的有frp、ZeroTier、Tailscale等。我目前用的是Tailscale因为它配置最简单而且免费版支持100台设备对家庭用户完全够用。Tailscale的原理是建立一个虚拟局域网你所有的设备都装一个Tailscale客户端登录同一个账号它们就能像在同一个局域网里一样互相访问。在树莓派上安装Tailscalecurl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up执行后会输出一个URL在浏览器里打开这个URL登录你的Tailscale账号树莓派就加入网络了。然后在你的手机或笔记本上也装Tailscale客户端登录同一个账号就能通过树莓派的Tailscale IP通常是100.x.x.x访问OMV的Web界面、Jellyfin、SMB共享等所有服务。Tailscale的好处是不需要公网IP不需要端口转发而且所有流量都是加密的。缺点是速度取决于Tailscale的中继服务器有时候会慢一些但看个1080P视频还是没问题的。如果你追求更快的速度可以自己搭一个Derp中继服务器但那就复杂了这里不展开。5.4 远程访问的安全加固清单不管你用哪种远程访问方案安全加固都是必须的。以下是我总结的几条硬性要求所有服务的密码必须强密码至少12位包含大小写字母、数字和符号。OMV的Web界面不要用默认的admin账户新建一个管理员账户把admin禁用或者改名。如果用了端口转发尽量把外网端口改成不常见的比如把8096改成58096减少被扫描的风险。开启OMV的防火墙只放行必要的端口。定期更新系统和Docker镜像修补安全漏洞。如果条件允许给树莓派配一个UPS防止突然断电导致硬盘损坏。我自己的做法是局域网内用SMB和NFS外网用Tailscale完全不开放任何端口转发。这样虽然在外网访问时速度稍慢但安全性最高不用担心被入侵。6. 长期运行中的稳定性维护与踩坑记录6.1 硬盘掉盘与供电不足的排查过程前面提到过我一开始用杂牌电源硬盘频繁掉盘。具体表现是系统日志里出现“USB disconnect”或者“device not ready”的错误然后共享文件夹就访问不了了重启后又恢复正常但过一阵子又掉。排查过程是这样的先换了一根USB数据线没用然后换了一个USB口还是掉最后用万用表测了一下电源的输出电压发现空载时是5.1V但接上硬盘后掉到4.7V明显是供电不足。解决办法是换了一个5V 4A的电源并且给硬盘加了一个带独立供电的USB Hub。从那以后硬盘再也没掉过。所以如果你打算挂多块硬盘电源的余量一定要留足。树莓派4B本身耗电不大但硬盘启动瞬间的电流可能是标称值的两倍以上。6.2 SD卡寿命与系统盘迁移方案树莓派的系统跑在SD卡上而SD卡的读写寿命有限尤其是OMV这种会频繁写日志的系统SD卡可能半年到一年就会坏。我的第一张SD卡用了八个月就出现了坏块系统启动不了。后来我把系统迁移到了一个USB固态硬盘上SD卡只用来引导。迁移方法很简单用一个USB硬盘盒装上一块SSD插到树莓派上然后用Raspberry Pi Imager把OMV镜像刷到SSD上再从SSD启动。树莓派4B支持USB启动但需要先更新EEPROM。具体步骤是在Raspberry Pi OS里执行sudo rpi-eeprom-update -a然后重启再执行sudo raspi-config在“Advanced Options”里选择“Boot Order”设为“USB Boot”。之后把SSD插上拔掉SD卡树莓派就会从SSD启动了。从SSD启动后系统响应速度明显快了很多OMV的Web界面打开速度从原来的三四秒变成了不到一秒。而且SSD的寿命比SD卡长得多不用担心写坏。6.3 定期备份与数据安全的底线思维NAS最重要的是数据不是硬件。所以备份策略一定要有。我的做法是树莓派上的共享文件夹里存一份工作数据然后每天晚上用rsync同步到另一块移动硬盘上。OMV里自带rsync插件可以在“服务”-“Rsync”里配置定时任务。另外重要数据我还会再备份一份到云盘。虽然云盘速度慢但作为最后一道防线还是必要的。我用的是一块旧硬盘做冷备份每个月手动同步一次然后断电存放。这样即使树莓派被雷劈了数据也不会丢。提示不要用RAID做备份。RAID只是提高可用性不能防止误删和病毒。真正的备份必须是多份、异地、离线。6.4 性能调优的几个实用参数最后分享几个我实测有效的性能调优参数。在OMV的SMB设置里把“Socket options”设为TCP_NODELAY能减少小文件传输的延迟。在“额外选项”里加上read raw yes write raw yes max xmit 65535这几个参数能提升大文件传输的吞吐量。另外把树莓派的CPU调度器设为performance模式可以避免CPU降频导致的性能波动echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor这个设置重启后会失效可以加到/etc/rc.local里。不过performance模式会增加功耗和发热如果你的树莓派没有散热片建议还是用默认的ondemand模式。还有一个容易被忽略的点树莓派的网口是千兆的但如果你用的网线是超五类或者更差的可能只能跑百兆。我一开始用了一根旧网线速度死活上不去换了六类线之后才跑满千兆。所以网线这种小细节有时候比系统调优还重要。这套树莓派OMV NAS方案我用了快两年中间换过一次电源、一次SD卡、一次网线系统本身一直很稳定。它可能不是性能最强的NAS但绝对是性价比最高、最安静、最省电的方案之一。如果你手头正好有闲置的树莓派和硬盘不妨花一个周末折腾一下搭好之后你会发现家里有个自己的云盘真的方便很多。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表