不要再在 NAS 上运行你的媒体服务器:而是这样做
我的家庭实验室可能是我最喜欢花时间的爱好,但一年前,我在媒体服务器设置上犯了一个错误。最近,我通过使用一台小型电脑解决了这个问题。
我给我的NAS承担了太多责任
几年前我购买了我的第一台NAS时,我决定用它来存储和观看我实体媒体收藏的数字拷贝。这曾经是,也是现在仍然是一个好主意,但我在设置中犯了一个常见错误,最终让我付出了代价:直接在NAS上运行我的媒体服务器(在这个例子中是Jellyfin)。
从技术上讲,这样的设置可能没有任何问题。如果一次只有一两个人在流式传输你的媒体,普通的 NAS 通常可以轻松应付。
问题开始出现在多个设备同时进行流媒体播放时。有时流媒体内容需要转码,这可能是一个资源密集型的任务,并可能导致服务器挂起。
简单来说,大多数预制的NAS设备,比如我拥有的那些,并不是为了处理繁重的操作任务而设计的,比如将视频转码(特别是4K)到多个设备同时播放。好消息是,如果你愿意迁移到新的服务器,你可以简单地将工作从NAS转移到性能更好的设备上。
一台迷你电脑提升了我的服务器性能
为了使我的媒体服务器更可靠,我专门用一台迷你电脑来运行服务器。之前我买了一台Geekom迷你电脑,并将其改造成类似Steam Machine的家庭娱乐游戏主机。不过我实际上并没有在上面玩多少游戏,所以我决定重新利用这台小电脑,来辅助我的NAS。
我的第一个举动是用一个新的、适合服务器的 Linux 发行版覆盖 Bazzite 操作系统。外面有很多可以选择的发行版,我尝试了几个,包括 TrueNAS 和 Fedora Server,最后选择了 Debian Linux。
我选择它是因为 Debian 的灵活性和稳定性的声誉,再加上 Jellyfin 手册中专门针对在 Debian 和 Ubuntu 上启动服务器的说明和仓库。我对它也比其他选项更熟悉。
安装了 Debian 后,设置 Jellyfin 非常简单,只需通过 SSH 登录设备并按照前面提到的说明运行几个命令。我甚至在 GitHub 上找到了一段脚本,可以将用户数据从我的旧 Jellyfin 服务器迁移过来。这不仅使在新服务器上设置用户账户更容易,还保留了他们的大部分观看历史记录。
我不得不在我的 NAS 上更改这些设置
为了确保我的新 Jellyfin 服务器可以访问我的媒体文件,我必须启动一个文件共享服务,以允许远程访问我 NAS 上的媒体文件夹。启用文件共享后,我可以允许设备——尤其是我的迷你电脑——从中流式传输媒体。
你可能会像我一开始那样担心,远程连接会导致媒体播放不流畅。实际上,只要你选择正确的文件共享协议,并且NAS与服务器之间有可靠的网络连接,这并不是问题。理想情况下,连接应该通过优质以太网线接入本地网络。
现在,大多数 NAS 设备都提供多种文件共享协议,包括 SMB、NFS、FTP 等。哪种协议最适合你可能会有所不同,但我为我的设置选择的是 NFS。NFS 的全称是网络文件系统,我之所以选择 NFS,特别是因为它可以被 Linux 设备原生访问,并且速度快,同时擅长处理大文件,例如我的媒体收藏。
NFS 确实需要一些配置。首先,你不希望任何人都能通过 NFS 访问你的文件。因此,在启用 NFS 后,我只允许一个 IP 地址访问它,即我新的 Jellyfin 服务器的位置。在那台迷你电脑上,我使用终端命令挂载了 NFS,然后给我的 Jellyfin 服务器访问权限。
我还确保在 NFS 设置中,Jellyfin 的地址拥有在 NFS 上读写的权限。这样,当我给媒体添加元数据时,服务器可以将这些元数据保存到媒体文件夹中。
极客指南报告
极客指南报告
订阅即表示您同意接收新闻通讯和营销邮件,并接受 Valnet 的使用条款和隐私政策。您可以随时取消订阅。
还有一件重要的日常维护事情:我经常会重启运行 Jellyfin 服务器的迷你电脑,而我不想每次启动时都手动挂载 NFS 共享。因此,我编辑了 Debian 的 fstab 文件,使其在启动时自动挂载 NFS 共享。
192.168.1.121:/volume1/Media /mnt/my-media nfs _netdev 0 0开头的 IP 地址是 NFS 共享的位置,紧随其后的路径是 NAS 上媒体文件夹的路径。其余信息表示我希望 NFS 共享被挂载的位置和方式。值得注意的是,_netdev 选项告诉我的 Linux 系统它应该等到网络连接建立后再挂载,从而防止挂载失败。
确保你选择了合适的硬件
如果你打算跟随我的脚步,我还有一个建议:确保你买的电脑硬件能够很好地处理媒体流。一个不错的 Nvidia 或 Intel 显卡对于转码来说是理想的。不过我手头没有备用的独立显卡,但我的迷你电脑有第二好的选择:一颗支持 Quick Sync 的 Intel 处理器。
您可以通过阅读我们关于选择用于Plex的迷你电脑的指南(对于Jellyfin同样适用)来了解更多,但需要理解的重要一点是,并非所有CPU都是一样的,尤其是在转码方面。虽然我欣赏AMD的某些方面,但它的处理器在媒体转码能力上无法与Intel相比。帮自己一个忙,确认您潜在服务器中的芯片是Intel支持Quick Sync的芯片之一。



