PVE文件管理新手指南 篇七:LXC容器部署Samba+NFS+Alist搭建轻量级NAS文件服务器,一站式管理本地硬盘和网盘
前言
对于使用PVE搭建AIO服务器的新手玩家来说,装完PVE、设置完网络后,首先要搞定的就是NAS存储服务,它是下载备份、影音播放、游戏、AI绘图、相册、密码、笔记应用等服务的基础。在PVE中,除了虚拟机外,最适合搭建NAS文件服务的方案就是使用LXC容器。一方面能有效隔离宿主与虚拟环境,便于迁移;另一方面与宿主机共享内核和硬件,减少主机上的资源负载,比虚拟机更加轻量、快速和安全。
目标
这里的核心思路是将NAS存储服务本身和Docker环境剥离,作为底层服务运行,配合Docker服务取代黑群晖、威联通等NAS。网络文件服务不需要跑在docker上。当Docker服务宕机时,依然可以通过SMB/NFS/Webdav协议来访问和存取硬盘上的文件。
本篇的搭建方案同样也适用于树莓派等Linux系统。
流程
首先创建好LXC容器:
然后在容器内部署NAS服务:
部署SMB服务
参考我这篇文章
部署NFS服务
参考这篇文章
部署WebDav服务
为了方便后续集中管理本地硬盘和网盘,将本地硬盘和网盘以webdav协议分享给其它应用程序使用,这里选择linux版本的Alist来搭建Webdav服务。
官方文档提供了一键安装脚本,默认安装路径到/opt/alist:
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
获取密码:
# 随机生成一个密码
./alist admin random
# 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
./alist admin set NEW_PASSWORD
之后使用admin+密码登录IP:5244端口即可:
进去后点下方的管理来到管理界面
在个人资料选项卡,可以更改管理员密码:
添加存储:
添加本地硬盘,驱动选择本机存储,重点填写挂载路径和根文件夹路径,其它默认:
挂载路径是显示在alist主页中的文件夹路径根文件夹路径填写之前映射本地硬盘到LXC容器内的目录路径添加完成后,输入IP+5244端口号重新登录即可看到挂载的目录:
之后依法炮制添加你的网盘,例如阿里云盘、百度网盘,部署了小雅docker的可以添加小雅媒体库等等,网上都有教程,这里就不再赘述了:
之后要使用 webdav,在客户端里找到webdav协议 地址写 http://IP或域名:5244/dav/你设定的目录名
,用户 admin,密码写登录密码,即可挂载为本地目录使用。
小结
通过这种方式部署的LXC容器齐活了SMB/NFS/Webdav三大常用网络文件协议,只需要很小的内存和核心开销,就完成了家庭NAS数据的集中管理(我这里给了4核心和2G内存,实际上2核心和1G绰绰有余)。当LXC容器添加本地硬盘作为挂载点后,无论是家庭网络上的设备还是PVE内的其它容器都可以很方便的读写硬盘中的数据。IPv6反代后还能当网盘,出门在外也可以随时随地存取。Alist在线查看文本文件、markdown、图片和视频数据预览是没有问题的,要想在线预览doc、excel甚至psd、cad之类,就要再部署kkfileview、cloudrive、kodbox之类的网盘服务了。
至于像ddns、https反代、emby、jellyfin,stablediffusion这些扩展功能的应用,则单独部署docker环境或虚拟机来跑,或者用另一台性能更强的设备甚至云主机去运行都是可以的。这样即使这些docker服务宕机,NAS数据仍然可以访问。
Win虚拟机运行的Stable Diffusion,映射NAS硬盘存储Stable Diffusion中的数据作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
轩辕昱诚
校验提示文案
轩辕昱诚
校验提示文案