背景
经历了大概一年的时间,各种AIO/NAS方案都尝试过了,于是想对各种AIO/NAS方案进行一个总结。
对比
什么都不多说,先把本人使用过的各种AIO/NAS方案对比写在前面:
方案 | 硬件兼容性 | 存储管理 | 虚拟机管理 | 容器管理 | 应用管理 | 难度 |
---|---|---|---|---|---|---|
VMware ESXi | 差 | 一般 | 优秀 | - | - | 简单 |
Proxmox VE | 优秀 | 差 | 一般 | 一般(Podman) | - | 较难 |
Cockpit + KVM | 优秀 | 好 | 好 | 一般(Podman) | - | 难 |
TrueNAS Scale | 优秀 | 优秀 | 好 | 一般(k8s) | 差 | 一般 |
Synology/DSM | 差 | 优秀 | 次优 | 优秀(docker) | 优秀 | 简单 |
以下是在硬件兼容性、存储、虚拟机、容器、应用、难度等方面最优方案:
- 硬件兼容性:PVE/Cockpit/TrueNAS,基本都得益于底层操作系统
- 存储:TrueNAS/Synolog
- 其他方案基本都停留在硬盘管理层面,根本就没有存储管理的概念。当然这里有个例外,那就是PVE,这个后面再说。
- 虚拟机:最优当然是VMware,其次是Synology(突出在于其管理界面)。
- 容器:Synology。其他方案基本都需要借助虚拟机或第三方方案。
- 应用:Synology。这个真的无法反驳,在应用方面,其他方案都差着十万八千里。而这里特别需要提到的就是TrueNAS Scale,搞笑一般的应用,后面再详说。
- 难度:VMware和Synology不愧是行业领导者,用户体验做得真是遥遥领先。
先来个结论吧:如果硬件兼容的话,优先选择VMware或Synology作为底层系统;否则,选择其他方案,再使用虚拟机跑TrueNAS或Synology进行磁盘和应用管理。
希望能够让大家少跑弯路。
关于方案选择
- 硬件兼容的情况下,优先选择VMware和Synology。但由于Synology本身不支持非官方硬件(所以被称为黑群晖),所以VMware是最优方案。同时,由于VMware本身在存储管理、窗口、应用等方案的不足,需要使用虚拟机进行弥补,所以在硬件(HBA卡等)、软件(Docker或Synolog)等方面需要额外投入。
- 次优方案就是TrueNAS和Cockpit。TrueNAS的优秀之处就是其存储管理,而Cockpit就是服务器管理(多方面的)。
- 最不推荐的方案:PVE。PVE本身是个商业产品,经过二次开发可能会更好,但其本身做得实在太烂,后面详说。
VMware ESXi
优点
- 优秀的虚拟化方案
- 优秀的Web管理界面,可以说是遥遥领先。
缺点
- 硬件兼容性差
- 低级的磁盘管理方案(但非常通俗易懂)
- 可扩展性差(非Linux),无应用和容器管理
VMware ESXi虽然在硬件兼容性、存储、应用、容器等方面存在不足(可通过虚拟机弥补),但在解决硬件兼容性的情况下,ESXi在虚拟化方面依然是最优秀的,同时ESXi基本能够做到拿来就用(遥遥领先)。在这一点上,ESXi可以算得上最佳方案。
Proxmox VE(PVE)
基于Debian
优点
- 优秀的硬件兼容性(得益于Debain)
- 半成熟的KVM方案(网上太多在PVE上直接使用qemu/kvm的案例)
缺点
- 垃圾一样的Web管理界面
- 非主流KVM管理方案
- 非主流容器方案Podman(为什么排斥Docker?)
- 垃圾一般的存储管理方案(好像完全不存在,而且晦涩难懂)
- 主机与集群拎不清
一个商业化方案却排斥其他商业化方案,可悲可叹。同时,PVE宣称是虚拟化方案,却连一些基本设置(例如 kernel cmdline)都需要用户自己设置,这无疑是提高了难度,实在无法理解。
作为一个虚拟化方案,磁盘管理 or 存储管理?我真的是傻傻的分不清楚了,还不如像ESXi一样简单做个磁盘管理。有点驴不像驴马不像马,真的是无语了。
PVE是本人使用过的方案中最无语的一个。PVE在虚拟化道路上还是做了很多事的,但问题也在这里,这些事没一件做到优秀,顶多能给个合格/够用/还行的评价。因此,本人给PVE的评价就是『不推荐』。
Cockpit + KVM/libvirtd
优点
- 支持主流Linux发行版本(优秀的硬件兼容性、复用现有服务器、灵活)
- 优秀的Web管理界面(系统、存储、网络、虚拟机、容器管理等)
- 主流KVM/libvirtd管理方案
缺点
- 配置复杂(所有设置都需要用户自己搞定)
- 非主流容器方案(Cockpit抛弃了Docker,转向了花瓶一般的Podman)
Cockpit在存储、网络、虚拟机等方案者提供了基本够用的功能。在需求不复杂的情况下,Cockpit还是非常优秀的。同时,Cockpit与其他方案不冲突,其可以主机或虚拟机中提高易用性。==> 『推荐』
TrueNAS Scale
优点
- 优秀的硬件兼容性(一方面利益于Debain,另一方面是对N卡的支持)
- 优秀的存储管理方案(似乎TrueNAS是除Synology之外唯一提供完整存储管理的方案)
- 优秀的Web管理界面
- 主流KVM/libvirtd管理方案
- 优秀的预设配置,拿来就用(如显卡、虚拟机、硬件直通等设置)
缺点
- 被锁死的底层系统
- 搞笑一般的App方案(残疾版k8s?多数应用无法直接跑起来,目前还没搞明白原因)
- 超级多的BUG(可能是我选择的版本不对,或者是我的姿势不对。还好存储方面算是稳定的,重启一下就可以了)
作为一款商业产品,翻译真的是烂得不要不要的,切换为中文之后很多地方都无法理解。如果你没有一定的英文基础,不建议使用TrueNAS,因为太多地方你会看不明白,而且社区基本没有中文资料,丢了资料你会死得很惨。
Google一下就到论坛,官方文档基本就是垃圾;如果硬件能够兼容Synology,估计没人选择TrueNAS;但存储方面能够与Synology相比的也只有TrueNAS了。
有一点值得吐槽:一个面向商业的操作系统,却把底层的Debian系统锁得那么死,既不方便二次开发,也无法让用户进行定制,估计那些产品经理脑袋有问题(估计人家也没有产品经理,这在Linux行业中是常见的 )。
Synology/DSM
优点
- 优秀的NAS方案
- 优秀的存储管理方案
- 丰富的App
- 优秀的『Virtual Machine Manager』
- 优秀的『Container Manager』(双官方应用)
缺点
- 硬件兼容性差
毕竟咱们是黑户,如果排除这个因素,Synology/DSM无疑是最优方案,但是……
官方出品的『Container Manager』真的是太优秀了,试用了那么多方案,这是唯一一个支持使用compose.yaml
创建容器的前端应用(也可能是我没找到相应入口)。
终极方案
这也是本人经历也各种困难之后选择的方案,主要原因如下:
- TrueNAS:存储管理、虚拟机管理、少量的App(k8s)、Docker(需要一定的努力,以后再写一篇吧)
- 群晖:共享管理、照片管理、Docker、其他应用
- Portainer: 容器管理还得靠这个,k8s和docker都不在话下
- 虚拟机:其他需求
- Cockpit:这个必须提一下,无论是主机还是虚拟机都用得到。