All In Boom 带来的思考

121 天前
 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 。

7366 次点击
所在节点    程序员
65 条回复
msg7086
120 天前
ESXi 不是一个适合 DIY 的东西。如果掉电了,那是没有 UPS 的锅。如果换证书换炸了,那基本上也是你的锅。ESXi 就是你不动他他就很稳,但是但凡你要搞点什么事,就炸了。这是我从 ESXi 5.5 平台上学来的血泪教训。

PVE 没有很多痛点,只要你熟悉 Linux ,什么都可以按照你的心思来,一切都在你自己的掌握中。怕存磁盘的文件系统断电爆炸?你可以用 lvm raw device 。需要 snapshot ?你可以用 zfs 。需要高可用? ceph 走起。内核补丁打完要不要重启也是你自己决定,想玩集群也可以玩,热迁移到另一台母鸡上然后滚动重启也是可以做到的。

显卡共享算力这个,你买了支持共享共享算力的显卡了吗。
NevadaLi
120 天前
@hez2010 #17 试过了,极慢无比,而且吃很多资源。
yuantinghg
120 天前
切 PVE 吧
iloveayu
120 天前
个人用就 PVE 吧,ESXi 这种黑盒想稳还是得靠原厂 support 。
povsister
120 天前
ESXi 迁移 PVE 用户

稍微会玩一点的,搞 AIO 肯定都还是偏向于使用 linux ,那么 pve 可以 lxc 直接以极低的 overhead 跑 linux 就是一个很大优势。
如果实在需要 guest kernel ,那 pve 也有完善的 vm 支持和模板可以用。

而且,#21 说的很对,如果你对 linux 熟悉,那你甚至可以把 pve 搞成任何你需要的样子。
这一点,ESXi ?就是只能当个 hypervisor 用罢了。
blankmiss
120 天前
@Jinnrry 10 系以下的吗
zbatman
120 天前
@wheat0r 有啥问题吗这句话
roidinev
120 天前
支持 kvm +linux 方案。一切在自己掌控下 也容易更新。就是需要折腾
hertzry
120 天前
Hyper-V 能挂载外部设备。
zyq2280539
120 天前
最近自学了 Linux 运维,感觉底层用 Linux 然后使用 KVM 方式使用虚拟机更方便。😄
512357301
120 天前
boot2docker 无敌
haython
120 天前
之前在公司内部用 pve ,虚拟出来几个机器,不知道怎么回事,过一段时间就会把整个公司网络搞挂掉,只要把这个 pve 机器断网或重启就没事了,最后只能卸载了,后来就没出现过了
LoliconInside
120 天前
@wheat0r
Hyper-V 确实是第一类 VMM ,直接与硬件交互并调度资源,开启 Hyper-V 功能后,Windows 宿主机本身也是作为一个特权虚拟机运行的(类似 Xen 中的 Domain 0 )。
VMWare Workstation 、VirtualBox 等方案就是第二类 VMM ,依赖于宿主机操作系统进行硬件资源分配。
wangsd
120 天前
@wheat0r 确实是这样,开启 Hyper-V 之后,原来的系统会变成一个运行在其上的虚拟机。
n2l
120 天前
@haython DHCP 没关吧
wheat0r
120 天前
@zbatman #27 是把 ESXi 从 VMware 家里开除了吗?
gbadge
120 天前
越少越好,只要必要
hez2010
120 天前
@NevadaLi Windows Admin Center 是装在网关上用来管理集群的,这个网关的资源你得给够。反正我给了 2 核 4G 的资源给它用起来非常流畅。
qizheng22
120 天前
目前选择了 Linux+Docker ,除了远程桌面有点蛋疼。大多数远程桌面不支持 Wayland ,Gnome 的 RDP 不能保存会话,退出远程后,所有程序都关了
4s4IYOLfT1s3InRR
120 天前
上边好几个 v 友都说了 pve 可以解决,非要用 linux+docker ,这不纯若只么,如果只是远程操控自带的 vnc 完全够用

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

https://www.v2ex.com/t/1070200

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

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

© 2021 V2EX