All In Boom 带来的思考

2024-09-04 15:03:05 +08:00
 qizheng22

ESXi 7*24 小时稳定运行两年多,前几天拉闸换灯,没提前关电脑。重新开机时发现有台虚拟机找不到了,无法重新注册。目录里只有-flat.vmdk 文件。后来通过其他虚拟机挂载 vmdk 找回。

没过几天,ESXi 的 ssl 证书到期。替换证书重启无法进入系统。提示:

Shutting down firmware services... 
Using 'simple offset' UEFI RTS mapping policy
Relocating the modules and starting the kernel...

即使指定 ignoreHeadless=TRUE 也无法跳过。

虽然重装 ESXi 解决。但是在故障期间,我试着把硬盘拿出来备份数据,在读取 ESXi 的 VMFS 文件系统遇到不少阻碍。一般的磁盘工具无法识别,还有的只能识别很老版本的 VMFS 文件系统。还有一个数据恢复软件是收费的。

使用 ESXi 的初衷是为了隔离不同系统和运行环境。而 ESXi 稳定可靠,自身占用开销小,接近物理机性能。但是这几年使用中发现不少痛点。

  1. 显卡只能直通某一台虚拟机。如果有多台虚拟机,无法共享 GPU 算力。
  2. 未直通显卡的虚拟机无法 GPU 加速。浏览器/远程桌面等应用只能 CPU 软解码,导致 CPU 使用率占用高。
  3. VMFS 文件系统没有预想的通用,不能方便地通过其他系统或磁盘管理工具拿回文件。

必需基于 ESXi 的 All In One ?

在回答这个问题前,先看 ESXi 带来的优点。

  1. 可以 7*24 在线,只能手动更新。ESXi 本身只提供虚拟平台,只要没有功能 bug 和驱动问题。基本不用更新。
  2. 因为 ESXi 只是一个虚拟平台,在使用过程中非常纯净,不会担心因为安装其他乱七八糟的软件弄坏系统。而且支持 U 盘运行。(我用 U 盘稳定运行过一年,系统是加载到内存里里启动的)
  3. 系统自己占用 1G 多内存,不会有其他内存开销。基于 WEB 管理,非常方便。

如果换其他平台,上面三点如何解决?

  1. 对 7*24 小时的机器来说,影响最大的是重启。windows 现在的更新每月一次,可以关闭自动更新和自动重启。而 linux 大多数更新都不用重启。
  2. 无论是 Windows 还是 Linux ,用户文件基本只在用户目录里。只是一般 Windows 都会给最大权限,其他软件又不规矩,相对于 Linux 确实会产生更多垃圾文件。
  3. 在默认启动图形化系统后,Linux 轻量级桌面环境 xfce ,lxqt 占用内存 1G 以下。即使是 gnome ,kde ,占用 2G 以内。Windows 10 LTSC 是 2G 以下。都是可以接受的。

Windows+Hyper-V 还是 Linux+VMware ?

Windows 平台软件丰富,驱动支持好。Windows 下使用 Linux 子系统或 Docker ,需要开启 Hyper-V 。Hyper-V 虚拟化方案是 Type1 ,对标 ESXi ,性能比 VMware ,VirualBox 这类 Type2 好。能用 GPU 加速,但不支持 USB 。启用 Hyper-V ,会和其他虚拟类软件冲突。虽然最新的 VMWare 和 VirtualBox 虽然已兼容,但性能会有损耗。还有很多如安卓模拟器等依然会冲突。

Linux 下对于程序员来说开发环境搭建方便,大多数开发环境只需一条命令安装,玩 AI 也适合。VSCode ,JetBrains Gateway 等远程开发方案都只支持 Linux 。Linux 下原生支持 Docker ,大多数非图形化程序在 Linux 下运行效率高( Windows 的 Microsoft Defender 扫描,对有很多小文件的项目磁盘 IO 有较大影响)。VMWare Workstation 个人已完全免费,性能好,支持 USB 。

如果选择 Windows ,一定会安装 Linux ,因为 NAS 和 Docker 是刚需。而且现在两块数据机械硬盘都是 EXT4 格式,迁移成本大。

如果选择 Linux ,不一定会安装 Windows 。因为有笔记本电脑,Windows 下的电源管理比 Linux 强多了,笔记本电脑还是首选 Windows 。

9074 次点击
所在节点    程序员
65 条回复
wyxls
2024-09-05 08:50:52 +08:00
从 OP 需求上看,PVE 比较适合而且灵活,想走 Linux 可以直接创一个 LXC 容器出来,当原生 Linux 用,同时兼容 windows 虚拟机,硬件直通也有基本兼容

我自己都是搭配 NAS 的大容量存储,每周给全容器做增量备份操作,只要不是备份挂了,换一套 x86 硬件装上 OS ,然后一通还原就能恢复全部服务

当然如果涉及到生产力,建议还是上商业化的方案
webcape233
2024-09-05 09:03:25 +08:00
以前也试过 pve ,感觉还是麻烦。 现在我是直接 archlinux ,大部分工作直接里面用,一些测试开发环境就是 kvm 虚拟机,用 cockpit 网页版或者 virmanager ,也没必要服务都容器化,直接运行,简单省心性能好,也很稳。
RobinHuuu
2024-09-05 09:12:56 +08:00
linux all in one 就好了
swLoXtOtd89pGg8t
2024-09-05 09:17:11 +08:00
@hez2010 #38 这么看来确实 hyperv 没有 pve 省事,pve 自带的已经很全了, Windows Admin Center 还有各种麻烦
swLoXtOtd89pGg8t
2024-09-05 09:19:09 +08:00
@glcolof #11 是说 vgpu ?我还以为这是老黄的限制。。
user100saysth
2024-09-05 09:37:04 +08:00
话说 OP 的 ALL IN BOOM 处理器是啥//?
glcolof
2024-09-05 09:52:38 +08:00
@NevadaLi 老黄确实对 GPU 虚拟化有限制,HyperV 这个功能可能是微软和老黄达成了什么协议吧……
Greenm
2024-09-05 10:04:03 +08:00
楼主写了这么多对比和分析,什么 vmware ,hyperv ,偏偏就没写 ESXi 的直接对比方案 PVE ,PVE 有着各种个样的优点(我自己也选择的 PVE ),评论也有很多推荐 PVE 的,到底是什么原因让楼主依然选择了 Linux + vmware ?

是 OP 根本没考虑到没听说过 PVE 吗? 没了 PVE 方案的对比,你正文里的方案对比犹如鸡肋,食之无味弃之可惜。
Hopetree
2024-09-05 10:10:25 +08:00
最开始 EXSI ,后面换成 PVE ,我感觉 PVE 可玩性更高,也很稳定,EXSI 是商用的,稳定是第一基本不需要质疑
swLoXtOtd89pGg8t
2024-09-05 10:12:07 +08:00
@glcolof #47 原来如此。。
qizheng22
2024-09-05 10:17:58 +08:00
@Greenm PVE 以前只是装过一次,没用过,所以无法对比。现在用 Linux ,VMware 暂时没用到。用 Docker 是因为很多系统各自需要的数据库对版本有要求,用 Docker 方便实现各版本数据库使用。

CPU 是 7700K ,48GB 内存

以前用 ESXI ,一共 3 个虚拟机:开发环境(数据库,各种中间件),基础服务(NAS 文件共享,云笔记,博客等),开发机(图形化的 Linux ,一般用 idea 或 vscode 远程开发,偶尔连上去),还有一个 windows 备用,基本没启动。偶尔要下载或者 office 等才开。

用 EXSI 时,开发环境和基本服务各分 8G 内存,开发机分 16G 内存。用 Linux+Docker 后,一般 20G 就够用了。
分成不同虚拟机,分配资源还是会有一定浪费,但又不得不留一些剩余。
shentar
2024-09-05 10:21:44 +08:00
我的经验是数据远比系统重要。数据跟系统不要耦合。数据一定是放在标准的文件系统上面,不要指望什么软硬 raid 。重要数据手动复制多份冗余。系统无状态,可随时重装。
8355
2024-09-05 10:22:37 +08:00
可能我会选择 All In Mac Studio / Mac mini
能稍微安心点
但是我确实没有 op 这种连续 2 年多的长期使用经验
yb8Qes1Qae01H0xy
2024-09-05 10:23:01 +08:00
建议 pve+开个 VM 直通硬盘部署 pbs 备份。 无论怎么坏,只要 pbs 的数据(可以用 zfs )在,就可以恢复出来。我实践过最坏的情况是,pve 都坏了,vm 都看不到。

我是按照如下步骤逐一恢复的。
1. 部署 pve
2. 开个 vm 部署 pbs
3. 直通之前有 pbs 数据的 zfs 文件系统的 sata 硬盘到 pbs
4. 在 pbs 里能看到所有的配置和备份的 vm
5. 在 pve 里逐一恢复备份在 pbs 里的 vm

至此,所有的数据和配置都自动恢复了,唯一需要手动的是 pve 里配置 pbs 的存储。

所以 allinboom 没问题,只要备份做得好,怎么 boom 都可以自举恢复(除非 pbs 的数据没了,比如机器爆炸了,硬盘掉电挂了,不过我对 zfs 这方面还是有信心的)
qizheng22
2024-09-05 10:28:07 +08:00
@shentar 赞同。有时候偷懒,软件用 apt install 安装,配置文件在/etc 里。用久了,配置文件里有很多,比如 nginx 。突然 boom 搞起来很麻烦。有些自己都不记得了。
qizheng22
2024-09-05 10:30:37 +08:00
@xinmans zfs 很久以前就听说很好,一直没试过,有点不敢。以前用过 brafs 文件系统,感觉也没多大区别。最后还是选择 ext4 ,毕竟这么多年,还是值得信赖。

硬盘直通是好办法,存储盘直通没问题。但是有时想让其他虚拟机共享 SSD 的速度。直通的话只有一个虚拟机能用了。硬盘有限,其他虚拟机就只能用虚拟磁盘。
zephyru
2024-09-05 10:38:56 +08:00
我装了一圈后,选择了 windows+VMWare Workstation
选择 windows 还是简单,方便维护,家用的稳定性其实也差不多说的过去
不过长时间开机内存占用会维持在高位,重启,也算是正好应对差不多每几个月一次的更新
之前用 wsl 体验不佳,所以也不怎想用 Hyper-V 感觉也没什么明显优势
seven123
2024-09-05 10:44:46 +08:00
ESXI 几年了,只要自己不乱搞,稳得很
qizheng22
2024-09-05 10:53:18 +08:00
@zephyru win 系统开发的话有点烦。项目目录要设置排除目录,虽然一般 ide 会自己做了这个工作。各种环境变量配起来比 linux 烦琐。还有经常改 hosts ,不像 linux 直接 vi /etc/hosts 。不过 win 下的远程桌面体验没得说。但现在的远程开发工具基本都只支持 ssh 连 linux
qizheng22
2024-09-05 10:55:12 +08:00
@seven123 确实稳,不过后面换机器,考虑到它不支持大小核利用,还是尽早切换出来。尤其这次事件,没什么好的工具能读 vmfs 文件系统,让我下定决心换了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1070200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX