实战PVE:我的双系统、影音库存储最佳设定方案 - 迅雷/Jellyfin/Samba一网打尽
前言
前一期介绍了主机安装Win+PVE双启系统, 这期介绍PVE下Nas的硬盘设定跟分享规划,达到各个设备都能高效无障碍的访问Nas资源
个人使用NAS场景需求如下:
电视、电脑、平板手机各种设备连接看视频跟存取资料 --> Jellyfin跟Samba
宿主机采用Win开机玩游戏时亦能直接读取资料 --> 硬盘格式NTFS或exFAT (不需Win直接读取就不必)
PVE下各个虚拟机(LXC/VM)都可以存取资料 --> Samba或mount point
管理维护备份方便 --> TurnkeyFS提供图形化Samba设定,PVE的备份/复原
不需频繁设定Jellyfin加载新的媒体库 --> mount point 统一集中到/mnt下
明确了需求后,下图是我的应用场景示意图:
这样规划的优点如下:
重新安装宿主系统不需额外设定,只需复原备份的虚拟机即可恢复工作。
各系统独立提供服务,切割完整,依赖较少。
双启动下Win主机也可直接存取硬盘资源。
硬盘已有资料,可以直接挂载到Nas上。
下载的视频,Jellyfin直接读取,不需要再设定新的volume
PVE、Win虚拟机、Jellyfin、Docker等的安装,站内大佬们分享的文章很多就不详细介绍了。本文主要说明用到的Turnkey File Server的图形化Samba管理界面WebDAV跟挂载mount point的设定。
既然是实战教程,说明就简单介绍下:PVE下分2大虚拟机,一个是VM,另一种是LXC(或CT)
VM用来安装独立的虚拟系统比如Win,Mac,Linux等,基本跟宿主机硬件是独立分开,可模拟各种硬件。
LXC安装Linux base的系统,跟VM不同的是LXC下的虚拟系统是跟宿主机(PVE)共享资源,占用资源少,效率高,并且直接LXC/CT提供了各种Linux的预安装模板(比如Turnkey Server模版有安装好的Jellyfin,Wordpress,FileServer,SQL等等等安装完直接设定使用即可),非常方便强大。
另外需注意的是LXC分<特权privileged>跟<无特权unprivileged>模式,差别在于无特权模式为了安全性比较封闭,无法链接使用外部资源,比如把外部samba分享文件夹挂载进来。
接下来就进入安装设定部分:
1)硬盘挂载
硬盘已经挂在到主板上,查询对应的硬盘名称 pve-Disk界面可以看到资源盘是sda1、sdc1跟sdd1,后面mp挂载需要用到。
2)PVE下安装Turnkey File Server
下载Turnkey FS模版
WebDav管理界面ip port,Adv下可以修改服务器细节调整
若不显示上述web管理界面,确认一下安装时有没勾选无特权模式。
3)设定挂载硬盘
刚安装的TurnkeyFileServer主要提供samba cifs服务,因为是无特权模式,需要使用mp方式直接挂载到conf档里(启动前关联好)
在PVE宿主机下编辑刚安装完成的LXC conf设定档,
开启宿主机终端,编辑<自己的TKFS ID>.conf 手动挂上硬盘
nano /etc/pve/lxc/<自己安装时的CT ID>.conf
格式 mpX: /dev/<现有硬盘名称sdX>,mp=/mnt/<欲挂载名称>,backup=0
资源盘不需要备份所以backup是0
ctrl+X,Y存档退出
LXC启动时会自动在目标路径创建mp里设的的文件夹名称
4)设定Samba用户&目录
启动后进入http://<TKFS IP> 设定samba
可按需求多建几个用户,接下来再建立用户群
可设定多个群组,往后可按需求设定可存取的目录,方便管理。
若硬盘是NTFS/exFAT格式接下来的目录权限/拥有权设定可以忽略,以下设定只支持linux原生格式。
拥有权ownership给到root:<刚创建的group>
权限permissions给到0775
(以下继续)
进入Servers-Samba Windows File Sharing 设定smb共享文件夹
再创建需要的分享的目录,有几个硬盘就依序建立
其他硬盘目录也同上依序设定完成
注意:原本构想是只设定一个根mnt为总分享文件夹,但是samba server在提供分享文件夹资讯时并不会读取文件夹内的其他硬盘剩余空间,会导致其他系统写入资料时被判断剩余空间不足(像迅雷下载资源会失败),所以需要针对每个硬盘个别设定分享文件夹。如果只需读取分享文件夹里的内容,则可以直接透过总分享夹/mnt读取即可
一个解决办法是安装mergerfs虚拟整合程序,可解决samba提供正确的剩余空间,但因为硬盘也不多,此文没采用。
再进入每个文件夹,再点选 安全&ACL
选择可写入,save再退出,samba目录设定完成
刚设定的只是linux用户/群,还需要进一步同步成samba用户账号(samba是windows定义的cifs协定)
先关联samba用户,待设定完再重启samba servers
输入好点击Convert users完成设定
再点击restart samba servers重启samba服务,完成
5)确认Samba登入正常
登入windows系统,远端连接smb分享目录登入试试工作正不正常
到此windows或mac迅雷把下载目录设定到分享的samba资料夹。
设定完成后,可以在pve下把TurnkFS设定成开机启动options-boot - yes,这样nas开机后就提供samba服务了。
6)Docker CT/Jellyfin下的设定
同样,在有Jellyfin的LXC下手动填入mp,挂载到/mnt下,设定方法同2)mp挂载硬盘。
再到potainer的Jellyfin下重新设定volumn-media-/mnt即可通吃视频目录。
另外需要注意在jiellyfin添加媒体资料夹library时需要手动填入目录路径,若用鼠标点选方式选择下层资料夹经测试是显示不出来(可能是bug)。
Jellyfin因为是Container所以只能透过替换取代,本身config无法升级或变动,所以当你插入了一个新的资源盘要看里面的视频时又需要从新部署,变成比较麻烦的事,为了更方便的使用,把硬盘用MP的方式挂载在LXC下统一的mnt目录,这样Jellyfin读取的media路径只需要指定到一个mnt下即可,以后的新资源直接mp加载在LXC的mnt下即可,而不需要从新部署Jellyfin。
总结
从刚接触PVE有2个月了,中间从新安装PVE,Docker,Jellyfin,Emby,VM等一直摸索测试也不上20下了吧,最终决定了如上的架构设定最合适我个人的需求,写文章同时截图也挺花时间的,不知不觉节日就这么过完了,希望我的分享对需要的值友们有所帮助,若有错误的地方也请指教,有不同的方案也欢迎讨论,下期介绍一些冷门实用的几款Docker。
喜欢的值友们请点赞、关注、打个赏。谢谢!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
问题不大吧
校验提示文案
原来折腾之心还没熄火
校验提示文案
AlexMahoneFBI
校验提示文案
大梦我自知
校验提示文案
值友8490994641
校验提示文案
值友9594565057
校验提示文案
vicai
--------
挂载写法也是mpX: /dev/,mp=/mnt/,backup=0这种吗?
两个LXC容器挂同一个硬盘不会冲突吗?
校验提示文案
vicai
--------
挂载写法也是mpX: /dev/,mp=/mnt/,backup=0这种吗?
两个LXC容器挂同一个硬盘不会冲突吗?
校验提示文案
值友9594565057
校验提示文案
原来折腾之心还没熄火
校验提示文案
值友8490994641
校验提示文案
问题不大吧
校验提示文案
大梦我自知
校验提示文案
AlexMahoneFBI
校验提示文案