群晖以外的另一种选择, OMV6使用体验
用惯了成品NAS, 突然对开源NAS系统感兴趣了, 萌生了搭一个开源NAS主机的想法. 我平时用的无非就那几个插件, 而这些插件几乎都可以从docker里找到替代. 开源NAS系统功能少一些, 所以占用系统资源也更少. 我使用的是omv6, 全称是open media vault. 底层基于debian 11. 这个系统的主要特点就是简洁明了, 特别实用.
我的硬件
安装步骤
主要功能
关于用户的总结
磁盘管理
通过系统>插件安装虚拟机
安装docker及其可视化管理工具portainer
我所用到的docker
总结
我的硬件
我采用的是一个双盘位的J1900矿渣小主机. 下面一张图可以看到它有多小巧. 有意思的是, 这个机器立起来颜值高了不少.
目前用它运行了不少docker服务, 甚至把mysql, redis服务也放到小主机上, 给我的笔记本减负.
安装步骤
搬运大佬的帖子, https://zhuanlan.zhihu.com/p/357426831, 安装步骤都在里面, 不再赘述, 安装体验像极了早期安装windows.
安装完成后, 从路由器可以看到新的设备加入, 访问它的ip就可以打开web管理页面, 比如我的是http://192.168.6.4/.
主要功能
omv侧边栏上的几大主要模块 其实核心我们需要用到的就是系统, 存储器, 服务和用户这4个.
关于用户的总结
这里需要提一下omv中的用户, 与群晖有一些不同.
1) root用户, 系统安装时就已经创建, 可以通过ssh来进行安装一些服务, 一般不常用. 不能登陆web管理.
2) web管理用户, 系统安装时就已经创建, 此用户用于web管理, 不能进行samba登陆.
3) 一般用户, admin通过web管理页面创建的用户, 并且在omv中也只能看到这种用户, 看不到admin自身和root.
简单总结, 就是web管理用admin, samba挂载用自己创建的用户. 为了方便管理, 这些用户我使用了相同的密码. 这里不涉及用户组, 因为我个人使用暂时用不到复杂权限.
磁盘管理
这里的磁盘可以理解成windows上的计算机管理>磁盘管理. 就是可以直接看到接了几个物理盘.
我希望的是系统和数据分离, 就像平时windows使用时的c盘做系统, 其他盘作存储, 系统挂掉不会影响到资料. 所以在omv上我把系统装到其中一个磁盘, 其他的盘全部使用挂载的方式.
在OMV开启samba共享需要3步:
1) 创建文件系统
从磁盘菜单可以看到列出了所有的磁盘, 我这里将系统安装在东芝的固态, 另一个3T的机械盘作为主数据仓.
创建或者挂载文件系统, 创建会抹除数据, 所以我采取挂载的模式. 为了方便不同系统之间物理拷贝数据, 文件系统我选择了btrfs, 和极空间文件格式一致, 另外使用开源工具可以使windows同样可以读取此格式. 开源仓库为maharmstone/btrfs.
2) 创建共享文件夹
如果权限选了其他的导致共享文件夹没有写的权限, 还可以以下方式调整.
3) 开启samba共享
下一步共享选择需要共享的文件夹
此时就可以在windows上挂载此文件夹.
通过系统>插件安装虚拟机
插件里找到openmediavault-kvm, 点击安装, 安装完成之后就可以从服务里看到虚拟机.
安装docker及其可视化管理工具portainer
需要通过putty连接ssh, 使用root用户登陆, 安装omv-extras-plugins. 语句为:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
再次回到web管理界面刷新就可以看到Docker和Portainer的选项, 根据提示操作完成安装即可.
同样的方式安装portainer
安装完成后以后基本再也用不到这里了, 下次直接打开ip:9000访问portainer即可.
各NAS平台都有自己的docker工具, 为啥更推荐portainer呢, 因为我更希望使用一个更平台都适用的方案来管理docker, 方便我以后在不同平台之间无缝迁移, portainer是不错的选择, 无论在哪个平台安装portainer都很简单, 安装之后管理docker的体验就是一致的了.
其实portainer的用法和群晖上差异不大.
我所用到的docker
1) jellyfin
上文中提到Stack集群, 其实未必一定是集群, 借助它可以用写好的脚本快速部署一个jellyfin.
参考下面的代码, 修改后填到Editor中.
---
version: "2.1"
services:
jellyfin:
image: linuxserver/jellyfin #这是镜像地址
container_name: jellyfin #docker容器名字
environment:
- PUID=0 #上面获取到的用户puid,我的是0
- PGID=0 #上面获取到的用户pgid,我的是0
- TZ=Asia/Shanghai #这里是时区信息,我们中国就改为Asia/Shanghai
- UMASK_SET=022 #optional
volumes: #这里是文件夹映射路径和信息,改为我实际的配置,大家根据情况来
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/share/config:/config #冒号前面是主机路径,就是我们实际的数据地址,冒号后面是容器路径,我的理解,算是个虚拟的,它实际映射出来的地址就是数据真是地址
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/share:/data/tvshows #电视剧数据存放路径
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/迷你世界:/data/movies #电影数据存放路径
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/share/photos:/data/photos #照片数据存放路径
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/share/others:/data/others #其他数据存放路径
ports:
- 8096:8096
devices:
- /dev/dri:/dev/dri #显卡直通, 硬解码用
restart: unless-stopped
注意volumes这里要改成自己本地的路径, 其中/srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610这个值是可以从存储>共享文件夹看到, 在后面就是自定义的路径了.
2) 灯大的filebrowser
灯大的filebrowser需要注意的是volumes里要将本地磁盘绑定到镜像里的/myfiles文件夹, 其他的默认即可.
或者通过命令:
docker run -it --restart always -d --name filebrowser --net=host -e SSL=on -e PUID=0 -e PGID=0 -e WEB_PORT=8083 -v /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/docker/filebrowser:/config -v /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610:/myfiles --mount type=tmpfs,destination=/tmp 80x86/filebrowser:latest
3) 相册
我使用的是开源LibrePhotos/librephotos相册, 支持时间轴和人脸识别.
4) plex
同样使用了Stack编辑配置文件的方法.
---
version: "2.1"
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=0
- PGID=0
- VERSION=docker
volumes:
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610/docker/plex/config:/config
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610:/tv
- /srv/dev-disk-by-uuid-04b5094d-3f37-4a3b-bcd5-c68a07572610:/movies
restart: unless-stopped
plex web管理页面 http://192.168.6.4:32400/web.
我对docker的理解是把docker当成虚拟机就行了, 它有linux的所有目录并将某个目录与你本地的目录绑定, 它需要开放端口, 需要指定网络. 适当了解一些linux相关的知识, 会让你更好的使用docker, 但不需要太多, 我们是实用党.
总结
OMV使用了几天, 感觉逻辑挺简单的, 轻量好用. 如果遇到系统不支持的功能, 也可以从debian11上安装.
个人感觉用除了用户和磁盘管理交给OMV管理, 其他服务全交给docker就可以了, 这样还能避免安装卸载插件影响系统稳定性, 同时也方便迁移.
入坑NAS一年多感觉一直在搜啊搜, 跟着教程试啊试, 想想用再多的NAS产品, 可能最重要的还是知道自己想要什么.
我个人对NAS的期望无非就是一个更好的数据存取的盒子, 像哆啦A梦的口袋, 资料一股脑放进去, 需要的时候又可以翻到自己想用的那件, 仅此而已. 为了更好的管理数据, 我们才会使用像相册, 影音软件, 外网访问方式, 下载工具等等不同的方式.
所以, 无论你用哪个系统提供的这些工具, 工具无好坏, 趁手就行.
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
会游泳的渔
校验提示文案
阿文菌
但是我个人体验了多次后,还是觉得不适应,权限经常出错。
docker的这个LibrePhotos相册我之前也试过,非常占用CPU资源,不知道现在有没有改善。
其实我觉得,DIY的NAS系统,还是黑群晖会香一些。。。
朋友的蜗牛弄的 3617 6.1.7 稳得很,连续开机500多天了,相册也比docker的好用。。
校验提示文案
找了个地狱模式打怪
校验提示文案
yumaomao
校验提示文案
见片鬼类
校验提示文案
值友4325848379
校验提示文案
科波飞尔
校验提示文案
yinhao
校验提示文案
昭华凋
校验提示文案
到处遛狼
曾经光鲜的黑裙穿来穿去穿腻了,不再折腾了,让它本本份份的履行NAS的职能吧。
以性价比名义招进家们的威兼君,使来使去总觉不顺手,差去当NAS备胎吧。
折腾的心儿又邂逅了轻奢的UnRaid,这妞儿看似清纯,实则不好伺候啊,打入冷宫是早晚的事。
这不,江山代有人才出,OMV又要露尖尖角了。想着不折腾会死NAS的千年古训,OMV这盘菜来了也得接吧,香不香呢?炒了再说吧。
俗话说,玩摄影,穷三代。玩NAS呢?会毁一生吗?
校验提示文案
值友1590940412
校验提示文案
davidseiya
校验提示文案
约约
校验提示文案
sunhawk
有官方的文件管理,也要照片管理程序。
文件系统其实也有很多种选择,可以说是丰俭由人。
也许是把大部分选择权都交给了用户,所以对于小白用户来说,上手很困难。
校验提示文案
[已注销]
校验提示文案
neavo
校验提示文案
嘉然辣辣米
校验提示文案
ILLM
校验提示文案
liruisheng
校验提示文案
killer123
正在研究各类插件的玩法,这点群晖强些,APP很齐全
校验提示文案
值友2911134640
校验提示文案
凡尘leo
校验提示文案
糖炒麦芽糖味阿斯巴甜
校验提示文案
YuFa
校验提示文案
冷幽默哈士奇
校验提示文案
崇福人在杭州
校验提示文案
sunhawk
有官方的文件管理,也要照片管理程序。
文件系统其实也有很多种选择,可以说是丰俭由人。
也许是把大部分选择权都交给了用户,所以对于小白用户来说,上手很困难。
校验提示文案
killer123
正在研究各类插件的玩法,这点群晖强些,APP很齐全
校验提示文案
约约
校验提示文案
yumaomao
校验提示文案
到处遛狼
曾经光鲜的黑裙穿来穿去穿腻了,不再折腾了,让它本本份份的履行NAS的职能吧。
以性价比名义招进家们的威兼君,使来使去总觉不顺手,差去当NAS备胎吧。
折腾的心儿又邂逅了轻奢的UnRaid,这妞儿看似清纯,实则不好伺候啊,打入冷宫是早晚的事。
这不,江山代有人才出,OMV又要露尖尖角了。想着不折腾会死NAS的千年古训,OMV这盘菜来了也得接吧,香不香呢?炒了再说吧。
俗话说,玩摄影,穷三代。玩NAS呢?会毁一生吗?
校验提示文案
昭华凋
校验提示文案
liruisheng
校验提示文案
davidseiya
校验提示文案
yinhao
校验提示文案
科波飞尔
校验提示文案
ILLM
校验提示文案
值友1590940412
校验提示文案
找了个地狱模式打怪
校验提示文案
[已注销]
校验提示文案