第4章 根据具体的外屏应用场景,选择技术路线
【tl;dr】结束了“用什么”硬件的话题,接下来具体说说应用场景,分析下“用什么”技术路线最合适。
一般来说,服务器通常无人值守(Unattended),显示器、键盘鼠标都不太需要(Headless),基本上都会采用浏览器界面控制的方式来实现基本的管理运维(Maintenance),偶尔需要控制台Console或者SSH连接处理升级、排障之类的事情。
然而宝藏盒、有外屏的宝藏盒并不一样,它可以优雅地融入你的日常使用之中。
所以接下来,希望你能同我一起想想:我是怎么用服务器的?有了外屏后我希望实现什么样的效果。这真的很重要。
如果经过理性思考之后,得到的结论是:“我不太需要”,或者“太麻烦了/太贵了、我还是不折腾了”,那请不必再往下看了,节省的时间不如用来好好优化下服务器配置。
但如果你的结论是:“好像确实有需要”,或者“原来外屏还可以这样用”,那么接下来不如咱们一起理理思路,确定合适你的技术路线,参考下我的具体操作步骤,提前了解关键点和难点,那么大概率可以少走很多弯路。
4.1 以unRAID为例分析应用场景
前面也谈到了,组装服务器的目的是采用unRAID系统平台(Platform),用于日常7x24的下载、存储和影音播放(Use-case),基本上是主要通过unRAID自带功能、辅以部署Docker工具应用实现(Application)。
简称PUA分析,谢谢。
针对我部署和使用unRAID服务器的情况,应用场景可以归纳概括为下表:
| 编号 | Platform | Use-case | Application |
|---|---|---|---|
| PUA-S01 | unRAID | 存储 | unRAID 阵列、SMB/AFP共享、Unassigned Devices |
| PUA-S02 | unRAID | 管理 | unRAID控制台、命令行、SSH |
| PUA-D01 | unRAID+Docker | 备份 | rclone |
| PUA-D02 | unRAID+Docker | 下载 | qbittorrent |
| PUA-D03 | unRAID+Docker | *ARR | radarr,sonarr,jackett |
| PUA-D04 | unRAID+Docker | 影音 | emby-server |
| PUA-D05 | unRAID+Docker | 书籍 | calibre-web |
| PUA-D06 | unRAID+Docker | 监控 | Grafana展示主机和Docker运行状态,适合时序历史数据 |
| PUA-D07 | unRAID+Docker | 监控 | Grafana也同时集中呈现局网内其他设备和应用状态 |
| PUA-V01 | unRAID+VM | 测试 | 只是写本文时候频繁用到 |
(表4-1)我自己unRAID服务器使用场景的PUA分析
可以看到我对服务器的使用有几个特点:
从整体上看,个人感觉还是比较理性的,基本上没有多余动作,不存在为了折腾而折腾的情况
unRAID系统自带功能、主流插件和Docker能够满足我的使用要求,感觉会比较稳
基本上不太会用到虚拟机,负载不会很高,也不太容易出现意外问题
事实上,推而广之的话,对于选择ESXi、PVE等等平台,部署TrueNAS、unRAID、群晖之类的系统,得到的结论会完全不同。强烈建议各位也都自行PUA一下,理性斟酌斟酌;这样也可以极大降低为了折腾而折腾的概率。
那么问题来了:为什么要做PUA分析呢?
这就该说回来外屏显示的设备和技术路线了。
在第3章中,我们总结到目前可选择四种设备驱动外屏,各有特点:
核显:为NAS选择CPU的时候,一般都会考虑要带上核显,性能通常足够;除非不考虑影音视频需求而使用特定服务器CPU。用来实现外屏应用的话,不增加额外投入;运行相对稳定,但配置相对简单。
独立显卡:无核显的时候,应该都会配上独立显卡,至少用来亮机;有时候也会有GPU计算的场景,需要用到。带来的问题就是功耗和散热的问题需要解决。单纯用来实现外屏应用的话,额外投入也相对比较大;但好处是配置简单、运行稳定。
DisplayLink:方案可行,功耗低,不耗费PCI-E插槽;需要考虑下机箱布局和散热即可。挺适合用来驱动外屏的,额外投入相对适中;不好的地方就是运行稳定性稍差,适用场景相对狭窄、个别情况配置难度挺大的。
USB2HDMI:同上。但额外投入最小,稳定性最差,适用场景更少。
如何选择技术路线,除了上述比较直观的因素,我们更希望的是所选择技术路线跟PUA分析的情况大致能够匹配。
比如说我的情况,基本unRAID系统自带功能+Docker就能实现了,我肯定不乐意为了外屏显示、非要整成虚拟机驱动;这种无谓的选择最终影响系统效率和稳定性,实在是得不偿失。
4.2 unRAID系统实现外屏显示应用的技术路线
真的是做了好多测试验证、思考了很久,最终做出一张表,希望胜过千言万语。
我根据不同用来驱动外屏的设备(独显、核显、DisplayLink、USB2HDMI),按照在外屏上驱动和渲染浏览器的不同方式(unRAID、虚拟机),逐一分析了系统配置和软件实现的特点;最重要的是,验证了上述各种组合最后可以达到的效果。
通过这张表,可以更加直观、并且有针对性地做出“硬件选择和系统配置选择”:也就是我说的技术路线选择。
(表4-1)unRAID系统应用外屏的技术路线分析
事实上推而广之的话,对于选择ESXi、PVE等等平台、部署TrueNAS、unRAID、群晖之类的系统,也都可以完成类似的验证和分析。
本文讲完unRAID系统之后,我会在后面的篇章里,针对上述其他主流NAS系统用户的PUA场景逐一进行分析;我也会有针对性地分别做类似的技术路线分析表,以供参考。完整excel文件我会再附上分享下载链接。
4.3 做出合理可行的技术路线选择
说回到我的具体情况。按照(表4-1),结合我自己使用unRAID的PUA场景分析,我加了一列“是否选择”,仔细斟酌以后筛选了一下,表格变成了这个样子:
简称PUA-DiiS表,谢谢
(表4-2)我最终的技术路线选择
对我来说最理想的方案,简单说,就是用独立显卡驱动外屏,作为以GUI模式启动unRAID的主控台,打开浏览器输出到外屏;鼠标键盘就在伸手能够到的地方,随时可以快捷操作(我还是觉得比触摸屏要强)。为了进一步降低资源消耗,我把内置的Firefox浏览器替换成了luakit,实际使用验证了页面渲染效果不错,完全不会出现错排乱排的情况。
当然,把我的独立显卡GT1030去掉,换成核显或者DisplayLink也在考虑范围之内,只不过效果可能会打折。
在第5章中,我会完整地把详细设置操作过程写下来,以供各位参考。当然我也会按照(表4-1)讲解我并没有选择的技术路线。
也就是因为unRAID系统全面性很好,所以按上面PUA-DiiS分析,选择很明确、效果比较满意,基本上不需要纠结太多。如果是 ESXi或PVE平台、虚拟化部署黑群晖、TrueNAS、OMV等系统的话,情况会复杂些、做选择也可能会纠结一下。
按照这个思路通过类似的PUA-DiiS分析,你一定会找到适合你的设备配置和技术实现路线。
比如说,小黄鱼上遇到一位做相关专业工作的兄弟,主机安装直通卡,部署ESXi系统,把控制器直通给TrueNAS Scale系统驱动硬盘阵列,部署ZFS Pool、设置DataSet作为虚拟存储、定时做快照,再通过NFS共享给同样部署在ESXi上面的群晖DSM使用。我觉得这个方案还是很有特点的,在效率和性能耗费不大的情况下,兼顾了DSM使用的方便性、也格外保障了数据安全。
对于这个场景,我基本能确定,可以使用DisplayLink驱动外屏,实现ESXi主机、TrueNAS和ZFS文件系统、以及DSM运行状态的同步展示,还可以实现多面板自动轮播;同时,配合鼠标/键盘做到几个系统的快捷配置管理操作。
我想我会在第7章以此为例,仔细写一下实现过程和效果。
4.4 再回顾一下我是怎么用外屏的
对我来说,在服务器整个应用过程中,外屏很好发挥**“状态显示”和“快捷操作”作用的应用场景(Scenario)**可以大致总结列举如下:
高频度场景(SH1):整屏显示宿主机和设备CPU、GPU、负载、温度、网络、连接、阵列、磁盘、读写、SMART、IPMI、UPS、功耗等等状态
高频度场景(SH2):及时显示关键的unRAID日志、报警、提醒
高频度场景(SH3):显示关键Docker应用的运行状态和负载
中频度场景(SM1):快速操作配置微调、阵列启停、硬盘启停、数据校验、Docker/VM启停、APP/插件更新
中频度场景(SM2):整屏显示qb、calibre、*arr等应用运行情况,也支持快速操作,比如qb快速操作种子增删、启停等等;
中频度场景(SM3):显示局域网内其他设备和应用的运行状态,主要是路由器openwrt、防火墙pfsense、无线设备、白群晖上面的状态、流量、告警等等情况,另外还有Homeassistant实例
低频度场景(SL1):连接前置USB接口设备,快速操作冷备份、迁移数据等等。
低频度场景(SL2):笔记本电脑不在的时候,偶尔作为SSH客户端,连接其他设备修改配置、处理故障等等。
可以看到,对于用外屏做纯状态显示的场景:
适合用unRAID控制台主页面展示的:SH1、SH2、SH3;特点是unRAID开箱即用。
适合用应用本身的WebUI界面展示的:SH3、SM2、SM3;特点也是开箱即用,但需要单独的浏览器标签页,需要多点一下。
可以用grafana集成各个数据源展示的:SH1、SH2、SH3、SM2、SM3;特点是全面、可以过滤显示关键日志信息,而且grafana支持多面板自动轮播。相对来说数据源配置、面板配置稍微复杂些,但其实门槛并不高、只需要耐心。
也可以看到,对于用外屏触摸、鼠标/键盘来快捷操作的场景:
适合用unRAID控制台做管理操作的:SM1、SL1、SL2;特点是开箱即用,方便。
适合/只能用应用本身的WebUI管理操作的:SM2、SL2;没什么特点,堪堪够用救急,毕竟屏幕还是有些小,对console/term界面来说有些难受。但还是比较适合在SM3发现其他设备简单故障时,顺手处理了。
分析到这个程度,有句话还是要再多说一遍:客观地讲,上述场景里面,所有“状态显示”和“快捷操作”其实可以使用手机/pad/电脑浏览器解决;但这需要你主动、定期(或者自动/半自动)的去查看、响应和操作。
这是一种新的相处模式,服务器主动呈现必要的信息,你可以随时看到、不需要惦记,并选择“外屏显示+鼠标操作”、或者偶尔“外屏显示+鼠标键盘操作”。这种“一站式”的体验确实还是蛮不错的。
相信看到这里,你对外屏的应用可能更有画面感了吧。
最后,以下一步写作大纲作为第二篇WHAT的结尾,希望能坚持到最后,敬请期待:
第三篇 HOW 怎么做 (宿主机无法直接实现外屏显示的就不包含进来了)
第5章 unRAID平台
第6章 PVE平台(含黑群晖、OMV、TrueNAS、XigmaNAS虚拟化部署的情况)
第7章 ESXi平台(含黑群晖、OMV、TrueNAS、XigmaNAS虚拟化部署的情况)
第8章 ubuntu系统(debian可参考,含黑群晖、OMV、TrueNAS、XigmaNAS虚拟化部署的情况)
第9章 Windows系统
第10章 TrueNAS Core系统(TrueNAS Scale可参考)
第11章 XigmaNAS系统(暂定)
第四篇 MORE 相关 (把第三篇章涉及到的共性内容统一说了,不再重复)
第12章 Grafana应用基础配置(含ubuntu和docker部署方式)
第13章 VCSA数据源基础配置
第14-22章 为常用各种平台+应用定制Grafana面板
初步计划月底全部写完。
——对此,我非常有信心。

